我对java中的for循环有疑问。我理解for循环如何使用格式:
for(initialize variable : condition : counter){}
我的问题出在我的一个讲座中:
for(String s : str){.....}
为什么这不需要柜台? 什么是str?
答案 0 :(得分: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);
}
答案 1 :(得分:1)
它是一个增强的for循环,遍历Collection中的每个元素。它不会停止,直到它击中最后一个元素或遇到break;
。
答案 2 :(得分:1)
首先将 :
替换为第一个for循环中的 ;
(您使用了错误的语法)
for(initialize variable ; condition ; counter){}
,第二个是增强的for循环,
for(String s : str){.....}
在集合的情况下非常方便,它不需要任何计数器,因为它运行直到它到达提供给它的集合中的最后一个元素(在这种情况下str
是该集合)
答案 3 :(得分:0)
这类问题的权威来源是Java语言规范。在这种特殊情况下:
http://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.14
在官方Java教程中可以找到更友好的源代码,在这种情况下:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html