[英]what does “:” stands for, in a for function
我有这段代码,我想知道函数中“:”的含义
Element[][] grid = readFile();
for (Element[] ea : grid) {
for (Element e : ea)
System.out.print(e.getChar());
System.out.println();
就等效语言而言,您可以将其视为单词“ in”。 您可以将其读取为“对于'ea'中的每个元素'e'”。
这是有关这种类型的循环的文档: http : //docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html
在for
使用:
,它充当for-each循环。 每次迭代时,将冒号后的变量分配给数组中的下一个值。
int[] arr = {1,2,3,4};
for ( arr : num ) {
System.out.print( num + " " );
}
// prints "1 2 3 4 "
这是对Collections和Array的逐一理解。 与某些语言(例如Python)提供in
功能相同。 所以,当你看到一个:
在for
循环使用,读作in
。 有关更多详细信息,请参见http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html
在您的情况下,这就像for ea in grid
。
这种循环称为“每个循环”。 冒号(:)读为'in'。 基本上,这种类型的for循环与集合一起使用。
可以理解为:
for each element x in collection Y{
//do something
}
在这里,在每次迭代中,元素x引用集合Y中的各个元素。即,在第一次迭代中,x将为Y [0],在第二次迭代中,x将为y [1],依此类推,直到结束。
优点是条件检查和所有这些内容都无需显式编写。 当集合中的迭代元素顺序进行到结束时,此功能特别有用。 这使得遍历集合变得相当容易。 这比使用迭代器容易。
在您的代码中,使用嵌套的for-each循环打印二维数组'ea'的每个元素。 外循环遍历每一行(一维数组),而内循环遍历相应行中的每个元素。
请参考这些:
每个循环
Stackoverflow中的相关问题
它只是临时变量和Iterable
或array之间的分隔符。
这称为foreach
循环,基本上意味着:
“对于可Iterable
grid
每个元素ae
,执行{...}
”
在这里阅读更多: For-Each循环
Iterable
为数组或列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.