在 Java 中宣告一個陣列
在 Java 中宣告一個陣列
下面提到了幾種在 Java 語言中宣告一維陣列的方法。在給出的程式碼之後給出了詳細的描述。
import java.util.stream.IntStream;
public class DeclareAnArray {
public static void main(String[] args) {
int[] intArr1 = new int[3];
int[] intArr2 = {3, 4, 5};
int[] intArr3 = new int[] {3, 4, 5};
int intArr4[] = IntStream.range(0, 10).toArray();
int[] intArr5 = IntStream.of(2, 5, 3, 8, 1, 9, 7).toArray();
int[][] intArr6 = new int[5][2];
int intArr7[][] = new int[5][2];
int[] intArr8[] = new int[5][2];
int[][] intArr9 = {{1, 2}, {1, 2}, {1, 2}, {1, 2}, {1, 2}};
}
}
描述是按照程式碼中語句的順序依次給出的。
int[] intArr1 = new int[3];
是 Java 語言中宣告一維陣列的最簡單方法。首先,編寫我們想要建立陣列的資料型別,因為 int
是資料型別。現在繼續在資料型別名稱後新增方括號 []
,這意味著我們已經宣告瞭一個未定義大小的整數陣列。在資料型別名稱後給一個變數名稱作為 intArr1
。向右移動,在 =
運算子之後放置一個 new
關鍵字。關鍵字 new 狀態例項化一個物件並在堆區域中為其分配記憶體。它繼續進行最初給定的資料型別的建構函式呼叫。由於要宣告陣列,建構函式採用方括號中的陣列大小。=
運算子將建立的物件分配給引用變數。因此,一個大小為 3
的整數陣列被宣告為變數為 intArr1
。
int[] intArr2 = {3, 4, 5};
是另一種在一個地方宣告和例項化值的方法。在這種情況下,我們在 =
運算子的左側給出資料型別和變數名稱。在它的右側,我們直接在大括號 {}
中提供值。在這種情況下,陣列的大小通過宣告的值數量在內部進行評估。因此,建立了一個大小為 3 的整數陣列,其值分別為索引 0,1,2 處的 3,4 和 5。考慮一下,我們在例項化時不向陣列提供任何資料,然後使用其預設值初始化陣列。
int[] intArr3 = new int[]{3, 4, 5};
在所有方面都與第二個類似,但相當冗長。這裡的陣列宣告與第一種方式相同。唯一的區別是,我們沒有明確給出大小,因為在 {}
大括號中定義值時,大小是隱式計算的。因此,一個大小為 3 的整數陣列和初始值也被初始化。
下一個方法是 int intArr4[] = IntStream.range(0, 10).toArray();
。通過這種方式,我們使用 Java 8
及其功能來建立和初始化所需型別的陣列。和左邊的宣告原型不同。這是另一種宣告陣列的方法,其中方括號與變數名一起。所以 intArr4[]
是一個有效的名稱。繼續前進,IntStream
是 java.util.Stream
包中提供的介面。方法 range
是 IntStream
介面中的靜態工廠方法,返回整數值的 IntStream
。它採用兩個值作為引數來定義陣列的下限(包含)和上限(不包含)。最後,使用 toArray
函式將生成的整數流轉換為陣列,這是一個終端運算子。
int [] intArr5 = IntStream.of(2, 5, 3, 8, 1, 9, 7).toArray();
表示另一種宣告陣列的方式。這表示在資料型別和方括號之間放置一個空格是有效的。在 Java 8 中,我們可以使用 of()
函式來定義整數值流。指定的值按順序儲存在整數 Stream 中。然後使用 toArray
函式將該流收集到一個陣列中。
在 Java 中宣告一個二維陣列
二維陣列是將行和列完全組合在一個單元中。二維陣列的宣告包括按順序定義行和列。第一個值定義行數,第二個值定義列數。
int intArr7[][] = new int[5][2];
和 int[] intArr8[] = new int[5][2];
是大小為 5 x 2 的陣列的有效宣告,其中 5 是行數,2 是列數。
int[][] intArr9={ {1,2}, {1,2}, {1,2}, {1,2}, {1,2} };
是一種定義二維陣列的方法,其中我們沒有明確提供。大小是通過花括號中的引數數量在內部計算的。並且花括號的巢狀表示值將被插入到 row1 中,並在前面以逗號分隔的值進行處理。
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn