Java 中的增量和减量运算符有哪些限制?


增量运算符将操作数的值增加 1,减量运算符将操作数的值减少 1。我们使用这些运算符在对值执行语句后递增或递减循环的值。

示例

 在线演示

public class ForLoopExample {
   public static void main(String args[]) {
      //Printing the numbers 1 to 10
      for(int i = 1; i<=10; i++) {
         System.out.print(" "+i);
      }
      System.out.println(" ");
      //Printing the numbers 10 to 1
      for(int i = 10; i>=1; i--) {
         System.out.print(" "+i);
      }
   }
}

输出

1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1

增量和减量运算符的限制

  • 不能将增量和减量运算符与常量一起使用,否则会产生编译时错误。

示例

public class ForLoopExample {
   public static void main(String args[]) {
      int num = 20;
      System.out.println(num++);
      System.out.println(20--);
   }
}

输出

ForLoopExample.java:5: error: unexpected type
      System.out.println(20--);
                        ^
   required: variable
   found: value
1 error
  • 在 Java 中不能嵌套两个增量或减量运算符,否则会产生编译时错误:

示例

public class ForLoopExample {
   public static void main(String args[]) {
      int num = 20;
      System.out.println(--(num++));
   }
}

输出

ForLoopExample.java:4: error: unexpected type
      System.out.println(--(num++));
                               ^
required: variable
found: value
1 error
  • 声明为 final 的变量,其值不能被修改。由于增量或减量运算符会更改操作数的值,因此不允许将这些运算符与 final 变量一起使用。

示例

public class ForLoopExample {
   public static void main(String args[]) {
      final int num = 20;
      System.out.println(num++);
   }
}

输出

ForLoopExample.java:4: error: cannot assign a value to final variable num
   System.out.println(num++);
                      ^
1 error
  • 不允许将增量和减量运算符与布尔变量一起使用。如果仍然尝试递增或递减布尔值,则会产生编译时错误。

示例

public class ForLoopExample {
   public static void main(String args[]) {
      boolean bool = true;
      System.out.println(bool++);
   }
}

输出

ForLoopExample.java:4: error: bad operand type boolean for unary operator '++'
      System.out.println(bool++);
                            ^
1 error

更新于:2019年7月30日

1K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告