繁体   English   中英

for函数中“:”代表什么

[英]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中的相关问题

这是新的增强的for循环。

对于网格中的每个元素,您都可以大声读出来。 它遍历网格中的元素。

这是一个不错的教程

它只是临时变量和Iterable 或array之间的分隔符。
这称为foreach循环,基本上意味着:
“对于可Iterable grid每个元素ae ,执行{...}

在这里阅读更多: For-Each循环

Iterable为数组或列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM