运算符
扩展赋值运算符
-
&= 按位与等于
-
|= 按位或等于
-
<<=
-
">>="
-
<<<=
-
^= 按位异或等于
-
%=
拓展规则:
-
必须有两个运算符
-
被拓展的运算符返回值数据必须为数值型
逻辑运算符
-
与 &&
-
或 ||
-
非 !当使用!时有其他逻辑符号时其他逻辑符也取反
&&取反||
短路运算
&&前的为假后边就不执行了 ||前为真后面就不执行了
位运算符
是位与位的运算(与二进制有关)
-
A&B A与B 每一位数都是1为1,不同为0
-
A|B A或B 每一位数有1就为1
-
A^B 每一位数相同则为0,不同则为1
-
~B 取反 0为1,1为0
-
<< 左移 相当于乘2(有可能改变正负) >>右移 相当于除以2(不会改变正负)
-
">>>"无符号右移运算(结果一定为正)
三目运算符
?:条件运算符
x ? y : z x为真则结果为y,反之为z
例
public static void main(String[] args) { int a=9; int b=9; String s=a>b?"biggger":(a==b?"equal":"smaller"); System.out.println(s); }
运算符结合性
结合方向
右向左:赋值运算符,三目运算符
优先级
要增加哪个运算符的优先级,就在哪加括号
面试题
字符串在前后面的都当成字符串运算,字符串在后则正常运算