【问题标题】:Can anybody help me with this output , because i dont understand it , its 30 . and im a beginner in Java [closed]任何人都可以帮我解决这个问题,因为我不明白,它是 30 。我是Java的初学者[关闭]
【发布时间】:2017-09-08 18:32:24
【问题描述】:

当我编译输出是 30 。我以为是 2 因为 z 小于 0 所以 z = z + 3 , (-1 + 3 = 2):(。我不明白

    int z = -1;

    if(z < 0)
        z += 3;
    else if(z == 2)
        z += 5;
    if(z < 5)
        z *= 15;
    System.out.println("z is  = " + z);

【问题讨论】:

  • 你可能错过了 if(z &lt; 5) z *= 15; 中的 else ;对于您想要的输出,它应该写为else if(z &lt; 5) z *= 15;
  • 是的,-1 + 3 = 2。并且 2 * 15 = 30。

标签: java if-statement compilation output


【解决方案1】:
z = -1;

if(z < 0) //TRUE
    z += 3; //which means (z += 3) = 2
else if(z == 2) //Wont trigger
    z += 5;
if(z < 5) //TRUE
    z *= 15; //which means (z *= 15) ==  (z = 2 * 15) == 30 
System.out.println("z is  = " + z);

【讨论】:

    【解决方案2】:

    您有 2 个 if 语句将评估为 true,第三个没有 else,所以它会在第一个之外发生,因为两者都是 true

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-22
      • 2020-05-24
      • 1970-01-01
      • 2022-07-19
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      相关资源
      最近更新 更多