1.算术运算符
- / %
问题1( 字符的+操作)
‘A’ 65
‘a’ 97
‘0’ 48
两个数字计算的结果会变成较大的类型
byte , short ,char —> int —> long —> float —> double问题2(字符串的+操作)
java的编译机制:先编译,再解释
+号左右只要有字符串,那么就是做拼接。
+号左右都是数字,那么就是加法运算。
字符串可以使用+号,跟[任意数据类型]拼接 从左至右运算int b = 6;
//6+6=12
System.out.println(b + "+" + b + "=" + (b + b));//输出结果为6+6=12
System.out.println("5+5="+5+5); //输出结果为5+5=55
- / %
2.自增自减运算符
++ —
前置++: ++i
先加1,后赋值运算
后置++: i++
先赋值运算,后加1 技巧:解析器从左往右读的!!!!!
问题1(隐含了强制类型转换)
3.赋值运算符
= += -= *= /= %=
解释:int a = 10;
a += 20; // a = a + 20;
问题1(隐含了强制类型转换)
4.关系运算符
, < ,>= ,<= , == , !=
5.逻辑运算符
作用: 连接多个”boolean表达式”
& 与 遇false,则false
| 或 遇true则true
! 非 取反
^ 异或 相同为false,不同为true
&& 短路与 左边为false,右边不执行了,因为结果已经确定,效率稍高
|| 短路或 左边为true, 右边不执行, 因为结果已经确定,效率稍高
短路效果解释