作者:CHAITANYA SINGH

运算符是表示动作的字符,例如+是表示加法的算术运算符。

Java中的运算符类型有七大类:基本算术运算符、赋值运算符、自增运算符和自减运算符、逻辑运算符、比较(关系)运算符、位运算符、三元运算符

1)基本算术运算符

基本算术运算符是:+, - ,*,/,%,其中+用于加法,-用于减法,*用于乘法,/用于除法,%用于计算两个操作数相除后的余数。

注意:%运算符操作后返回余数,例如:10%5将返回0

算术运算符的例子

输出:

2)赋值运算符

java中的赋值运算符是:=,+=, -=,*=,/=,%=

num2 = num1将变量num1的值赋给变量。

num2 += num1等于num2 = num2 + num1

num2 -= num1等于num2 = num2 - num1

num2 *= num1等于num2 = num2 * num1

num2 /= num1等于num2 = num2 / num1

num2 %= num1等于num2 = num2 % num1

赋值运算符的示例

输出:

3)自增和自减运算符

++和 --

num++ 相当于num = num+1;

num-- 相当于num = num-1;

自增和自减运算符的示例

输出:

4)逻辑运算符

逻辑运算符与二进制变量一起使用,它们主要用于条件语句和循环语句中的评估条件。

java中的逻辑运算符是:&&、|| 、!

假设我们有两个布尔变量b1和b2。

如果b1和b2都为true,则b1 && b2将返回true,否则返回false。

如果b1和b2都为false,则b1 || b2将返回false,否则返回true。

!b1将返回b1的反面,这意味着如果b1为false则!b1返回true,如果b1为true则!b1返回false。

逻辑运算符的示例

输出:

5)比较(关系)运算符

我们在Java中有六个关系运算符:==,!=,>,=,<=

如果左侧和右侧都相等,则==返回true

!=如果左侧不等于运算符的右侧,则返回true。

>如果左侧大于右侧,则返回true。

如果左侧大于或等于右侧,则==返回true。

如果左侧小于或等于右侧,则<=返回true。

关系运算符的示例

注意:这个例子使用的if-else语句是我们下一个教程要讲解的内容,如果你发现它很难理解,那么请先跳过去,等读完了下一个教程后再返回来看这个例子。

输出:

6)按位运算符

有六个按位运算符:&,|,^,〜,<>

按位运算符执行逐位处理。

num1和num2比较num1和num2的相应位,如果两个位相等则生成1,否则返回0。在我们的例子中它将返回:2,这是00000010,因为在num1和num2的二进制形式中只有第二个最后的位匹配。

num1 | num2比较num1和num2的相应位,如果任一位为1,则生成1,否则返回0。在我们的例子中,它将返回31,即00011111

num1 ^ num2比较num1和num2的相应位,如果它们不相等则生成1,否则返回0。在我们的例子中它将返回29,相当于00011101

~num1是一个补码运算符,它只是将位从0更改为1,将1更改为0。在我们的示例中,它将返回-12,其中8位等效于11110100

num1 << 2是左移位运算符,向左移动位,丢弃最左边的位,并将最右边的位赋值为0,在我们的例子中输出为44,相当于00101100

注意:在下面的示例中,我们在此移位运算符的右侧提供2,这是位向左移动两个位置的原因。我们可以更改此数字,并且位将按运算符右侧指定的位数移动。同样适用于右侧操作员。

num1 >> 2是右移位运算符,将位向右移动,丢弃最右位,并将最左位的值赋值为0。在我们的例子中输出为2,相当于00000010

按位运算符的示例

输出:

7)三元运算符

此运算符计算布尔表达式并根据结果分配值。

句法:

如果表达式结果为true,则将冒号( : )之前的第一个值赋值给变量num1,否则将第二个值赋值给变量num1。

三元运算符的例子

输出:

Java中的运算符优先级

如果表达式具有多个运算符,则确定首先需要对哪个运算符求值。操作符在顶部具有较高优先级,在底部具有较低优先级。