运算符
算术运算符
运算符与表达式
-
运算符:对常量或变量进行操作的符号
-
表达式:用运算符把常量或变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的表达式体现的是不同类型的表达式。
符号 作用 + 加 - 减 * 乘 / 除 % 取余 - 整数相除只能得到整数,要得到小数,必须要有浮点数的参与。
字符的+操作
-
当字符之间进行**+操作时,取字符所对应的ASCII码**值进行运算。
-
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动提升。此时与表达式对应的变量(比如a = b + c,a和b + c的类型需相同)要求与表达式同类型,否则会提示不兼容。
提升规则:
-
byte类型,short类型和char类型将被提升到int类型。
-
整个表达式的类型自动提升到表达式中最高等级操作数同样的类型。
等级顺序:byte,short,char -> int -> long -> float -> double
-
字符串的+操作
- 当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算。
- 在“+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算符。(例如1+2+“abc”的结果为3abc),当连续进行“+”操作时,从左到右逐个执行。
赋值运算符
符号 | 作用 |
---|---|
= | 赋值 |
+= | 加后赋值 |
-= | 减后赋值 |
*= | 乘后赋值 |
/= | 除后赋值 |
%= | 取余后赋值 |
- 注意事项:扩展的赋值运算符隐含了强制类型转换。
逻辑运算符
符号 | 作用 |
---|---|
& | 逻辑与 |
| | 逻辑或 |
^ | 逻辑异或 |
! | 逻辑非 |
短路逻辑运算符
符号 | 作用 | 说明 |
---|---|---|
&& | 短路与 | 作用和&相同,但是有短路效果 |
|| | 短路或 | 作用和|相同,但是有短路效果 |
注意事项:
-
逻辑与&:无论左边真假,右边都要执行。
短路与&&:如果左边为真,右边执行;如果左边为假,右边不执行。
-
逻辑或|:无论左边真假,右边也要执行。
短路或||:如果左边为假,右边执行;如果左边为真,右边不执行。
三元运算符
-
格式:关系表达式 ?表达式1:表达式2;
范例:a > b ? a : b;
-
计算规则:
- 首先计算关系表达式的值。
- 如果值为true,表达式1的值就是运算结果。
- 如果值为false,表达式2的值就是运算结果。
评论区