骖六龙行御九州之第四天——数组概述

  • 一维数组

  • 二维数组

一、什么是一维数组?

  • 存数的,可以存多个(连续的开辟多个单元)

  • 数组是相同类型数据的有序集合。

  • 数组内存原理

    • 开辟好后产生一个地址值

    • 数组占据了jvm内存中一块叫[I@5413652665]的内存地址

  • 如何使用数组?

    • 初始化

    • 赋值

    • 取值

  • 数组初始化

    • 其实,数组也是引用类型;

    • 初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程

    • 初始化分类

      • 静态初始化

      • 动态初始化

    1. 静态初始化

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

      2. 简化格式为:数据类型[ ] 数组名 = {元素1,元素2,元素3…};

      3. 示例代码

    int[] array1 = new int[]{1,2,3,4,5,6,7,8,9};
    int[] array2 = {1,2,3,4,5,6,7,8,9};
    1. 动态初始化

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

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

      3. 示例代码

    int[] array = new int[10];
  1. 两种初始化区别

    1. 动态初始化:手动指定数组长度,由系统给出默认初始化值。

      1. 数据类型[] 数组名 = new 数据类型[长度];

    2. 静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度

      1. 数据类型[] 数组名 = new 数据类型[]{数值1,数值2,......}

    3. 计算数组长度

      1. 数组名.length

  • 两种初始化应用场景

      • 静态初始化:如果要操作的数据需求中已经明确给出了,那么直接静态初始化。

      • 动态初始化:只明确元素个数,不明确具体数值。

  • 数组的赋值

    • 格式

      • 数组名[索引] = 数值

public class Demo1 {
    public static void main(String[] args) {
        int[] arr = new int[6];
        arr[0]=11;
        arr[1]=22;
        arr[2]=66;     //赋值
        arr[3]=33;
        arr[4]=44;
        arr[5]=55;
       /* System.out.println(arr[0]);  //取值
        int a = arr[1];
        System.out.println(a);*/
        for (int i = 0;i<arr.length;i++){  //遍历取值
            System.out.println(arr[i]);    //直接取值
            int a = arr[0];                //赋值取值
            System.out.println(a);
        }
        System.out.println("===========火男=========");
        for (int a:arr){                  //加强for取值
            System.out.println(a);
        }
​
    }
  • *取值操作

  • 增强for(jdk1.5新特性)

    1. 代码示例

    2. for( 变量 :遍历的目标){循环体;}

  • 格式

    • 直接取值

      • System.out.println(数组名[索引]);

    • 赋值取值

      • 变量 = 数组名[索引];

      • 区别

        • 直接取值会将数组中的数值,直接输出到控制台

        • 赋值取值,可以将取出的结果只,二次利用

  • 二维数组

一、二维数组概述
  • 二维数组是一种容器,该容器用于存储一维数组。

  • 使用思路:若要操作多组数据,这些数据属于同一个大类,就可以考虑使用二维数组进行维护。

二、二维数组初始化
  1. 静态初始化

  • 完整格式为:数据类型 数组名 = new 数据类型 { {元素1,元素2},{元素1,元素2} };

  • 简化格式为:数据类型 数组名 = { {元素1,元素2},{元素1,元素2} };

  • 动态初始化
    格式:数据类型[ ][ ] 数组名 = new 数据类型[m][n];
    其中,m 表示这个二维数组可以存放多少个一维数组,n 表示每一个一维数组可以存放多少个元素。
  1. 动态初始化

  • 格式:数据类型 数组名 = new 数据类型m

  • 其中,m 表示这个二维数组可以存放多少个一维数组,n 表示每一个一维数组可以存放多少个元素。

  • int[][] array = new int[2][3];//该二维数组可以存放2个一维数组,每个一维数组可以存放3个元素
三、赋值操作
public static void main(String[] args) {
    int[][] arr = new int[2][3];;
    arr[2][3] = 13;
}
四、二维数组取值
  • 思路:

    • 遍历二维数组,获取到每一个一维数组。

    • 继续遍历一维数组,获取到具体的元素。

    • 以下是二维数组的遍历代码:

public static void printArray(int[][] arr){
    //遍历二维数组,获取到每一个一维数组arr[i]
    for (int i = 0; i < arr.length; i++) {
        //继续遍历获取到的一维数组arr[i]
        for (int j = 0; j < arr[i].length; j++) {
            //打印输出
            System.out.print(arr[i][j]+"   ");
        }
    }
}

五:Arrays

一、介绍
  • 现今已经学的三种引用类型之一,分别是Scanner、Radom、Arrays(都是雷锋的产物)

二、Arrays类中的静态方法
  • 介绍较为常用的三种静态方法。

  • toString方法

public class arraysDemo1 {
        public static void main(String[] args) {
            int[] array = {1,5,2,6,8,9,4,3,10};
            //toString方法用来打印数组的内容
            //将数组按照默认格式输出为字符串
            System.out.println(Arrays.toString(array));
        }
    }
//结果为:[1, 5, 2, 6, 8, 9, 4, 3, 10]
  • sort方法

  • public static void main(String[] args) {
            int[][] arr = new int[2][3];;
            arr[2][3] = 13;
            public class arraysDemo2 {
                public static void main(String[] args) {
                    int[] array = {1,5,2,6,8,9,4,3,10};
                    //sort方法用来对数组内容进行升序排序
                    Arrays.sort(array);
                    System.out.println(Arrays.toString(array));
                }
            }
    //结果为:[1, 2, 3, 4, 5, 6, 8, 9, 10]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值