我有一个简单的问题,但似乎无法找到答案。可以在java中使用:(冒号)指定变量。如下面的代码所示:
for(String token: tokens) {
System.out.println(token);
我在其中一个问题板上看到了这个问题。
感谢您的回复。
答案 0 :(得分:4)
在这种情况下,运算符:
不是赋值;它表示在Java 5中添加的增强的for循环。它基本上意味着“对于String数组中的每个String或String Iterable,使用String。
答案 1 :(得分:3)
这称为增强型for循环。来自The Java Tutorials:
class EnhancedForDemo {
public static void main(String[] args){
int[] numbers =
{1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {
System.out.println("Count is: " + item);
}
}
}
该程序的输出:
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10
答案 2 :(得分:0)
是的,这是有效的,假设有一组名为tokens
的字符串。虽然,您错过了结束}
答案 3 :(得分:0)
这是Java中的“for-each”。它读起来像“为令牌中的每个令牌”。 tokens
变量是Iterable
集合。循环内的代码对集合中的每个元素重复。
答案 4 :(得分:0)
这是一个特殊的for循环,称为for-each。 (String token:tokens)的含义是迭代集合标记&在迭代时将值赋给String变量标记。
通过':'赋值仅适用于每个循环,而不适用于任何其他结构
答案 5 :(得分:0)
这也称为foreach循环,它遍历集合。
有一个更好的例子here