當(dāng)我試圖編譯以下 Java 程序時(shí):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(); }}我得到了錯(cuò)誤:/MyClass.java:9: error: not a statement (x <= 10) ? f1() : f2(); ^Java 語言定義將語句稱為賦值、遞增/遞減、方法調(diào)用或?qū)ο髣?chuàng)建之一。我的錯(cuò)誤“聲明”涉及方法調(diào)用,因此應(yīng)該有效。事實(shí)上,如果我有一個(gè)像這樣的語句:f1();編譯器編譯程序時(shí)沒有任何抱怨。同樣,如果我將最后一行更改為:int y = (x <= 10) ? f1() : f2();然后,一切都是hunky-dory。作為最后一條信息,C 和 C++ 都沒有注意到: (x <= 10) ? f1() : f2();
1 回答

侃侃無極
TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
三元運(yùn)算符用在表達(dá)式中。對(duì)于語句,您可以使用 if 語句。這就是定義語法的方式。時(shí)期。
添加回答
舉報(bào)
0/150
提交
取消