當我試圖編譯以下 Java 程序時:public class MyClass { static int f1() { return 10; } static int f2() { return 20; } public static void main(String args[]) { int x = 10; (x <= 10) ? f1() : f2(); }}我得到了錯誤:/MyClass.java:9: error: not a statement (x <= 10) ? f1() : f2(); ^Java 語言定義將語句稱為賦值、遞增/遞減、方法調(diào)用或?qū)ο髣?chuàng)建之一。我的錯誤“聲明”涉及方法調(diào)用,因此應該有效。事實上,如果我有一個像這樣的語句:f1();編譯器編譯程序時沒有任何抱怨。同樣,如果我將最后一行更改為:int y = (x <= 10) ? f1() : f2();然后,一切都是hunky-dory。作為最后一條信息,C 和 C++ 都沒有注意到: (x <= 10) ? f1() : f2();
添加回答
舉報
0/150
提交
取消