用于循环java查询

时间:2014-11-08 11:11:54

标签: java string for-loop

我对java中的for循环有疑问。我理解for循环如何使用格式:

for(initialize variable : condition : counter){}

我的问题出在我的一个讲座中:

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

为什么这不需要柜台? 什么是str?

4 个答案:

答案 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是该集合)

点击此处了解详情 What is the syntax of enhanced for loop in Java?

答案 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