有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java int[]table=new int[10],x;语法是否有效?

当我初始化一个新数组时,我注意到如果我放置一个,x,它仍然可以编译。我不确定这里发生了什么

int[] table = new int[10],x;
for(int x=1; x<11; x++){
    System.out.println("Count is: " + x);
}

如果我试着运行它,它会说x已经被定义了。我永远不会以这种方式编写代码,因为它会让人感到非常困惑;我只是好奇x的定义是什么


共 (3) 个答案

  1. # 1 楼答案

    它被定义为基于第一条语句的int[]。C族语言(C,C++,爪哇,C,d,…)允许用^ {CD2}}分离相同类型的声明。对于一组不同类型的新声明,用;终止语句并编写一个新的声明(这基本上就是for循环中的声明)

  2. # 2 楼答案

    int[] table = new int[10],x;
    

    是有效语法,因为x只是另一个int[]数组变量

    就像在一行中声明一种类型的多个变量一样:

    int a=1,b,c,d,e,f;
    

    If I try running this it says that x is already defined

    因为您正试图在同一作用域下的for循环中第二次声明x。在您的代码中,我认为没有必要将x定义为数组类型,您可以像以前一样在循环中始终将x定义为int

  3. # 3 楼答案

    当然,你会得到一个语法错误。您在开始时已将x定义为int数组。因此,不能在x的范围内将其重新定义为int变量