Java if语句未按预期工作

时间:2014-11-09 08:36:38

标签: java if-statement

我正在攻读java编程考试,我还是初学者。我在if语句中的问题是:

int z;

if (z==1);
{//calculates area}

if (z==2)
{//calculates volume}

目标是如果用户选择1,他将找到计算的区域,如果用户选择2,则将计算该体积。但是,在输出中,无论用户选择什么,都会计算面积和体积。那是为什么?

3 个答案:

答案 0 :(得分:5)

您必须在条件之后删除;。否则,if语句为空,并且始终执行其后面的代码块。

if (z==1)
{//calculates area}

if (z==2)
{//calculates volume}

甚至更好:

if (z==1) {
    //calculates area
} else if (z==2) {
    //calculates volume
}

因为这两个条件都不成立。

答案 1 :(得分:1)

  1. 您必须在 if(条件) 之后删除分号(;) 如果(条件) 不是声明,则不应插入分号。

  2. 已使用双斜杠(//)注释掉一行。这就是为什么if子句的一个括号不再使用的原因。

  3. 代码应如下所示:

    int z;
    
    if (z==1)
    {
        //calculates area
    }
    
    if (z==2)
    {
        //calculates volume
    }
    

答案 2 :(得分:0)

从第一行末尾删除分号(;)。

学习根据规范格式化代码

int z;
if (z==1) {
    //calculates area
}

if (z==2) {
   //calculates volume
}