1. 程式人生 > 其它 >100行程式碼處,二維陣列的遍歷!!

100行程式碼處,二維陣列的遍歷!!

技術標籤:jAVA

package text;

//陣列--將一些資料按照線性順序連續儲存的序列,
//陣列是效率最高的  儲存和訪問元素的一種方式

public class Demo1214 {

	public static void main(String[] args) {
		Demo1214 d = new Demo1214();
		d.f1();
		d.function3();
		d.function();
		d.function2();
		//[]裡面是陣列長度,{}裡面是元素
		int t1 = 0;
		// 這種形式不提倡---[]在後面不提倡
		int array11[
] = new int[10]; // 預設值==0哦 for (int i = 0; i < array11.length; i++) { //array11.length=10 System.out.print(array11[i]); System.out.print(' '); } int array21[] = new int[] {1,2,3,4,5,6}; for (int i = 0; i < array21.length; i++) { //array21.length=6 System.out.println(array21[i]+"can"
); } int array31[] = {4,5,6,7,8}; //這種用法只能在定義時使用 // 三種初始化賦值方式 int []array12 = null; //這種是::是變數,有物件 只要 new 了,就有物件 //這種定義方式 屬於 :是變數,沒物件 double[] array13 ; String[] array14 ; Integer[] array16; // 陣列基本特點: //1-元素型別遵循陣列型別(基本資料型別,引用型別) int型陣列內的元素也只能是int型···
//2-初始化賦值後陣列長度固定不變 //陣列變數--"array14、array13", 一定是 引用型別 //預設值為 null System.out.println(array12); int[] array15 = new int[] {}; // 有物件,長度為零。 // System.out.println(array15[0]); //報錯 ,因為長度為零 } void function() { //陣列是簡單的線性序列,所以訪問速度快、 //陣列中每個元素擁有一個索引值,通過索引值訪問該元素 //索引值取值範圍[0,length)從0開始,到最大長度-1 int[] array = new int[3]; array[0] = 100; int t1= array[0]; System.out.println(t1); System.out.println(array.length); int i=0; while (i<array.length) { System.out.println(i+" "+array[i]); i++; System.out.println("---------------------"); } for (int k : array) { System.out.println(k); } } void function2(){ int[] a1 = new int[] {1,2,3,4,56}; //引用型別 a1 儲存元素的地址 int[] a2 = a1; // a2 引用 a1 int[] a3 = new int[] {1,2,3,4,56}; //引用型別變數(例如這裡的a1、a2、a3),實質上儲存的是 指向記憶體中的一個地址,Java中稱之為 引用 for (int i = 0; i < a1.length; i++) { a2[i]++; System.out.println(a1[i]+" "+a2[i]+" "+a3[i]); } } // 例子: void function3() { int[] a4 = new int[] {1,2,3,4,5}; function5(a4); //a4陣列沒有變化 for (int i : a4) { System.out.println(i); } System.out.println("-------下面是 新的 a4-----"); function4(a4); //a4發生變化 for (int i : a4) { System.out.println(i); } } void function4(int[] a5) { for (int i = a5.length-1; i >=0; i--) { a5[i] *=2; } } void function5(int[] a5) { a5 = new int[] {7,8,9,10}; //這個重新被定義陣列a5改變 for (int i = a5.length-1; i >=0; i--) { a5[i] *=2; } } /** * */ void f1() { //陣列劃分: //一維陣列,二維陣列,多維陣列 //二維陣列 :類似於execl, 表格中的資訊以行、列的形式組織儲存 int[][] array12; int array[][]; int[]array13[]; //三種定義方式 int[][] array31 = new int[2][3]; int[][] array32 = new int[][] {{2,3,4,5},{1,2,34,4}}; int[][] array33 = {{1,2,3},{4,5,6}}; //三種賦值方式 test(array32); System.out.println("============="); } void test(int [][]array) { array[1][2] = 9; System.out.println(array[1][2]); System.out.println(); for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { System.out.print(array[i][j]); System.out.print(" "); } System.out.println(); } System.out.println(); for (int[] p1 : array) { for (int p2 : p1) { System.out.print(p2); System.out.print(" "); } System.out.println(); //在java中認為 二維陣列是 陣列的陣列 //即,二維陣列是一個特殊的一維陣列,其中每個陣列又是一個一維陣列 } } }