一:使用数组可以 1声明数组 int[ ]a;
2分配空间a=new int[3];
3赋值 a[0]=8;
4处理a[1]=a[0]*3;
二:数组使用还可以边赋值边声明
eg:
int [ ]score ={11,12,23];
在二中没有体现分配空间的问题,想知道一种分配空间的意义,初学者,求指导
------解决思路----------------------
从本质上讲,其实楼主说的这2种并没有什么区别。
在第2种创建方式中,隐含了你上述描述的第一种中涉及的大部分直接相关的操作。
int [ ]score ={11,12,23];在运行期执行的操作为:
1、创建一个引用变量score (引用地址为为null)
2、请求分配24个字节大小空间(3个Int)【PS:实际不止24个字节】,更细分的话为:24*8bit
即184位,每位默认值为0。这也是为什么int[] a = new int[100]; 声明后,a[0]~a[100]每个元素默认值为0的原因。
此操作相当于执行score=new int[3] ,
3、针对每一个数组元素赋值:a[0] = 11; a[1] = 12,a[2]=23
4、将数组对象(数组本身也是一个对象)内存地址赋值给score
在实际代码编写过程中,以下3种情况都有使用。具体看使用场景。
1、先声明一个空对象(int[] s; 或者 int[] s = null)
2、声明并分配默认值(int[] s = new int[5])
3、声明并分配指定值(int[] s = {1,2,3})