为什么我在Java中遇到这个编译错误?

时间:2009-03-10 23:21:47

标签: java

在java中为什么编译器不允许使用以下代码?

public class Test {

    public static void main(String[] args) {

        int x;
        int x = 4;// the error is generated here

    }

}

2 个答案:

答案 0 :(得分:12)

因为第二个

int x = 4;

尝试创建int类型的变量名“x”,但此变量已存在(在上一行中创建)

可能你想这样做:

int x;
x = 4;

(不在第二行使用int)

将值4分配给x。

甚至更好:

int x = 4;

创建int类型的变量x并赋值4.

答案 1 :(得分:11)

您已声明了两个int个变量;两者都命名为x。这是不允许的。

尝试:

public static void main(String[] args) {
    int x;
    x = 4;
}