为了账号安全,请及时绑定邮箱和手机立即绑定

数组可以直接赋值?分配空间。区别是什么,那种好用

int[] scores = { 78, 93, 97, 89,90}
System.out.println("打印第二个元素"+scores[2]);


int[] scores =new int[4];
scores[0]=78;
scores[1]=93;
scores[2]=97;
scores[3]=89;
scores[4]=90;
System.out.println("打印第二个元素"+scores[2]);


这两个代码同样都是打印第二个元素,下标元素可以互相访问,我看分配空间可以直接赋值或访问,不需用像第二种去下标赋值  对吧?
第二个是分配空间长度int[] scores=new int[4];这个是分配空间控制吗

正在回答

5 回答

没有区别,只不过你的第二种代码有错,你定义的数组长度是4,结果你往里加了5个值,运行会报数组越界的错误的,而且打印第二个元素应该是  scores[1]

1 回复 有任何疑惑可以回复我~

第一种叫数组初始化,你初始化完了之后,数组长度也就固定了。第二种在一开始的时候就固定了长度,后续的值,你可以再填。

1 回复 有任何疑惑可以回复我~

索引是从下标0开始的

0 回复 有任何疑惑可以回复我~

第一种先在内存开辟长度为4 的空间,然后在赋值,第二种是一边开一边赋值。然后第二个数组越界了。下标最大为3,索引从0开始嗷铁汁

1 回复 有任何疑惑可以回复我~

第二个第一句话是代表着申请了一个长度为四的int型空间,在后续编程过程中不可再改变这int 型数组的大小,但是第二种方法可以动态申请空间,第二个在从控制台输入操作中使用较多。

0 回复 有任何疑惑可以回复我~
#1

weixin_慕无忌3213191

动态输入的是链表,数组都是死的。第一种叫数组初始化,你初始化完了之后,数组长度也就固定了。第二种在一开始的时候就固定了长度,后续的值,你可以再填。
2019-03-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

数组可以直接赋值?分配空间。区别是什么,那种好用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信