gpt4 book ai didi

java - 条件表达式 "? :"编译尽管分支返回不同类型

转载 作者:搜寻专家 更新时间:2023-11-01 03:57:31 24 4
gpt4 key购买 nike

我已经开始学习 java,但我遇到了以下条件表达式:

 ((1<2)?5:(3<4))

在我找到这个例子的书中,它说这是一个语法错误,因为它不能将数值转换为 boolean 值。相同的页面之后,有一个包含不同练习的测试,包括这个。在 Eclipse 中编写和编译后,它给了我输出 5。为什么?我读过一些关于此运算符的内容,它清楚地表明两个表达式都必须是 boolean 值或算术,所以这是 eclipse 的问题吗?

最佳答案

当他们谈到像这样的编译器错误情况时

int a= ((1<2)?5:(3<4));

但由于 (3<4) 返回 boolean 值,因此不能将其分配给整数变量

但是当你简单地做 System.out.println(((1<2)?5:(3<4)));它不必将值分配给任何变量,它使用方法 System.out.println(Object) 打印输出值

如果您稍微更改一下表达式并执行:- System.out.println(((1>2)?5:(3<4)))然后它会打印 true作为输出

关于java - 条件表达式 "? :"编译尽管分支返回不同类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31985907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com