Java-9 数组

一、数组概念: 

  1.数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
  2.数组既可以存储基本数据类型,也可以存储引用数据类型。

二、数组定义格式: 

  格式1:数据类型[] 数组名;   //推荐使用此种格式
  格式2:数据类型 数组名[];

三、数组初始化

  1.概念:Java中的数组必须先初始化,然后才能使用。所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。

   2.初始化方法:

    2.1 动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。

    格式:数据类型[] 数组名 = new 数据类型[数组长度];

 int[] arr = new int[5];   //动态初始化

    2.2 静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度

    格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};        

       数据类型[] 数组名 = {元素1,元素2,…}; 

int[] arr = {1,2,3,23,2,6,5,99,4,6,45,6,1,94,1,19,165,16,19,65,116,1,1};
int[] arr = new int[]{1,23,15,18};
public class ArrayDemo {
    public static void main(String[] args) {
//        int[] arr = new int[5];   //动态初始化
        int[] arr = {1,2,3,23,2,6,5,99,4,6,45,6,1,94,1,19,165,16,19,65,116,1,1};    //静态初始化
        System.out.println(arr);//数组地址值
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        int sum = 0;
        //数组求和
        System.out.println("===========数组求和===================");
        for (int i=0; i<arr.length; i++){
            sum += arr[i];
        }
        System.out.println("数组之和"+sum);
        //数组遍历
        System.out.println("===========数组遍历===================");
        for (int i = 0; i<arr.length; i++){
           if(i==0){
               System.out.print("["+arr[i]+"\t");
           } else if(i==arr.length-1){
               System.out.println(arr[i]+"]");
           }else{
               System.out.print(arr[i]+"\t");
           }
        }

        System.out.println("===========数组最大值===================");
        int max = arr[0];
        for (int i=1; i<arr.length; i++){
            if(arr[i] > max){
                max = arr[i];
            }
        }
        System.out.println("数组最大值是"+max);
    }
}

  3.封装调用

public class ArrayDemo1 {
    public static void main(String[] args) {
        //调用最大值
        int max = maxNum(new int[]{2,5,4,6,4,8,5,9});
        System.out.println("数组最大值是"+max);
        //调用最小值
        int min =minNum(new int[]{2,5,4,6,4,8,5,9});
        System.out.println("数组最小值是"+min);
        //调用遍历
        traverse(new int[]{2,56,8,6,19,4});
        forEach(new int[]{12,56,564,51,21,45});
    }

    //有返回值,输出数组最大值
    public static int maxNum(int[] arr){
        int max = arr[0];
        for (int i=1; i<arr.length; i++){
            if(arr[i]>max){
                max = arr[i];
            }
        }
        return max;
    }

    //有返回值,输出数组最大值
    public static int minNum(int[] arr){
        int min = arr[0];
        for (int i=1; i<arr.length; i++){
            if(arr[i]<min){
                min = arr[i];
            }
        }
        return min;
    }

    //无返回值的
    public static void traverse(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            if (i == 0){
                System.out.print("[" + arr[i]+"\t");
        }else if (i == arr.length-1) {
                System.out.println(arr[i]+"]");
        }else{
                System.out.print(arr[i]+"\t");
            }
    }
    }

    //for-each语句
    public static void forEach(int[] arr1){
        for(int element : arr1){
            System.out.println(element);
        }
    }
}

  

posted @ 2021-09-22 20:29  艺术派大星  阅读(67)  评论(0)    收藏  举报
levels of contents