gpt4 book ai didi

java - 无法理解这背后的逻辑

转载 作者:行者123 更新时间:2023-11-29 09:55:00 25 4
gpt4 key购买 nike

public class MyClass
{
public static void main(String args[])
{
Boolean b=false;
if(b=true)
{
System.out.println("TRUE");
}
if(b=false){
System.out.println("FALSE");
}
}
}

虽然对于你们大多数人来说这似乎是一个非常简单的问题,但我无法理解当我运行这段代码时输出为 TRUE。

因为 = 是一个赋值运算符,所以在这两种情况下它都应该为真,因为值是赋值的,即 if(b=true) = true(有效)和 if(b=false) = true(有效)。由于这里没有其他条件,因此它应该同时给出 TRUE 和 FALSE 作为输出。

最佳答案

这种赋值的返回值总是在它的右边。所以 (b=false) 的结果是错误的。

这里是java语言规范中定义的http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.26

At run time, the result of the assignment expression is the value of the variable after the assignment has occurred.

关于java - 无法理解这背后的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16143421/

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