Java中的运算符

1.算数运算符 + - * / %
/ 取整
% 取余

2.赋值运算符 = += -= *= /= %=
a = b //直接赋值
a += b //相加,返回值赋值给左侧变量,a = a+b
a -= b //相减,返回值赋值给左侧变量,a = a-b
a /= b //相除取整,返回值赋值给左侧变量,a = a/b
a %= b //相除取余,返回值赋值给左侧变量,a = a%b

3.关系运算符,又名比较运算符 > < >= <= == !=
返回true或者false
a == b //比较是否相等
a != b //不等于

4.条件运算符,又名三元运算符 ?...:
condition ? exprIfTrue : exprIfFalse

5.逻辑运算符 && || ! ^^
&& 与 //逻辑与 AND,expr1 && expr2 ,返回第一个假值false;短路计算,(some falsy expression) && (expr) 忽略右侧expr,直接返回false
|| 或 //逻辑或 OR, expr1 || expr2,返回第一个真值true;短路计算,(some truthy expression) || (expr) 忽略右侧expr真假,直接返回true
! 非 //逻辑非,!expr,expr为true,则返回假false,expr为false,返回true
^^ 异或 //expr1^expr2,有且只有一个为true,返回true,否则返回false

6.位运算符 & | ~ ^ << >> >>>
定义a和b的值
a = 10 //00001010
b = 20 //00010100
a & b //按位与AND,两个数相应位都是1,才为1,否则为0;a & b = 00000000 = 0
a | b //按位或OR,两个数相应位有一个1,就为1,否则为0;a | b = 00011110 = 30
~ b //按位非NOT,按位取反,即0变成1,1变成0;~ b = 11101011 = -21 反码、补码运算
a ^ b //按位异或,相应位不相同,才为1,否则为0;a ^ b = 00011110
b << a //左移(看箭头指向),将a的二进制形式向左移b(<32)位,右边用0填充;(b << 2) = 01010000 = 80
b >> a //有符号右移,将a的二进制形式向右移b(<32)位,丢弃被移出的位;(b >> 2) = 00000101 = 5
b >>> a //无符号右移,将a的二进制形式向右移b(<32)位,丢弃被移出的位,左边用0填充;(b >>> 2) = 00000101 = 5;(b >>> 3) = 00000010 = 2

posted @ 2025-10-22 20:14  佩特莉可  阅读(4)  评论(0)    收藏  举报