1. 算术运算符
+ - * 加 减 乘
/ 除 整数相除的结果只能是整数,小数参与运算结果才会是小数
% 取模(取余)除法运算只获取余数
2. 数据类型的隐式转换
自动类型提升
取值范围小的数据或变量,赋值给取值范围大的变量,可以直接给
取值范围小的和取值范围大的进行运算,小的会先提升为大的,再进行运算。
byte、short、char三种类型的数据在运算时,会直接先提升为int,再进行运算。
3. 数据类型的强制转换
取值范围大的数据或变量,赋值给取值范围小的变量,需要强制转换,可能会导致数据精度丢失
目标数据类型 变量名 = (目标数据类型)被强转的数据;
4. 字符串和字符的+操作
在表达式依次运算中,有字符串参与的运算,+视为字符串的连接符,将+前后的量视为字符串,进行拼接操作
有字符参与+操作,程序会先将字符转换为ASCII码表中对应的数字,再参与计算
5. 自增自减运算符
自增自减表达式单独写一行,前置后置远算结果是一样的
出现在复合表达式中是,前置是先自增后使用,后置是先使用后自增
6. 赋值运算符及其扩展
= 把赋值运算符右侧的值赋给左侧
+=、-=、*=、/=、%=
把左边跟右边进行运算,把最终的结果赋值给左边,对右边没有任何影响
扩展的赋值运算符中还包含了一个强制转换 a += b ;实际上相当于 a = (byte)(a + b);
7. 关系运算符
又叫比较运算符,结果返回布尔值,true或false
== 、 ! = 、< 、> 、>= 、<=
8. 逻辑运算符
&:逻辑与 |:逻辑或 !非(取反) ^ 异或
短路逻辑运算符,运算结果是一样的,但具有短路效果,即在左边不能确定整个表达式的值时,才会执行右边,可以提高代码运行效率
&& ||
9. 三元运算符
关系表达式 ? 表达式1 :表达式2 ;
计算关系表达式的值;值为真,执行表达式1;值为假,执行表达式2
三元运算符的最终结果一定要被使用,要么赋值给一个变量,要么直接打印出来
10. 运算符的优先级
知道常见的优先级顺序就可,实际使用小括号方便