魔术桌
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • Language - Java - Java SE - 运算符

文章摘要: 运算符用于对变量和值的执行操作。

  • Java运算符共分为6类:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符(三元运算符)

算术运算符(共7个)

运算符名称例子
+加(求和) | 正号x + y | +1
-减(求差) | 负号x - y | -1
*乘(求积)x * y
/除(取整)x / y
%模(取余)x % y
++自增1 = 1++, 2 = ++1
--自减1 = 1--, 0 = --1

注释

  • %计算公式:a % b = a - a / b * b
  • 自增自减(前):1 = 1++,先取值后运算。
  • 自增自减(后):1 = ++1,先运算后取值。

关系(比较)运算符(共6个)

运算符名称例子
==全等x == y
!=不等x != y
<小于x < y
>大于x > y
<=小于等于x <= y
>=大于等于x >= y

逻辑运算符(共3个)

运算符名称描述例子
&逻辑与(并且)若两个条件都为true,则返回true0&0=0, 1&1=1, 0&1=0
&&短路与(并且)若两个条件都为true,则返回true0&&0=0, 1&&1=1, 0&&1=0
|逻辑或两个条件中有1个或2个为true,则返回true0|0=0, 1|1=1, 0|1=1
||短路或两个条件中有1个或2个为true,则返回true0||0=0, 1||1=1, 0||1=1
!逻辑非(逻辑与取反)“逻辑与”的反转结果,若结果为false,则返回true!(0&0)=1, !(1&1)=0, !(0&1)=1
^逻辑异或(逻辑或取反)“逻辑或”的反转结果,若结果为false,则返回true!(0|0)=1, !(1|1)=0, !(0|1)=0

注释

&(逻辑与),|(逻辑或)

  • 即使第一个条件为false,也会继续判断第二个条件,效率低。

&&(短路与),||(短路或)

  • 如果第一个条件为false,就不会再判断第二个条件,效率高。

位运算符(共8个)

  • 位运算符操作的对象是二进制数,因此需要将数据转换为二进制数再进行运算,特别注意进制转换相关知识。Diary-进制
  • 位运算符比除法、乘法计算速度快很多。
运算符名称描述例子
&按位与相对应的位都是1,则结果为1,否则为0
|按位或相对应的位有1个或2个是1,则结果为1,否则为0
^按位异或相对应的位有1个或2个是1,则反转后为0;若都是0,则反转后为1
~按位取反按位取反每一位操作数,即0改成1,1改成0
>>右移低位溢出,符号位不变,并用符号位补溢出的高位100>>2100>>2100>>2 等价于 100/2/2100/2/2100/2/2
<<左移符号位不变,低位补0100>>2100>>2100>>2 等价于 100∗2∗2100*2*2100∗2∗2
>>>无符号右移忽略符号位,低位溢出,高位补0

赋值运算符(共13个)

运算符名称例子等效于
=赋值x = 1x = 1
+=加法赋值x += 1x = x + 1
-=减法赋值x -= 1x = x - 1
*=乘法赋值x *= 1x = x * 1
/=取整赋值x /= 1x = x / 1
%=取余赋值x %= 1x = x % 1
&=位与赋值二进制A &= 二进制B二进制B = 二进制A & 二进制B
|=位或赋值二进制A |= 二进制B二进制B = 二进制A | 二进制B
^=位异或赋值二进制A ^= 二进制B二进制B = 二进制A ^ 二进制B
~=位取反赋值
<<=位左移赋值二进制A <<= 移动的位数二进制B = 二进制A << 移动的位数
>>=位右移赋值二进制A >>= 移动的位数二进制B = 二进制A >> 移动的位数
>>>=位右移补零赋值

注释

复合赋值运算符会进行类型转换。

三元(条件)运算符(共1个)

  • 条件运算符又称为三元运算符。
  • 运算符符号:?(问号)、:(冒号)。
  • 运算时需要操作三个操作数。

案例

// <判断条件> ? <条件为`ture`执行> : <条件为`false`执行>

//案例一
int a = 1;
string data = (a > 0) ? "正确" : "错误";
System.out.println(data)
// 结果是:正确

// 案例二
int a = 1;
string data = (a < 0) ? "正确" : "错误";
System.out.println(data)
// 结果是:错误
更新时间: 2025/11/16 17:17