运算符知识点总结
1.1算术运算符
基本四则运算符:+ - * / %
重点:除法中int/int结果还是int,此时需要使用double来计算;0不能作为除数,会抛出异常;%表示取余,不仅可以对int求模,也可以对double求模。
增量赋值运算符:+= -= = /= %=
例:a += 1;等价于:a = a+1;
自增/自减运算符:++ –
如果不取自增/自减运算的表达式的返回值,则前置自增(减)和后置自增(减)没有区别;如果取表达式的返回值,则前置自增(减)的返回值是自增(减)之后的值,后置自增(减)的返回值是自增(减)之前的值;一般++很常用,但不建议取返回值。
1.2关系运算符
关系运算符:== != < > <= >=
关系运算符的表达式返回值都是double类型。
1.3逻辑运算符
逻辑运算符:&& || !
逻辑运算符的操作个数往往是关系运算符的结果和返回值都是boolean。
短路求值:
对于逻辑与运算来说,左侧的表达式为false,整个表达式的值就确定一定是false,此时不必计算右侧的表达式;对于逻辑或来说,左侧的表达式为true,整个表达式的值就确定一定是true,此时不必计算右侧的表达式
1.4位运算符
位运算符主要有四个:& | ~ ^
java中对数据的操作的最小单位不是字节,而是二进制位,按位操作都是先把数据转换为二进制位数。
按位与&:如果两个二进制数都是1,则结果为1,否则为0 ;
按位或|:如果两个二进制位都是0,则结果为0,否则为1;
按位取反~:如果该位为0,则转为1;为1则转为0;
按位异或^:如果两个数字的二进制位相同,则结果为0.否则为1.
1.5移位运算符
移位运算符有三个:<< >> >>>
左移<<:最左侧位不要,最右侧补0,左移一位相当于2
右移>>:最右侧位不要,最左侧补符号位(正数补0,负数补1),右移一位相当于/2
无符号右移>>>:最右侧位不要,最左侧补0
1.6条件运算符
表达式1?表达式2:表达式3
是java中唯一的一个三目运算符,是条件判断语句的简化写法。