Java数组一定要初始化才能使用吗?
2023-09-27 14:23:31 时间
数组是大多数编程语言提供的一种复合结构,如果程序需要多个类型相同的变量时,就可以考虑定义一个数组。Java语言的数组变量是引用类型的变量,因此具有Java独有的特性。
在正常的Java开发中,使用Java数组之前,我们都会对数组进行初始化,为数组中的元素分配内存空间、赋值等,但Java数组一定要初始化吗?不初始化可以 么?
其实,java的数组变量是引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用该数组变量,比如下面这个例子:
从上面代码可以看出,定义了prices数组之后,并未对prices数组进行初始化。 当执行int prices[]之后,
程序的内存分配如图
从图可以看出,此时的prices数组还未指向任何有效的内存,未指向任何数组对象,此时的程序还不可使用prices数组变量。
当程序执行prices = nums之后,prices变量将指向nums变量所引用的数组,此时prices变量和nums变量引用同一个数组对象。
执行这条语句之后,prices变量已经指向有效的内存及一个长度为4的数组对象,因此程序完全可以正常使用prices变量了。
对于数组变量来说,它并不需要进行所谓的初始化,只要让数组变量指向一个有效的数组对象,程序即可正常使用该数组变量。
所以,Java语言中的数组,不一定要初始化也可正常使用。Java初学者可以尝试用上面这里例子的方法,实际操作一下,加深印象。最后,希望小编的分享对大家有帮助。
作者:小麦麦子
来源:51CTO
相关文章
- java高级用法之:无所不能的java,本地方法调用实况
- java里面的public static void main(String[] args)
- Java 数组常用操作一(排序、元素位置查找、添加元素、获取长度、数组反向、最大值最小值、合并、范围填充)
- Android Binder原理(七)Java Binder中系统服务的注册过程
- 《Java创建对象类型数组的三种方式》
- Java核心技术卷I基础知识3.10.2 数组初始化以及匿名数组
- PHP Java
- 13 数组 Java内存分析 三种初始化
- 【Java】【TestNg】
- java 数组声明方法
- 《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 2.6 将程序编译为class文件
- Java实现数组反转翻转的方法
- Windows平台下,Java性能分析工具VisualVM的Tomcat8的配置
- Java缓存
- java.lang.UnsatisfiedLinkError: No implementation found for long org.opencv.core.Mat.n_Mat()
- java字符串数组排序
- 华为OD机试 -数组组成的最小数字(Java) | 机试题+算法思路+考点+代码解析 【2023】
- myeclipse中打开java文件中文乱码
- Java开发 - 消失的id
- 老Java程序员谈谈swing要不要学
- Java:数组的扩容与缩容
- Java数组--奇数在前,偶数在后