java陣列之陣列的使用和多維陣列
阿新 • • 發佈:2022-05-11
java陣列
1.陣列的使用
-
陣列使用通常用於以下幾種
- 普通的for迴圈:普通的for迴圈是使用最多的,從陣列取出資料或者下標操作。
- for-Each迴圈:增強型的for迴圈,前一個引數代表陣列中的每一個元素,後一個引數代表陣列名可遍歷輸出所有陣列元素,但是無法取得下標,一般用來列印一些結果。
- 陣列作方法入參 :陣列作引數,可對陣列進行操作
- 陣列作返回值 :一般用於反轉陣列,對陣列修改一下,返回一個新的陣列。
1.1 陣列基本使用演示:
package array; // 陣列的簡單使用 public class ArrayDemo04 { public static void main(String[] args) { int[] a={3,4,5,8,6}; //列印陣列中的元素 for (int i = 0; i <a.length ; i++) { System.out.println(a[i]); } //計算資料的和 int sum=0; for (int i = 0; i <a.length ; i++) { sum=a[i]+sum; //sum+=a[i]; //精簡寫法 } System.out.println("sum = " + sum); //查詢陣列最大值 int max=a[0]; for (int i = 1; i <a.length ; i++) { if (a[i]>max){ max=a[i]; } } System.out.println("最大的數:"+max); } }
執行結果
3
4
5
8
6
sum = 26
最大的數:8
———————————————————————————————————————————————————————————
1.2陣列進階使用演示:
package array; //陣列的進階使用 public class ArrayDemo05 { public static void main(String[] args) { int[] a={1,2,3,4,5,6}; //for-Each 迴圈 //JDk 1.5 沒有下標 for (int i : a) { System.out.println(i); } System.out.println("========================"); print(a);//使用陣列作引數,列印陣列中元素 int[] results= resver(a); System.out.println(results);//列印的是results中的地址 print(results); } //陣列呼叫中傳參 public static void print(int[] B){ for (int i = 0; i <B.length ; i++) { System.out.println(B[i]); } System.out.println("============="); } // 反向陣列 public static int[] resver(int[] a){ int[] result=new int[a.length];//需要定義一個新陣列來接收原陣列中的元素 //反轉的操作過程 // 初始化 布林表示式 更新語句 for (int i = 0 ,j=result.length-1; i <a.length; i++,j--) { result [j]=a[i]; } return result;//反轉陣列元素:陣列作為返回值,即返回的是一個數組型別的變數名 } }
執行結果
1
2
3
4
5
6
========================
1
2
3
4
5
6
=============
[I@1b6d3586
6
5
4
3
2
1
=============
2.多維陣列
-
多維陣列可以看成是陣列的陣列,比如二維陣列就是一個特殊的一維陣列,其每一個元素都是一個一維陣列。
-
二維陣列定義
int[][] a=new int[2][5];
int[][] b={{1,2},{2,4},{4,6},{6,9,7,8}};
- 解析:以上二維陣列 a 可以看成一個兩行五列的陣列。
- 獲取陣列長度
- a.length
- a[i].length
2.1 多維陣列使用演示:
package array;
public class ArrayDemo06 {
public static void main(String[] args) {
int[][] a=new int[2][5];
int[][] b={{1,2},{2,4},{4,6},{6,9,7,8}};
System.out.println(b[2][1]); // 結果為6
//[4][2] //一維陣列的每個元素是一個數組,且每個陣列中包含兩個元素
/*
* 1,2 b[0]
* 2,4 b[1]
* 4,6 b[2]
* 6,9 b[3]
*
*
* */
//獲取陣列長度
// a.length
// a[i].length
//二維陣列的遍歷
for (int i = 0; i <b.length ; i++) {
for (int j = 0; j < b[i].length; j++) {
System.out.print(b[i][j]+"\t");
}
System.out.println();
}
prinarray(b[0]);
}
public static void prinarray(int[] arry){
for (int i = 0; i <arry.length ; i++) {
System.out.print(arry[i]+" ");
}
}
}
執行結果
6
1 2
2 4
4 6
6 9 7 8
1 2
———————————————————————————————————————————————————————————