For表达式中的Java":"运算符

Ubu*_*nfu 1 java junit for-loop ternary-operator ternary

在为别人的代码编写一些单元测试时,我遇到了一个有趣的":"运算符.它看起来像这样:

for(Class classInstance : instanceOfOtherClass){

//Do some irrelevant stuff

}
Run Code Online (Sandbox Code Playgroud)

我从未见过没有"?"的":"运算符,就像编写三元语句时一样.我已经做了相当多的谷歌搜索,似乎无法找到任何明智的答案,我应该怎么读这个......

我是不是太复杂了?有没有人见过它?

Ste*_* P. 5

为了将来参考,您输入了:

java 7 for循环:

进入谷歌,第二个结果会帮助你.为了你的辩护,如果你不把"7"放在那里,那么找到一个解决方案会更加困难(不是因为它是在java 7中引入的,它是在java 5中,但是因为如果它当前受支持,那么使用7可以更有可能找到最新的文档.这是增强的for循环for-each循环的示例.

简而言之:

EnhancedForStatement:

for ( FormalParameter : Expression ) Statement
Run Code Online (Sandbox Code Playgroud)

Expression必须在哪里iterable 数组类型.

简单来说(数组示例,但请注意implements Iterable可以使用的任何内容):

String[] words = new String[]{"This","is","the","end"};

for (int i = 0; i < words.length; i++)
{
      System.out.println(words[i]);
}
Run Code Online (Sandbox Code Playgroud)

用for-each循环编写的是:

for (String s : words)
{
      System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)

如果您对效率感到疑惑,请查看此帖.