Java 操作符(基本运算符)

前言

1、算数操作符

操作符 说明
+
-
*
/
% 取余(取模)
++ 自增
- - 自减
  • 如果有任何运算单元的长度超过 int,那么运算结果就按照最长的长度来计算。

  • 如果任何运算单元的长度都不超过 int,那么运算结果就按照 int 的长度来计算。

  • 自增、自减操作符置前以及置后的区别

    1
    2
    i++;   // 先取值,再运算
    ++i; // 先运算,再取值

2、关系操作符

操作符 说明
> 大于
>= 大于或等于
< 小于
<= 小于或等于
== 是否相等
!= 是否不等

3、逻辑操作符

操作符 说明
& 长路与
&& 短路与
| 长路或
|| 短路或
! 取反
^ 异或,不同 返回真,相同 返回假
  • 长路与 两侧,都会被运算,短路与 只要第一个是 false,第二个就不进行运算了。
  • 长路或 两侧都会被运算,短路或 只要第一个是 true,第二个就不进行运算了。

  • & 和 && 的区别

    • & 有两个作用,分别是 位与 和 逻辑与。
    • && 就是逻辑与。
    • 作为逻辑与,& 和 && 分别表示长路与和短路与。
    • 长路与 两侧,都会被运算。
    • 短路与 只要第一个是 false,第二个就不进行运算了。

4、位操作符

操作符 说明
Integer.toBinaryString() 一个整数的二进制表达
& 位与
| 位或
~ 取非
^ 异或
<< 左移
>> 右移
>>> 无符号右移
  • 将一个十进制整数转换为一个二进制字符串

    1
    2
    int i = 5;
    String b = (Integer.toBinaryString(i)); // 5 的二进制的表达 101
  • 左移

    • 根据一个整数的二进制表达,将其每一位都向左移动,最右边一位补 0。
  • 右移

    • 根据一个整数的二进制表达,将其每一位都向右移动,并在最前面补 0 或 1。
  • 带符号右移

    • 对于正数,带符号右移 >> 会把所有的位右移,并在最前面补 0。
    • 对于负数,带符号右移 >> 会把所有的位右移,并在最前面补 1。
  • 无符号右移

    • 如果是一个负数,那么对应的二进制的第一位是 1。
    • 无符号右移 >>> 会把第一位的 1 也向右移动,导致移动后,第一位变成 0。
    • 这样就会使得负数在无符号右移后,得到一个正数。
  • 简单的说

    • 带符号右移 >> 移动后正的还是正的,负的还是负的,符号不变。
    • 无符号右移 >>> 移动后,变正的了。

5、赋值操作符

操作符 说明
= 赋值
+= 对本身进行运算,并赋值
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
>>>=

6、三元操作符

操作符 说明
? : 三元操作符
  • 表达式 ? 值 1 : 值 2

    • 如果表达式为真 返回值 1。
    • 如果表达式为假 返回值 2。
文章目录
  1. 1. 前言
  2. 2. 1、算数操作符
  3. 3. 2、关系操作符
  4. 4. 3、逻辑操作符
  5. 5. 4、位操作符
  6. 6. 5、赋值操作符
  7. 7. 6、三元操作符
隐藏目录