java从零开始学六(运算符)运算符一、赋值运算符号No.
赋值运算符号
描述
1
=
赋值
int num=22; System.out.PRintln("num= "+num); num=num-3; System.out.println("num= "+num);
结果:
num= 22
num= 19
二、一元运算符No.
一元运算符
描述
1
+
正号
2
–
负号
3
!
NOT,否
boolean flag=false; int x=10; //定义一个正数 int y=-30; //定义一个负数 System.out.println("x= "+x); System.out.println("y= "+y); System.out.println("flag= "+flag+"!b= "+!flag);
结果:
x= 10y= -30flag= false !b= true
三、算术运算符算术运行符和数学中的用法一样
No.
算术运算符
描述
1
+
加法
2
–
减法
3
*
乘法
4
/
除法
5
%
取模(取余数)
int i = 10; int j = 3; System.out.println(i+"+"+j +"="+(i+j)); //加法 System.out.println(i+"-"+j +"="+(i-j)); //减法 System.out.println(i+"*"+j +"="+(i*j)); //乘法 System.out.println(i+"/"+j +"="+(i/j)); //除法 System.out.println(i+"%"+j +"="+(i%j)); //取模求余数
结果:
10+3=1310-3=710*3=3010/3=310%3=1
四、关系运算符No.
关系运算符
描述
1
>
大于
2
<
小于
3
>=
大于等于
4
<=
小于等于
5
==
等于
6
!=
不等于
五、自增与自减运算符No.
自增与自减运算符
描述
1
++
自增,变量值加1
2
--
自减,变量值减1
int a=3,b=3; //定义整型变量a,b int x=6,y=6; //定义整型变量x,y System.out.println("a= "+a); //输出变量a的值 System.out.println("a++="+(a++)+" a= "+a); //输入a++和a++之后a的值3,4 System.out.println("b= "+b); System.out.println("++b="+(++b)+" b="+b); //值出++b,和++b之后b的值4,4 System.out.println("x= "+x); System.out.println("x--="+(x--)+" x= "+x); //输出x--和x--之后x的值6,5 System.out.println("y= "+y); System.out.println("--y="+(--y)+" y="+y); //输出--y和--y之后的值5,5
六、逻辑运算符No.
逻辑运算符
描述
1
&
AND,与
2
&&
短路与
3
|
OR,或
4
||
短路或
AND及 OR结果表No.
条件1
条件2
结果
&&(与)
||(或)
1
true
true
true
true
2
true
false
false
true
3
false
true
false
true
4
false
false
false
false
&&”与“&”&&表示短路与对于“与”来说,要求所有的条件都判断,而如果使用“短路与”如果第一个条件为false,则后面的条件将不再判断。“||”与“|”||表示短路或对于“或”来说,要求所有的条件都判断,而如果使用“短路或”如果第一个条件为true,则后面的条件将不再判断。七、括号运算符No.
括号运算符
描述
1
()
提高括号中表达式的优先级
八、位运算符No.
逻辑运算符
描述
1
&
按位与
2
|
按位或
3
^
异或(相同为0,不同为1)
4
~
取反
5
<<
左移位
6
>>
右移位
7
>>>
无符号右移位
位运算的结果表
No.
二进制数1
二进制数1
与操作(&)
或操作(|)
异或操作(^)
1
0
0
0
0
0
2
0
1
0
1
1
3
1
0
0
1
1
4
1
1
1
1
0
九、运算符的优先级优先级
运算符
类
结合性
1
()
括号运算符
由左至右
1
[]
方括号运算符
由左至右
2
!、+(正号)、-(负号)
一元运算符
由右至左
2
~
位逻辑运算符
由右至左
2
++、--
递增与递减运算符
由右至左
3
*、/、%
算术运算符
由左至右
4
+、-
算术运算符
由左至右
5
<<、>>
位左移、右移运算符
由左至右
6
>、>=、<、<=
关系运算符
由左至右
7
==、!=
关系运算符
由左至右
8
&(位运算符AND)
位逻辑运算符
由左至右
9
^(位运算符号XOR)
位逻辑运算符
由左至右
10
|(位运算符号OR)
位逻辑运算符
由左至右
11
&&
逻辑运算符
由左至右
12
||
逻辑运算符
由左至右
13
?:
三目运算符
由右至左
14
=
赋值运算符
由右至左
十、简洁表达式No.
运算符
范例用法
说明
描述
1
+=
a += b
a + b的值存放到a中
a = a + b
2
-=
a -= b
a - b的值存放到a中
a = a - b
3
*=
a *= b
a * b的值存放到a中
a = a * b
4
/=
a /= b
a / b的值存放到a中
a = a / b
5
%=
a %= b
a % b的值存放到a中
a = a % b
简洁表达式的范例No.
运算符
范例
执行前
说明
执行后
a
b
a
b
1
+=
a += b
12
3
a + b的值存放到a中(同a = a + b)
15
3
2
-=
a -= b
12
3
a - b的值存放到a中(同a = a – b)
9
3
3
*=
a *= b
12
3
a * b的值存放到a中(同a = a * b)
36
3
4
/=
a /= b
12
3
a / b的值存放到a中(同a = a / b)
4
3
5
%=
a %= b
12
3
a % b 的值存放到a中(同a = a % b)
0
3
6
b++
a *= b++
12
3
a * b的值存放到a后,b加1(同a = a * b;b++)
36
4
7
++b
a *= ++b
12
3
b加1后,再将a*b的值存放到a(同b++;a=a*b)
48
4
8
b--
a *= b--
12
3
a * b的值存放到a后,b减1(同a=a*b;b--)
36
2
9
--b
a *= --b
12
3
b减1 后,再将a*b的值存放到a(同b--;a=a*b)
24
2