我剛剛得知,C++允許同樣的法律代碼:表達式生成錯誤
12; //just an expression -- expression statement to be exact
int i = 45;
(i > 0) ? i-- : 1;
Altghough它可能不是最好的pracitce,我可以看到一些有用的情況,其中使用表達式作爲一個完整的語句可能幫助。所以,我只是想知道,爲什麼Java中沒有類似的功能?究竟是什麼阻止類似下面的代碼的原因:
public static void main (String[] args){
func() + 1; // ERROR: NOT A STATEMENT
}
public static int func(){
return 34;
}
相關[Java:Not a statement](http://stackoverflow.com/questions/16599183/java-not-a-statement) –
@FastSnail我的帖子與您提供的鏈接完全不同;我在問爲什麼表達式語句或像C++中的類似特性不包含在Java中。 – Michael
「我可以看到一些有用的情況,其中使用表達式作爲完整的陳述可能有所幫助。」命名一個。就像爲什麼在使用'f()+ 1;'over'f();'(當然這也是一個表達式語句,但是在Java中允許)之後會有一個好處。 – sepp2k