根据我的理解,我们需要在编译时定义数组大小。但是根据下面的代码,我们似乎也可以在运行时提供数组大小。我们可以在运行时提到阵列大小吗?
public class Test {
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
int length= scan.nextInt();
int arr[] = new int[length];
for(int i =0; i < length;i++){
arr[i]=i;
}
for(int data : arr){
System.out.println("Data: "+data);
}
}
}
我真的很感激,如果有人可以请解释我的行为。
不确定要解释什么。你的理解是错误的。 – tnw
这不是您在编译时定义它,而是它在某个时刻定义的。在上面的例子中,当代码被执行时,它会创建'arr []'变量,然后它会定义大小。然后将数组固定为该大小,但不必在创建之前对大小进行硬编码。 –