gpt4 book ai didi

java - 使用 OR 运算符进行 boolean 赋值

转载 作者:行者123 更新时间:2023-12-01 20:05:45 24 4
gpt4 key购买 nike

假设我有以下代码:

    int j = 0;
boolean x = true, y = false, z;
z = (x || ((j++) == 0));
z = (y || ((j += 2) > 0));

j 的最终值为2

第一个赋值中的 z 将具有 truefalse,即 true

第二次赋值中的 z 将具有 falsetrue,即 true

为什么最终的值为2?拥有 true || 和有什么区别假与假||真?

我不是在问“短路”运算符,

我只需要对赋值运算符进行更多解释,以及第一个 j 没有改变 j 的值,而第二个却改变了。

最佳答案

||运算符从左到右验证。

就你而言,第一个条件 true || false,一旦||找到true,它不必检查其他条件,因为结果将是无论如何,都是如此。这就是这里的原因 x||((j++)==0) 一旦计算出 x = true,就会跳过下一个语句 (j++==0)

第二个条件false || true,一旦||找到false,它必须检查下一个条件。

引用 > https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html

The && and || operators perform Conditional-AND and Conditional-OR operations on two boolean expressions. These operators exhibit "short-circuiting" behavior, which means that the second operand is evaluated only if needed.

关于java - 使用 OR 运算符进行 boolean 赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47413429/

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