1.算数运算符 +,-,*,/,%,++,--
%:取余运算符。得到的是两个相除数据的余数。
/:除法运算符。得到是两个相除数据的商。
字符参与运算:其实是拿该字符对应的数值来操作。‘a’ 97 , ‘A’ 65 , ‘0’ 48
如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--
如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作
2.赋值运算符
基本的赋值运算符:=
扩展的赋值运算符:+=,-=,=,/=,%=,+=
复合赋值运算符其中==隐含了一个强制类型转换==
3.关系运算符 ==,!=,>,>=,<,<=
-
关系运算符的结果都是boolean型,要么是true,要么是false。
-
如果进行多次判断,不能连着写。例如:数学当中的写法,10 < x < 20,但是程序当中不允许这种写法。
-
关系运算符“==”不能误写成“=”,"="代表赋值。
-
= 赋值;
== 判断前后值是否相等,当是基本数据类型时比较的是二进制,当是引用数据类型时比较的是地址。
4.逻辑运算符
& 逻辑与:有false则false。
| 逻辑或:有true则true。
^ 逻辑异或:相同为false,不同为true。
! 逻辑非:非false则true,非true则false。
&& 与(并且):全都是true,才是true;否则就是false
|| 或(或者):至少一个是true,就是true;全都是false,才是false
! 非(取反):本来是true,变成false;本来是false,变成true
&&具有短路效果。左边是false,右边不执行。
&是无论左边是false还是true,右边都会执行
||具有短路效果.左边是true,右边不执行
|是无论左边是false还是true,右边都会执行
5.三元运算符
==(关系表达式)?表达式1:表达式2;==
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
注意
-
必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
-
三元运算符的结果必须被使用。
6.移位运算符
>> 有符号右移
>>有符号右移,对于正数发生右移时,高位直接补0;对于负数发生右移时,高位直接补1
>>> 无符号右移
>>> 无符号右移,无论正数或负数发生右移时,高位都直接补0
<< 左移
<< 左移运算符,值变大,低位补0