为了账号安全,请及时绑定邮箱和手机立即绑定

不是声明。为什么不?

不是声明。为什么不?

森林海 2023-03-09 13:34:35
当我试图编译以下 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();
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

三元运算符用在表达式中。对于语句,您可以使用 if 语句。这就是定义语法的方式。时期。



查看完整回答
反对 回复 2023-03-09
  • 1 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号