一维数组和二维数组

本文介绍了Java中一维和二维数组的概念、定义方式及初始化方法。包括动态初始化和静态初始化,并讲解了数组的默认值、内存分布以及长度获取。还提到了数组操作中的常见错误和注意事项,如数组索引越界和空指针异常。最后,阐述了二维数组的定义和创建方式。
摘要由CSDN通过智能技术生成

数组:

        1、数组是存储同一种数据类型的多个元素的集合,也可以看成是一个容器

        2、数组既可以存储基本数据类型,也可以存储引用数据类型。

数组的语句定义格式:

        数据类型[ ] 数组名 ;

举例:int[] arr;

        数据类型 数组名[ ];

        举例:int arr[];定义一个存放int类型数据的数组

        现在常用的是第一种格式

        初始化就是给这个变量开辟一个空间,为将来的值提供存放的空间

动态初始化:

        自己给定数组的长度,系统初始化值默认为0;

格式:

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

        int[] arr=new int[i];

        int:数据的类型

        []:表示一个一维数组

        arr:表示数组的名字,符合标识符规则

        new:给定数组一个空间

        int:数据的类型

        i:数组的长度

        int[] arr = new int[3];

        System.out.println(arr);这里输出的arr实际上是arr的地址值

        java为了提高程序的运行效率,就对数据在内存中做了一些划分。、

        具体将jvm在内存中划分了五个部分:

                栈:存储着一些局部变量

                堆:存储着一些new出来的东西,new出来的一律在堆中

        方法区:

        本地方法区:

        寄存器:

        局部变量:定义在方法上或者方法内部的变量,称为局部变量

        重点:堆内存中的系统默认值是如何去给的呢?

        根据元素的数据类型不同,默认值也不同

基本数据类型:

        byte,short,int,long 0

        float,double 0.0

        char ' \u0000'

        boolean false

        引用数据 null

        数组的赋值是通过数组中的索引给元素进行赋值

静态初始化:

        自己初始化变量,系统根据你给的初始化变量来给定数组的长度

静态初始化的格式:

        数据类型[] arr =new 数据类型[]{数组1,数组2};

举例:int[] arr = new int[]{11,22,33};

简化:

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

格式:

        int[] arr={元素1,元素2,元素3};

数组中的常见错误:

        1、ArrayIndexOutOfBoundsException 数组索引越界异常

        访问了不该访问的索引

        2、NullPointerException 空指针异常

        再java开发中我们如何可以获取数组的长度?

        java中数组提供一个属性供我们使用,可以获取数组的长度

这个属性叫做:length;

使用格式:数组名.length

        用新的数组来接收旧的数组中的值是不可取的

因为: 创建新的数组,开辟了新的堆空间,会造成资源的浪费

二维数组:

        二维数组就是里面的元素是一维数组

        二维数组的语句定义格式:

        数据类型[] [] 数组名= new 数据类型[m][n];

格式1:

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

一下写法也是正确的:

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

        2、int arr[][] =new int[][];

格式2:

        数据类型[] [] 变量名 = new 数据类型[m][];

格式3:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值