在if else语句中声明变量?

时间:2014-06-23 03:28:10

标签: java if-statement for-loop

我还是Java编程的新手,所以我有一个问题。 我可以在if-else语句中声明一个变量,就像for循环吗?

    for (int i=0; i<10; i++)



    int test;
    if (test=6;test ==9;) {
        System.out.println("Yes");
    }
    else {
        System.out.println("No");
    }

3 个答案:

答案 0 :(得分:2)

不,你不能那样做。 if语句中圆括号内的内容必须是提供boolean值的单个表达式。变量声明永远不是Java中的表达式。

假设您正在尝试声明test以使其范围仅限于if / else语句,那么这是如何做到的:

public void someMethod() {
    ....
    { // nested block to limit the scope of 'test'
        int test = 6;
        if (test == 9) {
            System.out.println("Yes");
        }
        else {
            System.out.println("No");
        }
    }
}

(这个例子没有多大意义,但我认为这并不意味着。)

答案 1 :(得分:0)

这是错误的

if (test=6;test ==9;) {
        System.out.println("Yes");
    }
    else {
        System.out.println("No");
    }

if()

中不能有分号

您正在进行的操作称为初始化(test=6;),这是不允许的。如果像if(test==6)

那样,您可以比较内部的两个变量

请记住java If仅接受booleantrue false(不像javascript中接受任何大于1的内容)

答案 2 :(得分:0)

java中条件或决策语句中的表达式必须求值为布尔值(true / false)。即便是以下情况也不会编译:

if(null){}
if(0){}

等等。