21xrx.com
2024-09-17 04:45:37 Tuesday
登录
文章检索 我的文章 写文章
Java运算符优先级顺序及示例
2023-06-14 07:22:12 深夜i     --     --
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编程来说非常重要。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复