这次主要是写一下在java运算符中容易出错的地方。
算术赋值运算符
算术赋值运算符只是一种简写,一般用于变量自身的变化。例如:
a += b 就是 a = a+b;
a += b+3 就是 a = a+b+3;
a -= b 就是 a = a-b;
…
逻辑运算符
-
!(逻辑非)
-
&(逻辑与)
-
|(逻辑或)
-
&&(短路与)
-
||(短路或)
特别注意:在“&&”(a&&b)中,如果a为false,则不计算b;在“||”(a||b)中,如果a为true,则不计算b。
例如:
a和b没有变化,因为||后面的语句没有执行。
位运算符
位运算是以二进制(bit)为单位进行运算的,操作数和结果都是整型数据。
提示 -
“>>”有符号右移,高位采用符号位补位时,正数符号位是0,负数符号位是1.
-
“>>>”无符号位右移仅允许用在int和long整数类型,如果用在short和byte数据,在位移之前先转换为int类型。
-
有符号右移n位,相当于操作数除以2的n次方;左移n位,相当于操作数乘以2的n次方。
其他运算符 -
三元运算符(?:)
-
instanceof。判断某个对象是否属于某个类
-
箭头(->)。java 8新增加的,用来声明Lambda表达式。
-
双冒号(::)。java 8新增加的,用于Lambda表达式中方法的引用。
运算符的优先级
*从高到低:*算术运算符——>位运算符——>关系运算符——>逻辑运算符——>赋值运算符。