当我试图编译以下 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 语言定义将语句称为赋值、递增/递减、方法调用或对象创建之一。我的错误“声明”涉及方法调用,因此应该有效。事实上,如果我有一个像这样的语句:f1();编译器编译程序时没有任何抱怨。同样,如果我将最后一行更改为:int y = (x <= 10) ? f1() : f2();然后,一切都是hunky-dory。作为最后一条信息,C 和 C++ 都没有注意到: (x <= 10) ? f1() : f2();
添加回答
举报
0/150
提交
取消