JAVA-数组

本文介绍了JAVA中的一维和二维数组的定义、初始化方法以及遍历方式,包括静态和动态初始化。同时,提到了数组使用中可能出现的两种错误:ArrayIndexOutOfBoundsException和NullPointerException。
摘要由CSDN通过智能技术生成

目录

JAVA内存分配

一、一维数组

1、一维数组定义:

2.、一维数组的初始化:

二、二维数组

1、二维数组的定义

2、二维数组的初始化

 3.二维数组的遍历

 三、数组中的常见错误


JAVA内存分配

一、一维数组

1、一维数组定义:

一维数组是一种容器,用于存放相同数据类型的众多值。

2.、一维数组的初始化:

1.静态初始化:手动指定元素,系统根据数组中元素的个数确定数组的长度

​
         //完整格式:数据类型[] 数组名 =new 数据类型[]{元素1,元素2,.....,元素n}
        int[] arr=new int[]{11,22,33,44,55};
        //简化格式:数据类型[] 数组名 ={元素1,元素2,.....,元素n}
        int[] arr={11,22,33,44,55};

​

2.动态初始化:手动指定数组长度,系统默认分配初始值

int[] arr=new int[10];
默认值:
整数:0;
小数:0.0;
布尔:false;
字符:'\u0000'(采用Unicode字符集,常见的显示位空白字符);
引用数据类型:(数组,类(String),接口):null;

二、二维数组

1、二维数组的定义

二维数组是一种容器,用于存放一维数组。

2、二维数组的初始化

1.静态初始化

//         完整格式:数据类型[][] 数组名 =new 数据类型[][]{{元素1,元素2,.....,元素n},{元素1,元素2,.....,元素n},{元素1,元素2,.....,元素n}}
        int[][] arr=new int[][]{{11,22,33},{44,55,66},{77,88,99}};
//        //简化格式:数据类型[] 数组名 ={{元素1,元素2,.....,元素n},{元素1,元素2,.....,元素n},{元素1,元素2,.....,元素n}}
        int[][] arr={{11,22,33},{44,55,66},{77,88,99}};

2.动态初始化

        //数据类型[][] 数组名 =new 数据类型[m][n];
        int[][] arr=new int[2][3];
        //m:表示二维数组可以存放多少个一维数组;
        //n:表示每一个一维数组可以存放多少个元素;

注意:二维数组的m索引表示每一个所对应一维数组的首地址,故可以将创建的一维数组赋值给二维数组

        int[] data1={1,2,3};
        int[] data2={4,5,6};
        int[][] data=new int[2][3];
        data[0]=data1;
        data[1]=data2;

 3.二维数组的遍历

        data.length实际为二维数组的行数,即一维数组的个数,data[i].length实际为一维数组的长度

        int[][] data={{11,22,33},{44,55,66},{77,88,99}};
        for (int i = 0; i < data.length; i++)   //获取每一个一维数组data[i]
        {
            for (int j = 0; j < data[i].length; j++)  //获取每一维数组中的每一个元素
            {
                System.out.println(data[i][j]);
            }
        }
        //data[m][n];
        //m索引:指定访问哪一个一维数组;
        //n索引:指定访问一维数组中的哪一个元素;

 三、数组中的常见错误

1.ArrayIndexOutOfBoundsException

数组索引越界异常:访问不存在的数组索引

2.NullPointerException

空指针异常:当引用数据类型的变量被赋值为null后,就代表数组与堆内存的连接被切断,此后如果访问堆内存中的数据会出现空指针异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值