2011-03-20 72 views
2

我知道這是一個基本的問題,但我閱讀文檔,似乎沒有回答我的問題:什麼是「:」運營商怎麼辦?使用「:」操作符

我得到的印象是,如果我這樣做for(item : list),for循環會經過一個列表的每一個項目。這是正確的嗎?

+0

http://download.oracle.com/javase/1.5.0/docs/guide/language/foreach.html – CodesInChaos 2011-03-20 16:00:23

+2

我不認爲有一個單獨的':'運算符。我認爲它是'for'語句語法的一部分。 – CodesInChaos 2011-03-20 16:01:59

+0

只是要完成:在trinaries也可使用。 a =(b> 0)? 4:3; – MeBigFatGuy 2011-03-20 16:57:01

回答

6

是的,你有什麼有一個爲每個語句。你有一個不是很正確,如果你有例如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; 
} 
4

是的,這是正確的。這不是一個真正的運營商如此 - 這是這是在Java 5中

1

是引進的語法爲enhanced for loop的一部分。如果你有一個迭代的對象,你可以這樣做:

for (Object o : iterableObj) { 
    o.doSomething(); 
} 

這相當於(在功能)喜歡的東西:

for (int i = 0; i < iterableObj.length(); i++) { 
    Object o = iterableObj.get(i); 
    o.doSomething(); 
}