Java符号运算

算术运算符

符号名称例子解释
+加法A + B将操作数A与操作数B相加,得到它们的和。
-减法A - B从操作数A中减去操作数B,得到它们的差。
*乘法A * B将操作数A与操作数B相乘,得到它们的积。
/除法A / B将操作数A除以操作数B,得到它们的商 (在求取 A 除以 B 的余数时,除数 B 不能为0。如果 B 为0,则会抛出 ArithmeticException 异常)
%取余A % B计算操作数A除以操作数B的余数,即A对B取余的结果 (在进行 A 除以 B 的除法运算时,除数 B 不能为0。如果 B 为0,则会抛出 ArithmeticException 异常。但在浮点数除法中,如果除数为0,结果将会返回正无穷大、负无穷大或 NaN (不是一个数字))
++自增i++将操作数i的值增加1,然后返回增加前的值。
自减i–将操作数i的值减少1,然后返回减少前的值。
++前缀递增++i将操作数x的值增加1,然后返回增加后的值。
前缀递减–i将操作数i的值减少1,然后返回减少后的值。(如果使用自增或自减运算符对超出有效索引范围的索引进行操作,会抛出数组索引越界异常(ArrayIndexOutOfBoundsException)。这是因为操作数超出了列表的有效范围,无法访问或修改不存在的元素。)

关系运算符

符号名称例子解释
==等于A == B判断操作数A是否等于操作数B,如果相等则返回true,否则返回false。 (只适用于值比较,同时可能由于浮点数的精度问题,在比较时会导致不准确的结果)
!=不等于A != B判断操作数A是否不等于操作数B,如果不相等则返回true,否则返回false。
>大于A > B判断操作数A是否大于操作数B,如果A大于B则返回true,否则返回false。
<小于A < B判断操作数A是否小于操作数B,如果A小于B则返回true,否则返回false。
>=大于等于A >= B判断操作数A是否大于等于操作数B,如果A大于等于B则返回true,否则返回false。
<=小于等于A <= B判断操作数A是否小于等于操作数B,如果A小于等于B则返回true,否则返回false。

逻辑运算符

符号名称例子解释
&&逻辑与A && B逻辑与操作符用于判断两个布尔表达式的结果。当且仅当两个操作数都为true时,结果才为true;否则,结果为false。如果第一项A就是False,那么就直接终止,不再查看B值
||逻辑或A || B逻辑或操作符用于判断两个布尔表达式的结果。当两个操作数中至少有一个为true时,结果为true;否则,结果为false。如果第一项A就是True,那么就直接终止,不再查看B值
!逻辑非!A逻辑非操作符用于取反一个布尔表达式的结果。如果操作数为true,则结果为false;如果操作数为false,则结果为true。

位运算符

符号名称例子解释
&按位与A & B对于每个对应的位,只有当两个操作数的对应位都为1时,结果才为1。
|按位或A | B对于每个对应的位,只要两个操作数的对应位之一为1,结果就为1。
^按位异或A ^ B对于每个对应的位,当两个操作数的对应位不相同时,结果为1;否则,结果为0。
~按位取反~A对于每个对应的位,按位取反运算符将0变为1,将1变为0。
<<左移A << B将操作数A的所有位向左移动B位,右侧用0填充。左移B位相当于乘以2的B次方。
>>右移A >> B将操作数A的所有位向右移动B位,若操作数为正数则左侧用0填充,若操作数为负数则左侧用1填充。右移B位相当于除以2的B次方。
>>>A>>>B无符号右移将操作数A的所有位向右移动B位,无论正负数,左侧都用0填充。右移B位相当于无符号除以2的B次方。

赋值运算符

符号名称例子解释
=赋值A = B将操作数B的值赋给操作数A。
+=加法赋值A += B将操作数A与操作数B相加的结果赋给操作数A。等效于A = A + B。
-=减法赋值A -= B将操作数A减去操作数B的结果赋给操作数A。等效于A = A - B。
*=乘法赋值A *= B将操作数A与操作数B相乘的结果赋给操作数A。等效于A = A * B。
/=除法赋值A /= B将操作数A除以操作数B的结果赋给操作数A。等效于A = A / B。
%=取余赋值A %= B将操作数A对操作数B取余的结果赋给操作数A。等效于A = A % B。
&=按位与赋值A &= B将操作数A与操作数B进行按位与操作的结果赋给操作数A。等效于A = A & B。
|=按位或赋值 A |= B将操作数A与操作数B进行按位或操作的结果赋给操作数A。等效于A = A | B。
^=按位异或赋值A ^= B将操作数A与操作数B进行按位异或操作的结果赋给操作数A。等效于A = A ^ B。
<<=左移赋值A <<= B将操作数A左移B位的结果赋给操作数A。等效于A = A << B。
>>=右移赋值A >>= B将操作数A右移B位的结果赋给操作数A。等效于A = A >> B。
>>>=无符号右移赋值A >>>= B将操作数A无符号右移B位的结果赋给操作数A。等效于A = A >>> B。

条件运算符

符号名称例子解释
? :三元条件运算符A ? B : C在条件A成立时返回B,否则返回C。其中,条件A为布尔表达式,如果A为true,则返回B;如果A为false,则返回C。该运算符可以简化条件判断的代码,相当于if A then B else C。

其他运算符

成员访问运算符

符号名称例子解释
()方法调用运算符methodName()使用括号来调用方法,传递参数(如果有)并执行方法。
[]数组访问运算符array[index]使用方括号来访问数组中特定索引位置的元素,索引从0开始。
()类型转换运算符(typeName) value将一个值转换为指定的类型。使用括号将类型名括起来,并将要转换的值放在括号内。
instanceofinstanceof 运算符object instanceof typeName判断一个对象是否是给定类型(或其子类型)的实例。如果是,则返回 true;如果不是,则返回 false。

符号运算符

符号名称例子解释
.成员访问运算符object.property用于访问类、对象或数组的成员,包括属性和方法。
,逗号运算符(a + b, c - d)用于在表达式中分隔多个子表达式,并按顺序依次计算每个子表达式,返回最后一个子表达式的结果。
->lambda运算符(x, y) -> x + y用于定义Lambda表达式,一种函数式编程的特性,用于创建函数接口的匿名方法。
?.条件成员访问运算符object?.property在Java 8之后的版本中引入,用于处理可能为空的对象的属性或方法调用,防止空指针异常。
newnew运算符ClassName object = new ClassName();用于创建新的对象实例。
?:条件运算符condition ? value1 : value2根据条件选择不同的值。类似于三元条件运算符,但语义不同。
::方法引用运算符 ClassName::methodName用于引用方法或构造函数。是Java 8中引入的功能,用于简化Lambda表达式的使用。
synchronizedsynchronized运算符synchronized (object) { … }用于控制多线程访问的同步操作。可以用于方法或代码块,确保同一时间只有一个线程可以执行该代码块。
throwthrow运算符throw new Exception();用于抛出异常。将一个异常对象抛出给程序的调用者,以处理异常情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值