Java控件if-else语句

Java控件if-else语句,java,if-statement,Java,If Statement,我正在使用下面的免费文本学习java简介,我在理解代码段之间的差异时遇到了困难: 例1 例2 在实施例1中,x是1;在示例2中,x是2 在右边,如果-1不是>或=0,那么输出不应该是1吗?有人能解释一下为什么输出会改为2吗?一旦第二个if语句被计算,第一个已经生效,所以x的值现在是1 if (x < 0) x = 1; if (x >= 0) //x is 1 because you've already evaluated the above! x = 2; 在示

我正在使用下面的免费文本学习java简介,我在理解代码段之间的差异时遇到了困难:

例1

例2

在实施例1中,x是1;在示例2中,x是2


在右边,如果-1不是>或=0,那么输出不应该是1吗?有人能解释一下为什么输出会改为2吗?

一旦第二个if语句被计算,第一个已经生效,所以x的值现在是1

if (x < 0)
   x = 1;


if (x >= 0) //x is 1 because you've already evaluated the above!
   x = 2;

在示例1中,只有一个语句x=1;或x=2;将执行,因为它使用if…else语句


在示例2中,这两个语句都将被执行,因为它使用了两个单独的if语句,并且在计算它们时这两个条件都为true。

在第二个示例中;首先,通过第一个if条件:

x = -1;

if (x < 0) x = 1;
if (x >= 0) x = 2;

x仍然是1,1大于0,所以x变成了2。

这个答案是正确的,@JUnitorProgrammer。。。第二个示例包含两个if语句。位于左侧;只有当条件为false时,程序才会执行else块。所以不需要解释正确的问题,它只是按顺序执行。这是一个非常基本的问题,请关闭它。@ShivaShinde:基本问题到底出了什么问题?每个人都从基础开始。有人能给这本书的作者发封邮件吗。。。事情在第二页。@JarrodRoberson或者确实使用它。因为代码是用来解释为什么代码是坏的。作者实际上是在用它来解决新程序员对if语句如何操作的误解或误解,他说这两个语句即使在新程序员看来是一样的,也不是等价的。作者的观点恰巧被解释为OP对差异的困惑。
if (x < 0)
   x = 1;
else if (x >= 0)
   x = 2;
x = -1;

if (x < 0) x = 1;
if (x >= 0) x = 2;