從頭開始的Java學習Day05

XiaoFanMi發表於2020-11-14

陣列

     一組資料型別相同的元素集合
     陣列是引用型別(物件)
     陣列中可以儲存基本型別,也可以儲存引用型別

陣列的宣告

資料型別 [] 陣列名 ; eg:int [] a;
資料型別 [] 陣列名; eg: int a [];

int 標識陣列中的元素為int型別
            儘量使用第一種命名方式
        int [] a,d;//a,d都是陣列
        int b [],c;//b是陣列 c是變數
public static void main(String[] args) {
        /*陣列的建立*/
        /*
            new 資料型別[長度];
            java 中的陣列在建立時必須給定其長度
            長度一旦給定,不可更改
            new int[5];表示在記憶體中找一塊長度為5的連續空間,每一個空間都有初始值,int:0;
        */
        int [] a = new int [5];
        System.out.println(Arrays.toString(a));
        System.out.println("-------------------------");
        //String 型別預設初始值 null
        String [] b = new String[]{"a","b","c","d"};
        System.out.println(Arrays.toString(b));
        System.out.println("-------------------------");
        //char 型別預設初始值為空
        char [] e = new char[]{'e','f','g','h'};
        System.out.println(Arrays.toString(e));
        System.out.println("-------------------------");

        //建立時直接賦值
        int [] c = new int[]{1,2,3};
        System.out.println(Arrays.toString(c));
        int [] d = {4,5,6};
        System.out.println(Arrays.toString(d));
    }
}

陣列的訪問

陣列中的元素進行訪問
陣列中的每個空間都有一個下標
通過下標來訪問指定位置的元素
下標特點:整數從0開始計數到長度-1

		int [] a = new int[5];
        a[0]=11;
        a[1]=22;
        System.out.println(a[0]);
        System.out.println(a[1]);
        System.out.println(a[2]);
        System.out.println(a[3]);
        System.out.println(a[4]);
        System.out.println("陣列長度:"+a.length);


		/*
           程式執行時異常 :在執行時由於資料問題導致程式無法執行,
           虛擬機器向控制檯輸出異常原因,停止執行
           Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
	        at com.ff.javaarray.day1.Demo2.main(Demo2.java:29)
         */
        a[5] = 10;//訪問一個陣列的非法索引(下標)
        

輸出結果

11
22
0
0
0
陣列長度:5
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
	at com.javabase.Day03.Demo02.main(Demo02.java:23)

陣列的遍歷/迭代

訪問陣列中的每一個元素並輸出

		int [] a= new int[]{1,2,3,4};
        for (int i=0;i<a.length;i++){
            System.out.println(a[i]);
        }
        System.out.println("--------------------");

        /*
            增強for(for each迴圈)
            定義一個int型別的陣列類接收陣列a中的元素
         */
         int [] b= new int[]{4,5,6};
        for (int temp:b) {
            System.out.println(temp);
        }

輸出結果

1
2
3
4
--------------------
4
5
6

相關文章