1. 程式人生 > 其它 >Java陣列-(上)

Java陣列-(上)

Java陣列

陣列宣告建立

package com.zhang.array;

public class ArrayDemo01 {
    public static void main(String[] args) {
        int[] nums;     //宣告陣列  首選方法!
        int nums2[];    //宣告陣列
        int[] num3 = new int[5];//建立陣列
        nums = new int[10];//建立一個數組 陣列長度為10

        nums[0]=1;
        nums[1]=2;
        nums[2]=3;
        nums[3]=4;
        nums[4]=5;
        nums[5]=6;
        nums[6]=7;
        nums[7]=8;
        nums[8]=9;
        //不賦值為該型別的預設值
        System.out.println(nums[9]);
    }
}

記憶體分析

三種初始化

package com.zhang.array;

public class ArrayDemo03 {
    public static void main(String[] args) {
        // 靜態初始化
        int[] a= {1,2,3,4,5};
        System.out.println("a[0]="+a[0]);
        // 動態初始化,包含預設初始化
        int[] b = new int[5];
        b[0]=5;
        b[4]=10;
        System.out.println("b[3]="+b[3]);
        System.out.println("b[4]="+b[4]);
    }
}

陣列的四個基本特點

陣列邊界

陣列的使用

package com.zhang.array;

public class ArrayDemo04 {
    public static void main(String[] args) {
        int[] array = new int[5];
        for (int i = 0;i< array.length;i++)  // 給陣列賦值
            array[i]=i+1;
        //遍歷陣列
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i]+" ");
        }
        System.out.println("\n================");
        // 求陣列所有元素的和
        int sum=0;
        for (int i = 0; i < array.length; i++) {
            sum+=array[i];
        }
        System.out.println(sum);
        System.out.println("================");
        // 查詢陣列中最大的元素
        int max=array[0];
        array[2]=6;
        for (int i = 1; i < array.length; i++) {
            if(array[i]>max)
                max=array[i];
        }
        System.out.println(max);
    }
}
package com.zhang.array;

public class ArrayDemo05 {
    public static void main(String[] args) {
        int[] array = new int[5];
        for (int i = 0;i< array.length;i++)  // 給陣列賦值
            array[i]=i+1;
        //增強for迴圈遍歷陣列
        for (int num:array) {//num為依次獲取的陣列的元素,array是陣列
            System.out.print(num+" ");//無法獲取陣列的下標
        }
        System.out.println("\n==================");
        printArray(array);
        System.out.println("\n==================");
        int [] result=reverse(array);
        printArray(result);
    }
    //陣列做為方法的引數
    public  static void printArray(int[] array){
        for (int num:array) {
            System.out.print(num+" ");
        }
    }
    //陣列做為方法的返回值
    public static int[] reverse(int[] array){
        int[] result=new int[array.length];
        for (int i=0,g= result.length-1;i<array.length;i++,g--)
            result[g]=array[i];
        return result;
    }
}