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];这个是分配空间控制吗
没有区别,只不过你的第二种代码有错,你定义的数组长度是4,结果你往里加了5个值,运行会报数组越界的错误的,而且打印第二个元素应该是 scores[1]
第一种叫数组初始化,你初始化完了之后,数组长度也就固定了。第二种在一开始的时候就固定了长度,后续的值,你可以再填。
索引是从下标0开始的
第一种先在内存开辟长度为4 的空间,然后在赋值,第二种是一边开一边赋值。然后第二个数组越界了。下标最大为3,索引从0开始嗷铁汁
第二个第一句话是代表着申请了一个长度为四的int型空间,在后续编程过程中不可再改变这int 型数组的大小,但是第二种方法可以动态申请空间,第二个在从控制台输入操作中使用较多。