- 算数运算符:
+、-、*、/、%
与数学不同的是 , java多了一个取余 % ,也就是余数, 比如5%4=1
- 自增自减运算符:
++、-- 有两种形式 : 前加加(减减),或后加加(减减)
如a++、++a、a–、–a
特别的 前加加(减减) 优先级仅次于括号,而后加加(减减)优先级低于赋值
- 关系运算符
< 、> 、= 、<= 、>= 、!= 其中 !=为不等于
如:
int a = 10; int b = 20;
a > b 返回 false
a < b 返回 true
- 逻辑运算符
-
%% 与运算 如: a%%b 只有当 a和b 都为真 时 返回 true
-
|| 或运算 如: a||b 当a 与b 任意一个为真时 返回true
-
! 非运算 如: 假设 a 为 true 则!a 为false
-
- 位运算符
假设 a 为 60 二进制为 11 1100 ,b为13 二进制为 1101
-
& 如果相对应位都是1,则结果为1,否则为0
如:(A&B),得到12,即0000 1100
-
| 如果相对应位都是 0,则结果为 0,否则为 1
如: (A | B)得到61,即 0011 1101
-
^ 如果相对应位值相同,则结果为0,否则为1
如: (A ^ B)得到49,即 0011 0001
-
〜 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
如:(〜A)得到-61,即1100 0011
-
<< 按位左移运算符。左操作数按位左移右操作数指定的位数。
如: A << 2得到240,即 1111 0000
-
>> 按位右移运算符。左操作数按位右移右操作数指定的位数。
如: A >> 2得到15即 1111
-
>>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
如:A>>>2得到15即0000 1111
-
- 赋值运算符
= 、 += 、 -= 、 *= 、 /= 、 %= 、 <<= 、 >>= 、 &= 、^= 、|=
例如:
int a =10; a += 10;//即 a=a+10;
- 条件运算符
表达式 ? a : b;
若表达式为真则返回a,为假则返回b
如:
int a=10; int b=20; int c=(a>b)?a:b;//因为a小于b, 所以c的值应该是 b 为20