Java 中的运算符


2021年8月23日, Learn eTutorial
1800

在本教程中,您将通过简单易懂的示例,学习 Java 中用于处理逻辑、算术等计算的各种运算符。

什么是运算符?

运算符是执行某种计算的特殊符号。运算符作用的对象或值被称为操作数,运算符和操作数的组合被称为表达式。例如,3+6=9 是一个表达式,其中 3、6 和 9 是操作数,而 + 和 = 是运算符。

What are operators?

运算符的分类

根据操作的类型,Java 运算符主要分为 6 大类。

operators classification

Java 算术运算符

Java 中的算术运算符用于对变量和数据执行加、减、乘等计算。下表列出了与算术计算相关的常用运算符,以方便参考。

运算符 含义 描述 示例
+ 加法 将两个操作数相加 10+2=12
- 减法 从左操作数中减去右操作数 10-2=8
* 乘法 将两个操作数相乘 10*2=20
/ 除法 将左操作数除以右操作数 10/2=5
% 取模 除法后的余数 10%2=0

示例:算术运算符


public class OpEx {

 public static void main(String[] args) {
  
  //declaring integer variables
  int a =10, b= 2;
  
  // + operator for addition
   System.out.println("a + b = " + (a + b));
  
  //  - operator for subtraction
   System.out.println("a - b = " + (a - b));
   
  // * operator for multiplication
   System.out.println("a * b = " + (a * b));
  
  // / operator for division
   System.out.println("a / b = " + (a / b));
   
  // % operator for division to obtain remainder
  System.out.println("a % b = " + (a % b));
 }

}

 

输出


a + b = 12
a - b = 8
a * b = 20
a / b = 5
a % b = 0

Java 关系运算符

关系运算符比较左侧(LHS)和右侧(RHS)提供的数据,以给出二进制输出,即 True 或 False。以下是使用两个操作数 6 和 9 演示的六种运算符。

运算符 含义  描述 示例
== 等于 如果两个操作数相等,则返回 True 6==9 返回 False
!= 不等于 如果两个操作数不相等,则返回 True 6!=9 返回 True
大于 如果左操作数大于右操作数,则返回 True 6>9 返回 False
小于 如果左操作数小于右操作数,则返回 True 6<9 返回 True
>= 大于或等于 如果左操作数大于或等于右操作数,则返回 True 6>=9 返回 False
<= 小于或等于 如果左操作数小于或等于右操作数,则返回 True 6<=9 返回 True

示例:关系运算符


public class OpEx {

    public static void main(String[] args) {

        // declaring variables
        int a = 6, b = 9;

        // value of a and b
        System.out.println("a = " + a + " and b = " + b);

        // == operator
        System.out.println(a == b); // 6 == 9 returns false

        // != operator
        System.out.println(a != b); // 6 != 9 returns true

        // > operator
        System.out.println(a > b); // 6 > 9 returns false

        // < operator
        System.out.println(a < b); // 6 < 9 returns true

        // >= operator
        System.out.println(a >= b); // 6 >= 9 returns false

        // <= operator
        System.out.println(a <= b); // 6 <= 9 returns true
    }
}
 

Java 逻辑运算符

逻辑运算符执行二进制操作,以在机器级别处理数据(如与、或、或非、与非等逻辑门)。以下是 Java 中三种基本逻辑运算符的描述,它们在决策制定中被广泛使用。

运算符 含义 描述 示例
&& 逻辑与/合取 当且仅当两个语句都为真时,才返回 True (2<3) &&(3==3) 返回 True
|| 逻辑或/析取 如果任何一个语句为真,则返回 True (2>3) ||(3==3) 返回 True
! 逻辑非/否定 如果操作数是取反的,则返回 true !(3==3) 返回 False

逻辑运算符的真值表如下所示

Truth Table

研究下面的示例以理解逻辑运算符的原理。

示例:逻辑运算符


public class OpEx {

    public static void main(String[] args) {

        // && operator
        System.out.println((2 > 3) && (3 == 3)); // false


        // || operator
        System.out.println((2 > 3) || (3 == 3)); // true


        // ! operator
        System.out.println(!(3 == 3)); // false

    }
}
 

Java 一元运算符

一元运算符是只作用于一个操作数的运算符。在上一节中,您已经看到了取反运算符(!),它只作用于一个操作数。同样,以下是 Java 中使用的不同类型的一元运算符。

运算符 含义  描述 示例

+

一元正号

表示一个正数

+3

-

一元负号

对表达式取反

-3

++

递增运算符

将值增加 1

++4 = 4+1

--

递减运算符

将值减少 1

--4 = 4-1

!

逻辑补码运算符

反转布尔值

!T = F

示例:一元运算符


Example: Unary Operator

public class OpEx {

 public static void main(String[] args) {
  
  int status = +1;
        System.out.println(status); // status is now 1

        status--;
        System.out.println(status); // After decrement status is now 0

        status++;
        System.out.println(status);  // after increment status is now 1

        status = -status;
        System.out.println(status);  // result is now -1

        boolean flag = false;
        System.out.println(flag);   // false 
        System.out.println(!flag); // true
  
  }
 }

 

Java 位移运算符

这些是最基本和基础的运算符类型。位运算符,顾名思义,操作的是位级数据。具体来说,位运算符在整数数据的位级别上执行操作。

位运算符有 7 种:-

Bitwise shift operators

按位与运算符

第一个运算符“&”(按位与)是与类型,如果某个位同时存在于两个操作数中,则将该位复制到结果中。更具体地说,位的存在用二进制 1 表示,其对应方用二进制 0 表示。这是一个显示按位与运算符用法的真值表,它与逻辑运算符非常相似。

BITWISE AND OPERATOR

例如,3 的二进制表示是 0000 00117 的二进制表示是 0000 0111。让我们看看 3 & 7 的结果会是什么

BITWISE AND OPERATOR

现在让我们看看如何在 java 中使用按位与运算符

示例:与运算符


public class BAndEx {
    public static void main(String[] args) {
        int x = 3, y = 7;
        System.out.println("x & y = " + (x & y)); // prints 3
    }
}
 

按位或运算符

按位或运算符,符号为“|”,其功能类似于逻辑或运算符。如果一个位(1)存在于任一操作数或两个操作数中,它就会复制该位。真值表演示了按位或运算符的工作方式。

BITWISE OR OPERATOR

让我们尝试理解按位或运算符如何作用于两个二进制数 3 和 7。

BITWISE OR OPERATOR

下面的 Java 程序展示了按位或运算符的操作。

示例:或运算符


public class BOREx {
    public static void main(String[] args) {
        int x = 3, y = 7;
        System.out.println("x | y = " + (x | y)); // prints 7 
    }
}