Java 基本运算符

1、数学运算符

  • 数学运算符号实现整型数据类型和浮点型数据类型的计算。
数学运算符 名称 示例 作用
+ x + y 求两数之和
- x - y 求两数之差
* x * y 求两数之积
/ x / y 求 x 除以 y 的商
% 取余 x % y 求 x 除以 y 的余数
++ 自加 1 x++ x = x + 1
自减 1 x– x = x - 1
- 反号 y = -x 把 x 取反
  • Java 的数学运算符中还有一种运算符号即数学赋值运算符,如 x += 100 相当于 x = x + 100。对于其他几类运算符也有类似的数学赋值运算符,可见数学赋值运算符仅仅是一种计算表达式的简写。
数学赋值运算符 名称 示例 作用
+= 加赋值 x += y 求两数之和
-= 减赋值 x -= y 求两数之差
*= 乘赋值 x *= y 求两数之积
/= 除赋值 x /= y 求 x 除以 y 的商
%= 取余赋值 x %= y 求 x 除以 y 的余数

2、关系运算符

  • 关系运算符直观来说是进行关系运算的标识符,这里的关系是指两个数值或表达式的比较结果,如对于两整数 x = 100,y = 200,表达式 x < y 的结果是真(true),而表达式 x > y 的结果是假(false)。关系运算的计算结果只有两种:真(true)与假(false),显然这是布尔数据类型。

  • Java 中的关系运算符有 6 种。

关系运算符 名称 示例 作用
> 大于 x > y 如 x > y,则为真,否则为假
< 小于 x < y 如 x < y,则为真,否则为假
>= 大于等于 x >= y 如 x >= y,则为真,否则为假
<= 小于等于 x <= y 如 x <= y,则为真,否则为假
== 等于 x == y 如 x == y,则为真,否则为假
!= 不等于 x != y 如 x != y,则为真,否则为假
  • ==!= 可以用于对象的比较,而对象的比较通常不是很简单地通过对象名字比较或对象类型比较,而是有自己的 equal() 函数,有些情况下两个对象是否相等的函数需要程序员自己编写。

    • == 用于比较基本数据类型的时候,通过比较它们实际的值来判定是否相同;而用于比较引用类型的时候,则是比较两个引用的地址是否相等,也就是是否指向同一个对象。
    • equal() 方法是 java.lang.Object 的方法,也就是所有的 Java 类都会有的方法。它可以被程序员覆盖重写,通过自定义的方式来判定两个对象是否相等。对于字符串 java.lang.String 类来说,它的 equal() 方法用来比较字符串的字符序列是否完全相等。

3、逻辑运算符

  • 逻辑运算符的计算对象是布尔变量。
逻辑运算符 名称 示例 作用
& x & y x,y 都真,则真
\ x \ y x,y 有其一为真,则真
! !x x 为真,则为假,x 为假,则为真
&& x && y x,y 都真,则真
\ x \ y x,y 有其一为真,则真
^ 异或 x ^ y x,y 都为真,或者都为假时,为假
  • &&&||| 计算结果相同,但是二者之间还是有些许区别

    • 对于 &&|| 只要计算完左边的值便可以确定整个表达式的值,右边不必再进行计算。
    • 但是对于 &| 必须把左右两边都计算完后才可以计算结果值。

4、位运算符

  • 位运算操作的对象是位。位运算是两个数据类型相同的数据,转化成二进制表达后再进行相应位的运算。
位运算符 名称 示例 作用
& 按位与 10 & 20 = 0 00001010 & 00010100 = 00000000
\ 按位或 10 \ 20 = 30 00001010 \ 00010100 = 00011110
^ 按位异或 10 ^ 20 = 30 00001010 ^ 00010100 = 00011110

5、位移运算符

  • 位移顾名思义就是位置移动,这里移动的对象是二进制位。
位移运算符 名称 示例 作用
<< 左移运算符 15 << 2 = 60 把数据对象的二进制位依次左移 n 位,右边空出的位置补 0
>> 带符号右移运算符 15 >> 2 = 195 把数据对象的二进制位依次右移 n 位,移出的数补到左边
>>> 不带符号右移运算符 15 >>> 2 = 3 把数据对象的二进制位依次右移 n 位,左边空出的位置补 0
  • 左移 n 位运算相当于把十进制数乘以 2 的 n 次方,不带符号右移 n 位运算相当于把十进制数除以 2 的 n 次方。

6、”?:” 运算符

  • 其使用格式为

    操作数 1 ? 操作数 2 : 操作数 3

  • 操作数 1 也可以是表达式,但操作数 1 的结果必须是布尔值。如果操作数 1 的值为 true,则选择操作数 2,否则选择操作数 3。

7、运算符的优先顺序

  • 运算符是有优先顺序的,当一个表达式中有多个运算符时,它们之间遵守一定的计算顺序。
按照优先顺序递减排列
[]、()
++、–、\
*、/、%
+、-
<<、>>、>>>
<、>、<=、>=
==、!=
=
&
^
&&
\
?:
=、+=、-=、*=、/=、&=、\=、<<=、>>=、>>>=
文章目录
  1. 1. 1、数学运算符
  2. 2. 2、关系运算符
  3. 3. 3、逻辑运算符
  4. 4. 4、位运算符
  5. 5. 5、位移运算符
  6. 6. 6、”?:” 运算符
  7. 7. 7、运算符的优先顺序
隐藏目录