1、算术运算符
1.1 基本算术运算符
基本算术运算符包含:+ 、- 、* 、/ 、%
- + 加法运算符,用于两数相加
- - 减法运算符,用于两数相减
- * 乘法运算符,用于两数相乘
- / 除法运算符,用于两数相除
- % 取模运算符,用于取两数相除的余数
1.2 自增自减运算符
++ 或 - - 是单目运算符,可以放在操作数的前面或后面
- 自增:++
- 自减:- -
独立运算时,++/--放在操作数前面与后面无异
混合运算时,需考虑先运算还是先取值
1.++/- -在先,先运算后取值
int a = 1;
System.out.println(a);//计算结果是1
int b = ++a;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是2
2.++/- -在后,先取值后运算
int a = 1;
System.out.println(a);//计算结果是1
int b = a++;//相当于:int b=a;a=a+1;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是1
注意:
在运算时,会遇到类型不一致的情况,如大类型遇到小类型和小类型遇到大类型等等
类型自动提升:发生在小类型向大类型转换。如将 int 转换为 double
大类型向小类型转换,需要强制执行,格式是使用一对小圆括号来指定要转换了类型
2、比较运算符/关系运算符
在 Java 中比较运算符包括:
- 相等:==
- 小于号:<
- 大于号:>
- 小于等于:<=
- 大于等于:>=
- 不等于:!=
经过比较运算符运算后的结果是一个布尔类型的值
3、逻辑运算符
逻辑运算符中包括 、,其运算的结果为布尔类型
- 短路与:&&
- 短路或:||
- 非:!
- 异或:^
- 逻辑与:&
- 逻辑或: |
注意:
&&的短路效果是:当表达中找到 false 后,后面的值就不用计算了,直接返回 false 值;
||的短路效果是:当表达中找到 true 后,后面的值就不用计算了,直接返回 true 值;
一般逻辑运算符则是会将两边都进行计算后再判断是否为ture/false;
所以在实际应用中,使用短路逻辑运算符会比一般逻辑运算符的效率快,所以优先考虑短路逻辑
4、位移运算符
位移运算:
- 左移: <<
- 右移: >>
- 无符号左移: <<<
- 无符号右移: >>>
左移 <<:所有位向左移, 最右侧补 0
右移 >>:所有位向右移 , 最左侧补符号位 ( 正数补 0, 负数补 1)