运算符
-
赋值运算符
-
基本赋值运算符:=
- —> 将运算符右边的数据或者变量的值赋值给运算符左边的变量
-
扩展赋值运算符:+=、-=、*=、/=、%=
- 逻辑一样,以+=举例
- a += b; <—> a = a + b;
- 逻辑一样,以+=举例
-
-
算术运算符
-
基本算术运算符:+、-、*、/、%
-
⚠️注意
-
+两边都是数值型数据值时,执行数学加,当两边数据存在字符串时,这时的加会进行字符串拼接
-
/运算符,左右两边都是整数时,表示整除,当有浮点型数据参与运算时,表示浮点除法,结果是小数,整数/0会产生异常,浮点型/0会得到无穷大或者NaN结果
public class Test { public static void main(String[] args) { System.out.println(10/0); //出现异常 System.out.println(10.0/0); //Infinity System.out.println(10/0.0); //Infinity System.out.println(10.0/0.0); //Infinity } }
-
-
-
特殊算术运算符(单目运算符):++、–
-
前缀形式:++a、–a,在参与赋值、运算时会先加1(减1)、再赋值(使用值)
-
后缀形式:a++、a–,在参与赋值、运算时会先赋值(使用值)再进行加1(减1)
int a = 2; int b = 2; int c = 2 * ++a; int d = 2 * b++; //结果:a = 3、b = 3、c = 6、d = 4
-
-
-
关系运算符
- (大于)>、(小于)<、(等于)==、(大于或等于)>=、(小于或等于)<=
- 关系运算符得到的结果是一个boolean型的值
-
逻辑运算符
- (与)&、(或)|、(非)!、(短路与)&&、(短路或)||
- 逻辑运算符两边都是关系运算表达式,且运算结果同样也是boolean型的值
- &与&&、|与||的区别
- &(|)在运算时,如果左边的关系运算表达式的结果可以确定整个逻辑表达式的结果,该逻辑运算符右边的表达式仍然会执行
- &&(||)在运算时,如果左边的关系运算表达式的结果可以确定整个逻辑表达式的结果,该逻辑运算符右边的表达式就不会被执行
-
条件运算符(三目运算符、三元运算符)
- 语法结构:布尔表达式?表达式1:表达式2
- 执行原理:先判断布尔表达式的结果是true还是false,true则执行表达式1,false执行表达式2,整个表达式的结果就是表达式1或者是表达式2的结果。
- ⚠️注意:条件运算表达式不是一个完整的语句,是一个值,常用变量来接收或者用在方法的返回return后
-
运算符优先级
- 如果不使用圆括号,就按照下表中的运算符优先级次序进行计算,同级别的运算符按照从左到右的次序进行计算(除右结合运算符)