JAVA 数组|二维数组

变量 : 存储单个数据

数组 :存储多个数据

一,数组

1.定义:

在内存中是一段连续的内存空间,线性序列

相同数据类型数据的有序集合

2. 特点 :

  1. 1.引用数据类型 []

基本数据类型的数据为对应类型数据值 100 false 'a'

引用数据类型的数据为对象数据 new

  1. 定长,长度一旦确定不可改变

  1. 存储的多个数据要求类型相同

  1. 有序的,索引,根据根据索引区分数组中的每一个空间

3.索引 :

是数组连续内存空间中每一个空间得到唯一标识

根据索引操作数组中的数据 数组名[索引]

索引从0开始每次+1

最后一个空间的索引为 : 数组名.length-1

4.长度 : 数组名.length

5.数组的定义 :

5.1数组的声明 :

数据类型 变量名; -->变量的声明

数组的声明 :

数据类型[] 数组名; --> 推荐

数据类型 数组名[];

数据类型 []数组名;

//声明
        int[] arr1;
        char arr2[];
        boolean []arr3;

5.2 初始化 :

动态初始化 : 先创建数组后赋值

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

数据类型 : 可以为任意数据类型(基本|引用)

长度 : 整数 0~n

 //动态初始化
        arr1 = new int[3];
静态初始化 : 创建数组的同时赋值

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

数据类型[] 数组名 = {数据1,数据2,数据3....};

 //静态初始化
        arr2 = new char[]{'a','b','c','d'};
        System.out.println(arr2[0]);
        System.out.println(arr2[1]);
        System.out.println(arr2[2]);
        System.out.println(arr2[3]);

5.3 默认值 : 数组创建没有赋值,存在默认值

整数 : 0

小数 : 0.0

布尔 : false

字符 : 空字符

6.数组的遍历

for --> 在任意位置迭代

通过for的条件i控制数组的索引变化,在循环体中根据索引操作数组中的数据

foreach ---> 只能正向迭代

for(数据类型 变量名:数组名|集合名){

根据变量名是使用数组中的每一个数据

}

二,二维数组 :

数组中存放数组

1.声明 :

数据类型[][] 数组名; -->推荐

2.初始化 :

2.1 动态初始化 :

创建数组同时不确定不确定数据

数据类型[][] 数组名 = new 数据类型[外层二维数组长度][内层一维数组长度];

数据类型[][] 数组名 = new 数据类型[外层二维数组长度][];

数组名[二维数组的索引] = new 一维数组[长度];

数组名[二维数组的索引] = new 一维数组[]{数据值....};

 //动态初始化
        double[][] arr1 = new double[2][3];
        String[][] arr2 = new String[2][];
        arr2[0] = new String[]{"aaa","bbb","ccc"};
        arr2[1] = new String[2];
        arr2[1][0] = "中国";
        arr2[1][1] = "北京";

2.2静态初始化 :

创建数组的同时赋值,根据数据的个数决定数组的长度

数据类型[][] 数组名 = new 数据类型[][]{{值列表},{值列表},....};

数据类型[][] 数组名 = {{值列表},{值列表},....};

     //静态初始化
        //char[][] arr3 = new char[][]{{'a','b','c'},{'d','e'}, {'f'}};
        char[][] arr3 = {{'a','b','c'},{'d','e'}, {'f'}};
        System.out.println(arr3[0][0]);
        System.out.println(arr3[0][1]);
        System.out.println(arr3[0][2]);
        System.out.println(arr3[1][0]);
        System.out.println(arr3[1][1]);
        System.out.println(arr3[2][0]);

3.操作数组中的数据 :

数组名[外层二维数组索引][内层一维数组索引]

//获取数据
        System.out.println(arr1[0][0]);
        System.out.println(arr1[0][1]);
        System.out.println(arr1[0][2]);
        System.out.println(arr1[1][0]);
        System.out.println(arr1[1][1]);
        System.out.println(arr1[1][2]);

4.遍历 :

双重循环嵌套

for-->foreach

for-->for

foreach-->foreach

foreach-->for

    //数组的遍历
        System.out.println();
        System.out.println("===========for for==========");
        //for  for
        for (int i = 0; i < arrs4.length; i++) {
            for (int j = 0; j < arrs4[i].length; j++) {
                System.out.print(arrs4[i][j]);
            }
        }
        System.out.println();
        System.out.println("=========for foreach========");

        //for foreach
        for (int i = 0; i < arrs4.length; i++) {
            for (int num:arrs4[i]) {
                System.out.print(num);
            }
        }

        System.out.println();
        System.out.println("======foreach foreach=======");
        for(int[] nums:arrs4){
            for(int num:nums){
                System.out.print(num);
            }
        }

        System.out.println();
        System.out.println("========foreach for==========");
        for (int[] nums:arrs4){
            for (int i = 0; i < nums.length; i++) {
                System.out.print(nums[i]);
            }
        }

5.Arrays : 该类包含用于操作数组的各种方法(例如排序和搜索)。

静态工厂,所有的功能直接通过类名.调用

注意 :

==比较基本数据类型,比较的是数据值

==比较引用数据类型,比较的是对象的地址值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值