1、Java运算符分成以下几种:
算术运算符
关系(比较)运算符
逻辑运算符
赋值运算符
其他运算符
以上几种运算符都是比较常用的运算符,还有一种位运算符,我们只需要了解就行了,实际上对于java工程师来说,遇到需要位运算符的几率可能会很小。
2、算术运算符的操作符和描述
操作符 描 述
- 减法 - 左操作数减去右操作数
* 乘法 - 相乘操作符两侧的值
/ 除法 - 左操作数除以右操作数
% 取余 - 左操作数除以右操作数的余数
注意:自增(自减)在前面和在后面的区别:
++y(–y):先将 y 的值自增(自减)1,然后再在当前表达式中使用 y 的值。
y++(y–):先在当前表达式中使用 y 的值,然后再将 y 的值自增(自减)1。
3、 关系(比较)运算符
运算符 描 述
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。
< 检查左操作数的值是否小于右操作数的值,如果是那么条件真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。
== 检查如果两个操作数的值是否相等,如果相等则条件为真。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。
注意:Java中 == 和 equals()方法的区别
== 在基本数据类型的时候就是比较值是否相同,在引用类型时是比较地址
equals 用于判断引用类型的值
4、逻辑运算符
操作符 描述
&& 与,前后两个操作数必须都是true才返回true,否则返回false
& 不短路与,作用与&&相同,但不会短路。
|| 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
| 不短路或,作用与
! 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。
^ 异或,当两个操作数不同时才返回true,如果两个操作数相同则返回false。
5、赋值运算符
操作符 描述
= 简单的赋值运算符,将右操作数的值赋给左侧操作数
+= 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数
-= 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数
*= 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数
/= 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数
%= 取余和赋值操作符,它把左操作数和右操作数取余后赋值给左操作数
6、其他运算符
一、三目运算符(?:)
三目运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
格式:variable x = (expression) ? value if true : value if false
二、instanceof 运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
格式:(Object reference variable) instanceof (class/interface type)
7、位运算符(了解)
操作符 描述
& 如果相对应位都是1,则结果为1,否则为0 | 如果相对应位都是 0,则结果为 0,否则为 1
^ 如果相对应位值相同,则结果为0,否则为1 〜 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。
<< 按位左移运算符。左操作数按位左移右操作数指定的位数。
按位右移运算符。左操作数按位右移右操作数指定的位数。
按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。