黑马程序员技术交流社区

标题: 数组初始化概述 [打印本页]

作者: 犁不动田de大牛    时间: 2019-4-19 08:48
标题: 数组初始化概述
静态数组创建:jvm在数组创建是会为数组分配内存空间并赋值。
动态数组创建:数组在初始化时,会在堆内存为数组分配一块连续的内存空间,并为数组赋值(默认值:基本数据类型:整型为0;浮点型0.0;char\u0000;)
数组在Jvm运行时便会进行初始化,创建数组对象并分配内存地址且赋值,这个说法是错误的!
如:
int[] nums;(1)
int[] n={1,2,3,4,5};(2)
nums=n;(3)
(1)此时nums只在栈内存中指针并为指向堆内存中的有效数据,即nums并没有进行有效初始化,对象nums还不可使用;
(2)n在创建时便分配了内存空间且赋值了,对象n指向了堆内存中{1,2,3,4,5}这个数据
(3)此操作才让nums才完成真正的初始化操作,经过第三步才能使用nums对象!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2