根據我的理解,我們需要在編譯時定義數組大小。但是根據下面的代碼,我們似乎也可以在運行時提供數組大小。我們可以在運行時提到陣列大小嗎?
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 []'變量,然後它會定義大小。然後將數組固定爲該大小,但不必在創建之前對大小進行硬編碼。 –