作者: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中的运算符优先级
如果表达式具有多个运算符,则确定首先需要对哪个运算符求值。操作符在顶部具有较高优先级,在底部具有较低优先级。