1、算数运算符
1.1、基本四则运算:+ - * / %
注意事项:1、0不能作为除数。2、int/int结果还是int,需要使用double来计算。3、%表示取余,不仅使用于int,对double也适用。
1.2、增量赋值运算符:+= -= *= /= %=
a += 1 等价于 a = a + 1
1.3、自增、自减运算符:++ --
b = a++ 等价于 b = a,a = a + 1;b = ++a 等价于 a = a +1,b = a;
2、关系运算符:== != > < >= <=
关系运算符返回值都是boolean类型。
3、逻辑运算符:&& || !
逻辑与&&:两个操作数都为 false,结果为 false,否则结果为 true。
逻辑或||: 两个操作数都为 false,结果为 false,否则结果为 true。
逻辑非!:操作数为 true,结果为 false;操作数为 false,结果为 true。
&&和||遵守短路求值原则。
4、位运算符:& | ~ ^
按位与 &:如果两个二进制位都是 1,则结果为 1,否则结果为 0。
按位或 |:如果两个二进制位都是 0,则结果为 0,否则结果为 1。
按位取反 ~:如果该位为 0 则转为 1,如果该位为 1,则转为 0。
按位异或 ^:如果两个数字的二进制位相同,则结果为 0,相异则结果为 1。
5、移位运算符:>> << >>>
左移 <<:左侧位不要了,右侧补 0。
右移 >>:右侧位不要了,左侧补符号位(正数补0,负数补1)。
无符号右移 >>>:右侧位不要了,左侧补 0。
注意:
1. 左移 1 位,相当于原数字 * 2。左移 N 位,相当于原数字 * 2 的N次方。
2. 右移 1 位,,相当于原数字 / 2。右移 N 位,相当于原数字 / 2 的N次方。
3. 由于计算机计算移位效率高于计算乘除,当某个代码正好乘除 2 的N次方的时候可以用移位运算代替。
6、条件运算符
只有一个:表达式1 ? 表达式2 : 表达式3
当 表达式1 的值为 true 时,整个表达式的值为 表达式2 的值;当 表达式1 的值为 false 时,整个表达式的值为 表达式 3 的值。
Java中的唯一一个三目运算符。