Java_53_数组的三种初始化方式_数组的界限(下标)_静态初始化和动态初始化的区别

数组初始化

1.静态初始化

除了用new关键字来产生数组以外,还可以直接定义数组的同时就为数组元素分配空间并赋值。

int[] a={1,2,3};

Man[] mans={new Man(1,1),new Man(2,2)}

2.动态初始化

数组定义与为数组元素分配空间并赋值的操作分开进行。

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

int[] a=new int[2];

a[0]=1;

a[1]=2;

3.数组的默认初始化(数组元素相当于对象的成员变量)成员变量默认值:https://blog.csdn.net/pmcasp/article/details/78406662

默认初始化:数组元素相当于对象的成员变量,默认值跟成员变量的规则一样。数字0,布尔false,char\u0000,引用:null

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

int a[]=new int[2]; //0,0

boolean[] b=new boolean[2]; //false,false

String[] s=new String[2]; //null,null

数组的界限

下标的合法区间:[0,length-1]

数组的长度是不可变的,如果越界,则报:ArrayIndexOutofBoundsException

 

静态初始化和动态初始化的区别?

数组的静态初始化
int[] a={1,2,3,4};

动态初始化
int[] intArray;//声明数组
intArray = new int[5];//为数组分配空间

所谓的静态和动态是相对于程序运行是而言的,静态是在程序编译时就初始化好了的,动态初始化是在程序运行是才动态分配内存空间。对于代码而言,其实都可以。唯一不一样的地方, 就是动态的初始值都是0,静态的是直接给定值了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_Pmc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值