有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中的for循环查询

      for(int x=0;; ) {
      System.out.println(x);
       x++;
           }

代码的o/p如下所示:

1521760

1521761

1521762

1521763

1521764

1521765

1521766

1521767

1521768

1521769

1521770

1521783

1521784

有人能解释一下为什么要打印这些随机数,而不是无限次地打印0吗


共 (3) 个答案

  1. # 1 楼答案

    它从0一直打印到更高。但处理器运行速度太快(它已经运行到1521760年),所以您可以直接从这些高值中看到

    您可以通过在x++行中放置断点进行检查,如下所示:

    for(int x=0;; ) {
                System.out.println(x);
                x++;
                if(x == 10)
                    break;
            }
    

    //输出为

    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Process finished with exit code 0
    
  2. # 2 楼答案

    如果你在不同的机器上运行相同的代码(有不同的处理器),这不是一个随机数,很可能你会得到一个不同的数字,但这并不是因为它们是随机数。这是因为处理器的速度不同。通常情况下,处理器处理程序的速度是我们无法想象的,所以这里的处理器已经将你的值增加到了某个极限,这就是为什么你会看到类似的情况。您可以通过在特定条件下破坏代码来检查它,如上面的答案所示。但是,通过调试代码,您可以更详细地看到那里发生了什么。然后你可以看到x的递增过程

  3. # 3 楼答案

    因为在循环块中增加变量x。尽管如此,您不能在循环语句中递增x