2014-11-08 109 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