2014-11-08 150 views
0

我有一個關於java中循環的問題。我知道如何for循環的使用格式工作:For循環java查詢

for(initialize variable : condition : counter){} 

我的問題是在我的一次演講中這樣說的:

for(String s : str){.....} 

如何走到這一步並不需要一個櫃檯? 什麼是str?

+3

這是一個增強的for循環,或「爲每個「循環:https://blogs.oracle.com/CoreJavaTechTips/entry/using_enhanced_for_loops_with str應該是你的例子中的字符串集合 – vefthym 2014-11-08 11:14:07

回答

2

這是一個增強的for循環,或「for each」循環。它遍歷str的所有元素,這可能是您示例中的字符串集合或字符串數​​組。

閱讀this瞭解更多詳情。

例如,而不是寫這個:

for (int i = 0; i < myArray.length; i++) { 
    System.out.println(myArray[i]); 
} 

你可以寫它的等效:

for (int myValue : myArray) { 
    System.out.println(myValue); 
} 
+0

感謝您的快速回復:D – Crazypigs 2014-11-08 11:29:44

1

它是一個增強的for循環,遍歷集合中的每個元素。在它遇到最後一個元素或遇到break;之前它不會停止。

+0

Finger slipped?第二個 - >或 – 2014-11-08 12:02:23

+0

@JonathanRosenne謝謝。 – drhunn 2014-11-08 12:04:37

1

首先與;更換:在第一像這樣循環(您使用了錯誤的語法)

for(initialize variable ; condition ; counter){} 

,第二個是增強的for循環,

for(String s : str){.....} 

在收藏時,會非常方便,它不會因爲它運行,直到它到達集合中提供給它的最後一個元素進行任何反(在這種情況下str是集合)

看到這個更多地瞭解它What is the syntax of enhanced for loop in Java?

+0

也被稱爲foreach循環,需要一個Iterable類才能使用它 – 2014-11-08 11:21:56