【问题标题】:simple control structures (if statements)简单的控制结构(if 语句)
【发布时间】:2013-12-31 13:23:39
【问题描述】:

我是 Java 领域的新手,目前正在学习 IF 语句。

在我目前使用的教科书中,它要求我“重写以下嵌套的 if 语句而不使用任何嵌套”。

现在,我有两个问题。第一个是关于我是否以正确的顺序阅读本文,第二个是关于第 1 行和第 2 行中是否存在冲突条件(悖论)。他们要求我重写的问题如下:

if ( a < b )
   if (a >= b)
       x = z;
   else
       x = y;

else
  x = z;

就我对 if 语句的有限理解而言,顺序可能如下:

  1. 如果变量a小于b,则执行第一条语句(这是另一个if语句),如果条件为假,则执行第二条else语句。
  2. 如果变量a 等于或大于b,则执行随附的语句,或者如果条件为假,则执行FIRST else 语句。

到目前为止,我的阅读是否正确?如果我让事情变得难以理解,我深表歉意。

现在进入第二个问题;如果第一个 if 语句结果为真(a 小于 b),当第一个条件已经为真时,a 怎么可能大于或等于 b?会不会很矛盾?

感谢您的帮助:)

【问题讨论】:

    标签: java if-statement


    【解决方案1】:

    按照你贴的代码的逻辑,相当于:

    if (a < b)
        x = y;
    else
        x = z;
    

    【讨论】:

      【解决方案2】:

      你没看错。

      代码实际上相当于:

      if (a < b)
          x=y;
      else
          x=z;
      

      如果a = b) 为假,然后转到第一个else 语句。如果不是 - 运行第二个 else 中的语句。

      这几乎适用于每种语言和每种变量类型,但在某些情况下可能并非如此,如果您不一致地重载运算符。 另一种情况是,如果您实现运算符 a

      【讨论】:

        猜你喜欢
        • 2020-02-22
        • 2019-03-17
        • 2022-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-02
        相关资源
        最近更新 更多