1.算术运算符
+, -, *, /(得到商),
%, 取余也叫模运算,
++, 自增
++a, 先加再赋值
a++, 先赋值再加
–,自减
2.赋值运算符 =
3.关系运算符
<, >, >=, <=, ==, !=, instance of( 测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。 )
4.逻辑运算符
&&, ||, !
b&&a,b为false,程序不再执行a
5.位运算符 (每一位都要进行比较)
符号 | 描述 | 运算规则 |
---|---|---|
& | 与 | 两个位都为1时,结果才为1 |
| | 或 | 两个位都为0时,结果才为0 |
^ | 异或 | 两个位相同为0,相异为1 |
~ | 取反 | 0变1,1变0 |
<< | 左移 | 各二进位全部左移若干位,高位丢弃,低位补0,即*2,移几位就连乘几个2 |
>> | 右移 | 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移) |
6.条件运算符
? :
三元运算符
x ? y 😒
如果x==true, 结果为y,否则结果为z
7.扩展赋值运算符
+=, -=, *=, /=
a+=b 即 a=a+b
8.字符串连接符 “+”
a=10, b=20,
a+b 会跳出30
“”+a+b 会跳出1020,因为""为字符,即使内容为空
a+b+"" 会跳出30,因为+的计算自左向右