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