从if-then语句设置Integer

时间:2014-08-06 09:08:54

标签: java

如果我放了一段代码,如

,我试图这样做
if ((variable1 - variable2) < 0)
        int variable5 = (variable3 + variable4);

但这似乎对我不起作用。所以我想知道是否有人有解决方案?

4 个答案:

答案 0 :(得分:6)

您正在尝试声明变量作为if语句体中的唯一语句。这是不允许的,因为它没有意义 - 变量将在之后立即超出范围。您应该首先声明变量:

int variable5 = 0; // Or whatever value you want otherwise
if (variable1 - variabl < 0)
    variable5 = variable3 + variable4;

或者,如果您只需要if语句正文中的变量,则需要更多语句:

if (variable1 - variabl < 0) {
    int variable5 = variable3 + variable4;
    // Use variable5
}

我强烈建议您始终使用带有if语句(和循环等)的大括号。

答案 1 :(得分:0)

如果您只使用1个语句作为if的正文,则无法声明局部变量。

试试这个:

int variable5 = 0; // Default value
if (variable1 - variable < 0)
    variable5 = variable3 + variable4;

答案 2 :(得分:0)

你在if中定义你的整数,如果是块,它就是一行,所以变量只是声明然后被删除,因为它超出了范围 -

if ((variable1 - variable) < 0)
     int variable5 = (variable3 + variable4);

在外面宣布 -

int variable5 = 0;
if ((variable1 - variable) < 0)
     variable5 = (variable3 + variable4);

答案 3 :(得分:0)

根据您的代码,您可以在&#34;条件&#34;返回true。 因此,只要条件&#34;的代码块一起;结束,你的块变量&#34;变量5&#34;被毁了。所以你不能使用它。

在if条件块之前声明它并在块中为其赋值 或者,如果您希望它在if条件块中声明,请仅在该块内使用它!