Java运算符包括算术运算符,关系运算符,位运算符,逻辑运算符,赋值运算符,其他运算符,这边主要介绍赋值运算符,算术运算符,关系运算符,逻辑运算符,条件运算符。
一.赋值运算符
符号表示:= 执行顺序从右向左执行
例如:int a = 2;表示将2赋值给a
二.算术运算符
符号表示:+(加) -(减) *(乘) /(除) %(取余)
1.算术表达式的结果类型:由该表达式的最大类型决定
2/3 = 0.666 =>2是int型,3是int型,所以结果类型是为int型0
2.除法
如果分母为0;执行会报错,报Java.lang.ArithmeticException
3.特殊一:++ (自增1) --(自减1)
val++ 先取值后运算,++val 先运算后取值
4.特殊二:+= ( C = C+A <=> C +=A ) 同理 -= , *= , /=,%/ 都一样
三.关系运算符(比较运算符)
符号表示:> >= < <= == != 应用于数值类型
关系表达式的结果为boolean
四.逻辑运算符
符号表达式:&&(短路与) ||(逻辑或) !(非)
1.二元运算符:&& 都为true为true,否则为false
2.二元运算符:||都为false为false,否则为true
3.一元运算符:!非true为false,非false为true
4.短路:对于二元运算符,当左侧的表达式能够最终确定结果时,右边的表达式不予执行
int a = 5, b = 4; if (a <b && (a++ > 4)) { a += 2; } System.out.println(a);
例如:这段代码最终执行结果是5,因为a<b不成立,所以a不执行a++和a+2两步骤。但是如果a>b,那么执行结果为8,是因为a>b成立,a++为5>4也成立,a++执行之后的值为6,那么a+=2 ==>a=a+2为8
五.条件运算符(三元运算符)
符号表达式:?::
val x = (条件) ? value if true : value if false
例如:int a = (3>2)?5:6;解释:如果3大于2成立则为5,如果不成立则为6