【前言】昨天学习二进制和十进制之间的转换,是否已经熟练掌握?不熟的话一定要练熟,每个知识点我们都要熟练掌握,基础要打牢。今天我们来学习新内容
一、运算符
1.算数运算符
算数运算符练习
实列讲解:
public class Demo01Operater {
public static
void
main
(
String
[]
args
) {
//
定义变量
int
a
=
5
;
int
b
=
3
;
System
.
out
.
println
(
a
+
b
);
// 8
System
.
out
.
println
(
a
‐
b
);
// 2
System
.
out
.
println
(
a
*
b
);
// 15
System
.
out
.
println
(
a
/
b
);
// 1.66666?
System
.
out
.
println
(
a
%
b
);
// 2
System
.
out
.
println
(
"‐‐‐‐‐‐‐‐‐"
);
//
整数相除
,
结果是整数
,
要得到小数
,
必须有小数参与运算
System
.
out
.
println
(
5.0
/
3
);
// 1.6666666666666667
System
.
out
.
println
(
5
/
3.0
);
// 1.6666666666666667
}
}
提示:Java
中,整数相除结果是整数。
public static
void
main
(
String
[]
args
) {
int
i
=
1234
;
System
.
out
.
println
(
i
/
1000
*
1000
);
//
计算结果是
?
}
%
取余常考面试题
:
System
.
out
.
println
(
5
%
3
);
// ?
System
.
out
.
println
(
‐
5
%
3
);
// ?
System
.
out
.
println
(
5
% ‐
3
);
// ?
System
.
out
.
println
(
‐
5
% ‐
3
);
// ?
注意:取余结果符号与左边符号相同!!!
"++ "
运算,变量自己增长
1
。反之,"
-- "
运算,变量自己减少
1
,用法与
++
一致。
独立运算:
变量在独立运算时,
前
++
和
后
++
没有区别 。
变量
前
++
:例如
++i
。
变量
后
++
:例如
i++
。
混合运算:
和其他变量放在一起,
前
++
和
后
++
就产生了不同。
变量
前
++
:变量
a
自己加
1
,将加
1
后的结果赋值给
b
,也就是说
a
先计算。
a
和
b
的结果都是
2
。
实列讲解:
public static
void
main
(
String
[]
args
) {
int
a
=
1
;
int
b
= ++
a
;
//
先
++,
后
=
赋值
System
.
out
.
println
(
a
);
//
计算结果是
2
System
.
out
.
println
(
b
);
//
计算结果是
2
}
变量
后
++
:变量
a
先把自己的值
1
,赋值给变量
b
,此时变量
b
的值就是
1
,变量
a
自己再加
1
。
a
的
结果是
2
,
b
的结果是
1
。
public static
void
main
(
String
[]
args
) {
int
a
=
1
;
int
b
=
a
++
;
//
先
=
赋值
,
后
++
System
.
out
.
println
(
a
);
//
计算结果是
2
System
.
out
.
println
(
b
);
//
计算结果是
1
}
自增自减面试题
//
面试题:
int
a
=
10
;
int
b
=
10
;
int
c
=
10
;
a
=
b
++
;
// a = 10, b = 11
c
= ‐‐
a
;
// a = 9, c = 9
b
= ++
a
;
// a = 10, b = 10
a
=
c
‐‐
;
// a = 9, c = 8
//
请分别计算出
a,b,c
的值
"+"
符号在字符串中的操作:
"+"
符号在遇到字符串的时候,表示连接、拼接的含义。
"a"+"b"
的结果是
“ab”
,连接含义
实列讲解:
public static
void
main
(
String
[]
args
) {
// +
遇到字符串表示连接
System
.
out
.
println
(
"abc"
+
"def"
);
System
.
out
.
println
(
"abc"
+
5
);
System
.
out
.
println
(
"abc"
+
5
+
5
);
// 1. "abc" + 5 = "abc5"; 2. "abc5" + 5 = "abc55"
System
.
out
.
println
(
"abc"
+
(
5
+
5
));
// 1. 5 + 5 = 10; 2. "abc" + 10 = "abc10"
System
.
out
.
println
(
5
+
5
+
"abc"
);
// 1. 5 + 5 = 10; 2. 10 + "abc" = "10abc"
}
面试题:
System
.
out
.
println
(
"5+5="
+
5
+
5
);
//
输出
?
2.
赋值运算符
![](https://img-blog.csdnimg.cn/71beccc4a52845329024fc94b0005f14.png)
赋值运算符,就是将符号右边的值,赋给左边的变量。
实列讲解:
public static
void
main
(
String
[]
args
) {
//
定义变量
int
i
=
3
;
//
将
3
赋值给变量
i
i
=
i
+
2
;
//
将变量
i
和
2
相加
,
再赋值给变量
i
System
.
out
.
println
(
i
);
// +=:
赋值运算符
,
将
=
左边的变量和
=
右边的值进行操作
,
再赋值给变量
int
j
=
10
;
j
+=
5
;
// j = j + 5
System
.
out
.
println
(
j
);
int
m
=
10
;
m
‐=
5
;
// m = m ‐ 5;
System
.
out
.
println
(
m
);
System
.
out
.
println
(
"‐‐‐‐‐‐‐‐‐‐"
);
byte
b
=
1
;
// b = b + 2; //
错误
:
不兼容的类型
:
从
int
转换到
byte
可能会有损失
// b += 2; //
可以
b
=
(
byte
)(
b
+
2
);
System
.
out
.
println
(
b
);
}
3.比较运算符
比较运算符又叫关系运算符,是两个数据之间进行比较的运算,运算结果都是布尔值
true
或者
false
。
![](https://img-blog.csdnimg.cn/ee778520e83745eb81fef4966d5faba6.png)
实列讲解:
public static
void
main
(
String
[]
args
) {
System
.
out
.
println
(
3
==
3
);
// true
System
.
out
.
println
(
3
==
4
);
// false
System
.
out
.
println
(
3
!=
4
);
// true
System
.
out
.
println
(
3
>
4
);
// false
System
.
out
.
println
(
3
<
4
);
// true
System
.
out
.
println
(
5
<=
4
);
// false
System
.
out
.
println
(
4
>=
4
);
// true
//
注意
int
i
=
3
;
int
j
=
4
;
System
.
out
.
println
(
i
=
j
);
//
将
j
赋值给
i,
输出
i
System
.
out
.
println
(
i
==
j
);
// true
}
今天的内容有点多,本来想把逻辑运算符和三元运算符也整理出来,担心你们吃不消,你们先吃透我上面的那些内容,今天的学习任务就算圆满结束啦!