算术运算符介绍
常用的几个:
/(除法)
% 取模(取余)
注意:在%的本质,看一个公式a % b = a - a / b * b
++(自增)
作为独立语句使用,两者作用相同。
后++ i++;等价于a=a+1
前++ ++i;等价于a=a+1
作为表达式使用
前++ 先自增后赋值
后++ 先复制后自增
关系运算符(比较运算符)
== != < > <= >= instanceof
关系运算符组成的关系表达式结果是布尔类型
逻辑运算符
短路与&& 短路或|| 取反!
逻辑与& 逻辑或| 逻辑异或^
与:同真为真 或:同假才假 异或:不同为真
&&与&区别:
&&第一个条件为假后面的条件不再进行判断(效率高)
&第一个条件为假后面的条件还会再进行判断
|| 与 | 区别:
|| 第一个条件为ture后面的条件不会判断(效率高)
| 不管第一个条件是什么后面的条件都还会判断
赋值运算符
基本赋值运算符
复合赋值运算符
复合赋值运算符会进行类型转换
(例如:byte a = 1; a + = 2; 这是合理的,等价于 a = (byte)a + 2 ;)
赋值运算符左边只能是变量,右边可以是变量、表达式、常量值
三元运算符
基本语法:条件表达式?表达式1:表达式2;
运算规则:如果条件表达式为真,返回表达式1,否则返回表达式2。
注意:表达式1和表达式2要为可以赋给接受变量的类型(或可以自动转换)。也就是说表达式1和表达式2的返回值和被三元运算符赋值的对象类型匹配或者可以强制类型转化。
运算符优先级
(1). () {} ; ,
(2)单目运算符
(3)算术运算符
(4)位移运算符 << >> >>>
(5)比较运算符
(6)逻辑运算符
(7)三元运算符
(8)赋值运算符
单目运算符( ++ -- ~ !)赋值运算符(= *= /= %= += -= <<= >>= >>>= &= ^= |=)从右向左运算