问答详情
源自:6-1 什么是数组

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

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];这个是分配空间控制吗

提问者:Java开发工程师007 2018-12-21 21:03

个回答

  • tiger爱小狄
    2019-04-28 16:09:21

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

  • weixin_慕无忌3213191
    2019-03-15 10:51:39

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

  • 这鱼又溺水了
    2019-01-22 17:06:17

    索引是从下标0开始的

  • qq_大魔王_23
    2018-12-22 19:50:43

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

  • 哦哟IT
    2018-12-22 01:08:51

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