gpt4 book ai didi

java - 更改 if 语句内的 boolean 值?

转载 作者:行者123 更新时间:2023-12-02 10:53:54 25 4
gpt4 key购买 nike

我正在准备 OCA Java SE7 Associate 考试。我的练习考试问题之一包含以下代码片段:

boolean flag = true;
if (flag = false) {
System.out.println("1");
}
else if (flag) {
System.out.println("2");
}
else if (!flag) {
System.out.println("3");
}
else
System.out.println("4");

注意 if (flag = false) 条件。问题是问这个片段的输出是什么。所有数字都作为答案选项提供,然后有一个选项显示“编译器错误”,这就是我选择的。我错了。输出将是 3。我在 Eclipse 中测试,它也返回 3。

然后我测试了

int x = 3;
int y = 1;
if (x = y) {
// whatever
}

当然,出现了错误。

为什么if-statement里面的flag可以从true改成false,但是值在类似的情况下不能改变 x 的值吗?是因为flag是boolean类型而x是int类型吗?我用谷歌搜索了这个,但找不到任何东西。

最佳答案

因为x = y 的赋值并不等同于boolean 计算。

if 期望操作结果返回 truefalse

类似 if ((x = y) == y) 的东西可以工作(评估将返回 true)

关于java - 更改 if 语句内的 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24471504/

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