Java中的数组

一、数组是什么

1.数组是存放同一种数据类型的元素的集合,也可以看作为一个容器。

特点: 1、元素的数据类型一致,可以存放基本数据类型,也可以存放引用数据类型。
            2、数组的长度是固定的。

2.数组的定义格式

        1、数据类型[ ] 数组名; (推荐使用第一种)
        2、数据类型 数组名[ ];

3.数组的初始化方式

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

  • 格式:数据类型[ ] 数组名 = new 数据类型[数组长度];
  • 数组长度其实就是数组中元素的个数;
  • 举例:

        int[ ] arr = new int[3];

        解释:定义了一个int类型的数组,这个数组可以存放3个int类型的值。

2.静态初始化:在定义的时候就手动给出初识值。

  • 格式: 数据类型[] 数组名= new 数据类型[]{元素值1,元素值2,元素值3,....};
  •          简化格式:数据类型[] 数组名={元素值1,元素值2,元素值3.....};
public class ArrayDemo5 {
    public static void main(String[] args) {
        //定一个数组并静态初始化
        int[] arr = {100,200,300,400};
        System.out.println(arr);
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        System.out.println(arr[3]);

    }
}

4.如何给一个数组进行赋值?

/*
        定义两个数组,先定义一个数组,赋值,输出。
        然后定义第二个数组的时候把第一个数组的地址赋值给第二个数组。
        然后给第二个数组赋值,再次输出两个数组的名及元素。

 */
public class ArrayDemo4 {
    public static void main(String[] args) {
        //定义第一个数组
        int[] arr1 = new int[3];
        arr1[0] = 11;
        arr1[1] = 22;
        arr1[2] = 33;
        System.out.println(arr1);
        System.out.println(arr1[0]);
        System.out.println(arr1[1]);
        System.out.println(arr1[2]);

        //定义第二个数组的时候把第一个数组的地址赋值给第二个数组。
        int[] arr2 = arr1;
        arr2[0] = 100;
        arr2[1] = 200;
        System.out.println(arr1);
        System.out.println(arr2);
        System.out.println(arr1[0]);
        System.out.println(arr1[1]);
        System.out.println(arr1[2]);
    }
}

5.数组遍历

1.获取的长度的属性:length
        使用格式:数组名.length。

/*
        数组获取最值(获取数组中的最大值最小值)
 */
public class ArrayDemo8 {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};
        //思路:任意取一个值,假设它就是最大值
        //然后拿着这个值与其余的值做比较,如果说遇到了比它还大的值,将该值作为临时最大值,当遍历完之后,获取到真正的最大值
        //一般情况下,取第一个元素为最大值
        int max = arr[0];

        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }

        System.out.println("数组中最大值为:" + max);

        System.out.println("==============用方法改进==============");
        int maxNumber = getMaxNumber(arr); //0x001
        System.out.println("数组中最大值为:" + maxNumber);

    }
    /**
     *      定义一个获取数组最大值的方法
     *          返回值类型:int
     *          参数列表:int[] arr
     */
    public static int getMaxNumber(int[] arr1){ //0x001
        int max = arr1[0];

        for (int i = 1; i < arr1.length; i++) {
            if (arr1[i] > max) {
                max = arr1[i];
            }
        }
        return max;
    }
}

二、二维数组

        1.什么是二维数组。

                二维数组其实就是一个元素为一维数组的数组。

         2.二维数组的定义格式。

                格式一:数据类型[][] 变量名=new 数据类型[m][n];

                                        m表示这个二维数组有多少个一维数组;

                                        n表示每一个一维数组的元素个数。

                                举例:int [][] arr= new int[3][2];

                                           定义了一个二维数组arr;这个二维数组有3个一维数组,名称是arr[0]、arr[1]、arr[2];每个一维数组有两个元素,可以通过arr[m][n]来获取。(表示获取第m+1个一维数组的第n+1个元素)。

                格式二:数据类型[][] 变量名=new 数据类型[m][];

                                        m表示这个二维数组有多杀个一维数组;

                                        这个方式没有给出一维数组的元素个数,可以动态给出。

                                举例:int[][] arr=new int[3][];

                                          arr[0] = new int[2]; arr[1]= new int[3];arr[2]=new int[1];

/*
    二维数组第二种定义格式:
        数据类型[][] 变量名 = new 数据类型[m][];
        举例:int[][] arr = new int[3][];

 */
public class Array2Demo2 {
    public static void main(String[] args) {
        //定义二维数组的第二种格式
        int[][] arr = new int[3][];
        System.out.println(arr);
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

        //给二维数组种第一个元素赋值一个一维数组
        //赋值后的意义是:表示二维数组种第一个元素是一个长度为4的int类型的一维数组。
        arr[0] = new int[4];
        //赋值后的意义是:表示二维数组种第二个元素是一个长度为5的int类型的一维数组。
        arr[1] = new int[5];
        //赋值后的意义是:表示二维数组种第三个元素是一个长度为10的int类型的一维数组。
        arr[2] = new int[10];
        System.out.println(arr);  //二维数组的地址值
        System.out.println(arr[0]); //二维数组中第一个一维数组的地址值
        System.out.println(arr[1]); //二维数组中第二个一维数组的地址值
        System.out.println(arr[2]);//二维数组中第三个一维数组的地址值


    }
}

                格式三:数据类型[][] 变量名=new 数据类型[][]{{元素.....},{元素.....},{元素.....}...};

                                简化版格式:

                                        数据类型[][] 变量名={{元素....},{元素....},{元素....}};

                                        举例:int[][] arr= {{1,2,3},{4,6},{6}};

public class Array2Demo5 {
    public static void main(String[] args) {
        //定义一个二维数组表示是一个公司,每个季度相当于一个一维数组作为二维数组的元素传入
        int[][] arr = {{22, 66, 44}, {77, 33, 88}, {25, 45, 65}, {11, 66, 99}};

//        int[][] arr = new int[2][]{{1,2},{3,1,2}};

        //定义一个变量统计总销售额
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                sum = sum + arr[i][j];
            }
        }

        System.out.println("该公司年销售额为:" + sum);


    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值