2014-06-23 51 views
0

我測試了循環,當我嘗試這一點,不工作:我不能得到一個基本的for循環工作的Java 8

public static void main(String[] args) { 
    for(int i=0;i==5;i++){ 
     System.out.println(i); 
    } 
} 

當我運行此我希望得到「0,1 ,2,3,4,5「,但除了」建立成功「之外,我什麼也得不到。我在ubuntu linux上使用netbeans 8.0。任何幫助或解釋爲什麼將不勝感激。

編輯:*捂臉

+10

'i == 5'將首次出現錯誤。 – smerny

+2

...所以循環在第一次迭代之前就中斷了,沒有任何東西顯示出來。 – sp00m

+0

在所有版本的java中,這個循環都不起作用 –

回答

6

在Java for循環中,與while循環一樣,您不指定「中斷」,而是指定「繼續」條件。因此,您應該將==替換爲<=

1

嘗試:

for(int i=0; i<=5; i++) 
+0

應該解釋爲什麼這將工作,而不是OP做的。 –

2

termination expressioni == 5是在開始自己在針對你的情況環路假。

這就是爲什麼它不會在循環內打印任何東西。

從Java文檔 - http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

When the termination expression evaluates to false, the loop terminates. 

而且這個問題是無關的Java 8.它的一個基本問題。

2

其實這意味着你將繼續循環,如果我== 5但最初你宣佈我= 0所以條件是假的和循環終止如果你想繼續比試試這個,而不是我== 5你用我< 5或我< = 5

for(int i=0;i<=5;i++){ 
     System.out.println(i); 
    } 
0

你讓裏面的「爲」

i == 5 
但是如果你想用java 8個FEATURS和迭代,你可以做到這一點整數列表上

錯誤

List<Integer> numbers = Arrays.asList(1,2,3,4,5); 

numbers.forEach(value -> System.out.println(value)); 
這樣你不能錯上< =或<或==

0

如果你想要的確切等同於您的實現應該是:

public static void main(String[] args) { 
    for(int i=0;i!=5;i++){ 
     System.out.println(i); 
    } 
} 

雖然我推測標準方法i <= 5應該是首選。