java - 预订 x++ 并循环 Java

标签 java loops for-loop

我有一个关于 x++ 和循环内容的问题要问。首先,这是代码:

class MixFor5 {
public static void main(String[] args) {
  int x = 0;
  int y = 30;
  for (int outer = 0; outer < 3; outer++) {

     for(int inner = 4; inner > 1; inner--) {
     x = x++;
     y = y - 2;
         if (x == 6) {
              break;
          }
      x = x + 3;
     }

  y = y - 2;
  }

  System.out.println(x + " " + y);
 }
 }

这是我的计算方法:

内循环

第一个循环)y = -2,然后 x = 3,内循环结束

第二个循环)y = -4,x = 6,内循环结束

第三个循环)y = -6,BREAK,内循环结束。

外循环将 -2 添加到 Y,因此 y = -8

现在我们有 x = 6,y = 22,但是我们必须继续循环 2 次。在内部循环中,我们总是得到 y = -2,然后它就会中断,因为 x 仍然是 6,而在外部循环中,我们也得到 y = -2,这使我们在 2 个循环中得到 y = -8。将它添加到我们得到的 (y = -8) 中,我们得到 y = -16,将它添加到我们的整数中将得到 y = 14。

我的问题是,x++ 在这种情况下如何工作?它在这里什么也不做。是因为 break; 还是因为其他原因?我认为当内循环或外循环结束时,它会给x加+1,但如果这样做,你将无法得到正确的答案。

谁能解释一下吗?

最佳答案

x = x++; 更改 x 两次。首先它将其增加到 x+1,然后将之前的值赋给它。这就是为什么它没有效果 - 先前值的分配会取消增量。

关于java - 预订 x++ 并循环 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26562582/

相关文章:

algorithm - 嵌套while循环的时间复杂度

actionscript-3 - 无法跳出嵌套的 for 循环

bash - 创建一个充当算命先生或 "magic 8 ball"的 bash 脚本

c - 为什么我的 for 循环不接受 9 个输入?

java - getResourceAsStream() 返回 null

java - 文件无法运行 : "The public type EchoTest must be defined in its own file"

java - 正确使用Java规则集

c++ - 显示 vector 的所有元素

java - EJB 容器中的简单 Java 类/对象的生命周期

java - 了解 Java IO