一元运算符
操作数是一个,故称为一元运算符。
运算符
|
含义
|
例子
|
-
|
改变数值的符号,取反
|
-x(-1*x)
|
~
|
逐位取反,属于位运算符
|
~x
|
++
|
自加1
|
x++ 相当于 x = x +1
|
--
|
自减1
|
x--
|
注意:
++x 因为++在前,所以先加后用。
x++ 因为++在后,所以先用后加。
算术运算符(二元运算符)
+
|
加法运算
|
x+y
|
-
|
减法运算
|
x-y
|
*
|
乘法运算
|
x*y
|
/
|
除法运算
|
x/y
|
%
|
取模运算(求余运算)
|
10 % 8 = 2
|
逻辑运算符
作用:用于连接boolean类型的表达式。
-
逻辑与:&、&&(短路) 。只有两边都为true,结果才为true。
true & true = true;
true & false = false;
false & true = false;
false & false = false;
&:无论左边是true是false。右边都运算。
&&:当左边为false时,右边不运算。
-
true | true = true;
true | false = true;
false | true = true;
false | false = false;
|:两边都参与运算。
||:当左边为true。右边不运算。
-
逻辑异或:^。两边相同结果是false,两边不同结果是true。
true ^ true = false;
true ^ false = true;
false ^ true = true;
false ^ false = false;
-
逻辑非:!。结果相反。
!true = false;
!false = true;
移位运算符
-
左移运算符
将运算符左边的对象向左移动运算符右边指定的位数(在低位补0)
8 << 2 = 48;
-
"有符号"右移运算 符
将运算符左边的对象向右移动运算符右边指定的位数。使用符号扩展机制,也就是说,如果值为正,则在高位补0,如果值为负,则在高位补1.
8 >> 2 = 2;
-8 >> 2 = -2;
-
"无符号"右移运算 符
将运算符左边的对象向右移动运算符右边指定的位数。采用0扩展机制,也就是说,无论值的正负,都在高位补0.
8 >>> 2 = 2;
-8 >> >2 = 1073741822;
三目运算符
运用:布尔表达式?表达式1:表达式2
int x = 2, y;
y = (x > 1) ? 2 : 200;//当x > 1时,y = 2;当x <= 1时,y = 200
System.out.println(" y = " + y);
赋值运算符