21xrx.com
2025-03-29 02:26:45 Saturday
文章检索 我的文章 写文章
Java运算符优先级顺序及示例
2023-06-14 07:22:12 深夜i     5     0
Java运算符 优先级 示例代码

在Java语言中,不同的运算符优先级不同,如果不清楚它们的优先级,可能会导致程序逻辑错误。本文将介绍Java运算符优先级顺序,并给出相应的示例。

Java运算符优先级从高到低的顺序如下:

1. 一元运算符(包括正负号、递增递减、逻辑非等)

2. 乘除模运算符

3. 加减运算符

4. 移位运算符

5. 关系运算符

6. 位运算符

7. 逻辑运算符

8. 三目运算符

9. 赋值运算符

接下来,我们将详细介绍每个运算符优先级,并给出相应的示例。

1. 一元运算符

一元运算符是只有一个操作数的运算符。Java中一元运算符的优先级最高。以下是一元运算符的示例代码:

public class UnaryOperatorDemo {
  public static void main(String[] args) {
    int a = 10;
    int b = -a;
    System.out.println(b); // 输出-10
    int c = a++;
    System.out.println(c); // 输出10
    System.out.println(a); // 输出11
    boolean d = true;
    boolean e = !d;
    System.out.println(e); // 输出false
  }
}

2. 乘除模运算符

乘除模运算符的优先级次于一元运算符。以下是乘除模运算符的示例代码:

public class MultiplicativeOperatorDemo {
  public static void main(String[] args) {
    int a = 10;
    int b = 5;
    System.out.println(a * b); // 输出50
    System.out.println(a / b); // 输出2
    System.out.println(a % b); // 输出0
  }
}

3. 加减运算符

加减运算符的优先级次于乘除模运算符。以下是加减运算符的示例代码:

public class AdditiveOperatorDemo {
  public static void main(String[] args) {
    int a = 10;
    int b = 5;
    System.out.println(a + b); // 输出15
    System.out.println(a - b); // 输出5
  }
}

4. 移位运算符

移位运算符的优先级次于加减运算符。以下是移位运算符的示例代码:

public class ShiftOperatorDemo {
  public static void main(String[] args) {
    int a = 10;
    System.out.println(a << 2); // 输出40
    System.out.println(a >> 2); // 输出2
    System.out.println(a >>> 2); // 输出2
  }
}

5. 关系运算符

关系运算符的优先级次于移位运算符。以下是关系运算符的示例代码:

public class RelationalOperatorDemo {
  public static void main(String[] args) {
    int a = 10;
    int b = 5;
    System.out.println(a > b); // 输出true
    System.out.println(a >= b); // 输出true
    System.out.println(a < b); // 输出false
    System.out.println(a <= b); // 输出false
    System.out.println(a == b); // 输出false
    System.out.println(a != b); // 输出true
  }
}

6. 位运算符

位运算符的优先级次于关系运算符。以下是位运算符的示例代码:

public class BitwiseOperatorDemo {
  public static void main(String[] args) {
    int a = 10;
    int b = 5;
    System.out.println(a & b); // 输出0
    System.out.println(a | b); // 输出15
    System.out.println(a ^ b); // 输出15
    System.out.println(~a); // 输出-11
  }
}

7. 逻辑运算符

逻辑运算符的优先级次于位运算符。以下是逻辑运算符的示例代码:

public class LogicalOperatorDemo {
  public static void main(String[] args) {
    boolean a = true;
    boolean b = false;
    System.out.println(a && b); // 输出false
    System.out.println(a || b); // 输出true
    System.out.println(!a); // 输出false
  }
}

8. 三目运算符

三目运算符的优先级次于逻辑运算符。以下是三目运算符的示例代码:

public class TernaryOperatorDemo {
  public static void main(String[] args) {
    int a = 10;
    int b = 5;
    System.out.println(a > b ? "a大于b" : "a小于等于b"); // 输出a大于b
  }
}

9. 赋值运算符

赋值运算符的优先级最低。以下是赋值运算符的示例代码:

public class AssignmentOperatorDemo {
  public static void main(String[] args) {
    int a = 10;
    a += 5;
    System.out.println(a); // 输出15
    int b = 10;
    b *= 5;
    System.out.println(b); // 输出50
  }
}

综上所述,Java运算符优先级从高到低的顺序依次为:一元运算符、乘除模运算符、加减运算符、移位运算符、关系运算符、位运算符、逻辑运算符、三目运算符、赋值运算符。正确掌握运算符优先级对于Java编程来说非常重要。

  
  

评论区