我知道这是一个基本的问题,但我阅读文档,似乎没有回答我的问题:什么是“:”运营商怎么办?使用“:”操作符
我得到的印象是,如果我这样做for(item : list)
,for循环会经过一个列表的每一个项目。这是正确的吗?
我知道这是一个基本的问题,但我阅读文档,似乎没有回答我的问题:什么是“:”运营商怎么办?使用“:”操作符
我得到的印象是,如果我这样做for(item : list)
,for循环会经过一个列表的每一个项目。这是正确的吗?
是的,你有什么有一个为每个语句。你有一个不是很正确,如果你有例如List<String>
叫列表,那么你可以做这样的事情:
for (String item: list) {
System.out.println(item);
}
顺便也有另一种使用了“:”作为三元的一部分表达,例如
int i = y < 0 ? 10 : 100;
这是一样的:
int i;
if (y < 0) {
i = 10;
} else {
i = 100;
}
是的,这是正确的。这不是一个真正的运营商如此 - 这是这是在Java 5中
是引进的语法为enhanced for loop的一部分。如果你有一个迭代的对象,你可以这样做:
for (Object o : iterableObj) {
o.doSomething();
}
这相当于(在功能)喜欢的东西:
for (int i = 0; i < iterableObj.length(); i++) {
Object o = iterableObj.get(i);
o.doSomething();
}
http://download.oracle.com/javase/1.5.0/docs/guide/language/foreach.html – CodesInChaos 2011-03-20 16:00:23
我不认为有一个单独的':'运算符。我认为它是'for'语句语法的一部分。 – CodesInChaos 2011-03-20 16:01:59
只是要完成:在trinaries也可使用。 a =(b> 0)? 4:3; – MeBigFatGuy 2011-03-20 16:57:01