1: int[] i1 ;//使用陣列先宣告
2: i1 = new int[5];//再建立(實體化或建立實體)
3:
4: int[] i2 = new int[5];//同時宣告和建立
5:
6: String s3[] = {"c678","b345","a123","e999","d100"};//宣告陣列時,中括號也可以放在名稱之後,順便初始化
7:
8: for(int i=0; i<i1.length; i++)//使用length取得陣列長度
9: {
10: i1[i] = i;//使用for迴圈加上索引值設定陣列內容
11: }
12:
13: for(String s:s3)//使用for-each取得陣列內容
14: {
15: System.out.println(s);//c678 b345 a123 e999 d100 (s的內容為s3陣列元素的內容)
16: }
17:
18: Arrays.sort(s3);//陣列排序
19:
20: for(String s:s3)//使用for-each取得陣列內容
21: {
22: System.out.println(s);//a123 b345 c678 d100 e999 (s的內容為s3陣列元素的內容)
23: }
24:
25: //使用 Arrays.binarySearch 尋找指定陣列元素,並回傳陣列索引值,如果找不到,會將指定元素加入陣列排序(但不影響原陣列)再回傳該負索引值-1
26: int arrayIndex = Arrays.binarySearch(s3, "c100");
27: System.out.println(arrayIndex);//-3
28:
29:
30: String[] s5 = Arrays.copyOf(s3, s3.length);//陣列傳值,使用Arrays.copy是複製一份新的陣列,修改s3不影響s5
31: s3[s3.length-1] = "f888";
32: for(String s:s5)//使用for-each取得陣列內容
33: {
34: System.out.println(s);//a123 b345 c678 d100 e999 (s的內容為s5陣列元素的內容)
35: }
36:
37: String[] s4 = s3;//陣列傳址,因為陣列存放第一個元素的記憶體位址所以指定給另一個陣列,事實上是共享該陣列,所以修改s3會影響s4
38: s3[s3.length-1] = "g777";
39: for(String s:s4)//使用for-each取得陣列內容
40: {
41: System.out.println(s);//a123 b345 c678 d100 g777 (s的內容為s4陣列元素的內容)
42: }
43:
44: int[][] i3;//宣告多維陣列
45: i3 = new int[2][2];//建立相同維度的2維陣列
46: i3[0][0] = 0;//使用索引值設定元素
47: i3[0][1] = 1;
48: i3[1][0] = 2;
49: i3[1][1] = 3;
50:
51: int[][] i4 = {{0,1},{2,3}};//同時宣告和建立(和i3相同)
52:
53: int[][] i5;//宣告多維陣列
54: i5 = new int[2][];//建立不規則的2維陣列
55: i5[0] = new int[1];//第1個陣列只有1個元素
56: i5[1] = new int[3];//第2個陣列有3個元素
57: i5[0][0] = 0;
58: i5[1][0] = 1;
59: i5[1][1] = 2;
60: i5[1][2] = 3;
61:
62: int[][] i6 = new int[][]{{0},{1,2,3}};//同時宣告,建立,初始化不規則多維陣列