开发者社区 问答 正文

关于java三元运算符的问题

max>arr[x]?(max1=max):(max1=arr[x]);
如果max>arr[x]true,则把max赋给max1,如果max>arr[x]false,则把arr[x]赋给max1
这里为什么语句错误,问号后面不能赋值运算吗

展开
收起
蛮大人123 2016-06-02 14:16:07 2046 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    这是不是有语法错误,x变量是在哪里定义的。三目运算要求第一个语句要是布尔类型的。
    我这里测试了又编译错误Type mismatch: cannot convert from int to boolean
    三目运算符:<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果.

    2019-07-17 19:24:48
    赞同 展开评论
问答分类:
问答地址: