for循环中的条件留空,代码编译并运行。For循环空白条件
for(int i=0; ; i++)
System.out.print(i); //this code does not execute
//code after this does not execute
但是,我不知道如何和为什么这可能。
for循环中的条件留空,代码编译并运行。For循环空白条件
for(int i=0; ; i++)
System.out.print(i); //this code does not execute
//code after this does not execute
但是,我不知道如何和为什么这可能。
如果它没有打印任何东西,那意味着你根本没有达到这个循环。
如果你到达它,它应该打印0的所有数字。
这是一个无限循环打印0,1,2,...
你的问题是其他地方(可能之前的for循环)。
只是澄清:最初的问题是为什么这个循环不打印任何东西。 –
在NetBeans测试此之后,它是这样的:
当应用程序运行时: 没有输出
当应用程序已停止: 所有的号码都在控制台输出。
所以它确实有效,查看其他答案的参考以了解它为什么有效。
只是改变线以下,虽然它不是一个问题。
System.out.print(i); //this code does not seems execute by checking o/p on console but in reals it works as well.
要
System.out.println(i); //this code works and you will be able to see o/p on console.
OR
System.out.print(i+" "); // this will show you some momentary action on Eclipse console.
在我看来,一些Eclipse IDE的控制台打印问题。用你在问题中提到的第一个版本,我看不到任何输出。由于print()
不断在同一行上打印,可能对我们不可见。
但是,如果您在调试模式下运行您的代码并在上面的行上放置一个断点。断点将会打开,您也可以看到正在打印的输出。
但对第二个版本,我可以看到它打印从0.1开始的所有数...
这是一个similar discussion由@PakkuDon
A用于循环结构有三样东西共享Initialization
,Condition
和Increment/Decrements
这些不是必填字段。 Java将始终执行代码,并且不会显示错误,因为我们不会违反任何语法规则。
在这里for(i=0;;i++) System.out.println(i)
仍然会被执行,并导致无限循环,因为条件总是被视为可选部分,所以其余两个。
因此,我们无法在System.out.println(i)
声明之后到达代码,因为我们陷入了无限循环。
你还可以提供围绕for循环的上下文吗?如果在for循环之前添加'System.out.print(“test”)'一行,它是否会打印任何内容? –
你确定部分被执行了吗?它应该永远运行... –
可能重复[For循环在Java中没有参数](http:// stackoverflow。com/questions/6051869/for-loop-with-no-parameters-in-java) – thumbmunkeys