数组是大多数编程语言提供的一种复合结构,如果程序需要多个类型相同的变量时,就可以考虑定义一个数组。Java语言的数组变量是引用类型的变量,因此具有Java独有的特性。

在正常的Java开发中,使用Java数组之前,我们都会对数组进行初始化,为数组中的元素分配内存空间、赋值等,但Java数组一定要初始化吗?不初始化可以 么?

其实,java的数组变量是引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用该数组变量,比如下面这个例子:

public class T {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

//定义并初始化nums数组

int nums[] = new int[]{3,13,4,6};

//定义一个prices数组变量

int prices[];

//让prices数组指向nums所引用的数组

prices = nums;

for(int i=0;i<prices.length;i++){

System.out.println(prices[i]);

}

//将prices数组的第三个元素赋值为100

prices[2] = 100;

//访问nums数组的第三个元素 将看到数组100

System.out.println(nums[2]);

}

}

从上面代码可以看出,定义了prices数组之后,并未对prices数组进行初始化。 当执行int prices[]之后,

程序的内存分配如图

从图可以看出,此时的prices数组还未指向任何有效的内存,未指向任何数组对象,此时的程序还不可使用prices数组变量。

当程序执行prices = nums之后,prices变量将指向nums变量所引用的数组,此时prices变量和nums变量引用同一个数组对象。

执行这条语句之后,prices变量已经指向有效的内存及一个长度为4的数组对象,因此程序完全可以正常使用prices变量了。

对于数组变量来说,它并不需要进行所谓的初始化,只要让数组变量指向一个有效的数组对象,程序即可正常使用该数组变量。

所以,Java语言中的数组,不一定要初始化也可正常使用。Java初学者可以尝试用上面这里例子的方法,实际操作一下,加深印象。最后,希望小编的分享对大家有帮助。

相关阅读:《给初学Java的新手们一些建议

最新文章

  1. php知识案列
  2. Linux下打包压缩war和解压war包
  3. ViewPager使用 -------滑动图片
  4. Java并发控制机制详解
  5. 如何使用Git——(二)
  6. Java学习--封装、继承、多态
  7. SQL 建立临时表进行查询
  8. Windows常见蓝屏故障分析
  9. linux lsof命令详解
  10. 2014.11.12模拟赛【美妙的数字】| vijos1904学姐的幸运数字
  11. Swing-文本输入组件(一)
  12. React 系列教程 1:实现 Animate.css 官网效果
  13. 《Unity3D 实战核心技术详解》书中关于矩阵的错误
  14. SpringBoot 遇到 com.google.guava &#187; guava 组件运行异常问题修复方案
  15. 洛谷 P1525 关押罪犯
  16. 《HTML5与CSS3基础教程(第8版)》
  17. 牛客练习赛23 F 托米的游戏
  18. zookeeper命名服务
  19. Hibernate与mybatis比较
  20. 介绍:一款Mathematica的替代开源软件Mathetics

热门文章

  1. Notepad++ 快捷键 大全
  2. [DiocpRPC]介绍与安装
  3. three.js 源码注释(四十四)Light/DirectionalLight.js
  4. tar 打包命令
  5. [vb.net]简单多线程实例
  6. 生成树的个数——基尔霍夫定理(Matrix-Tree Theorem)
  7. com.alibaba.fastjson.JSONObject学习
  8. linux(ubuntu)安装时遇到的问题
  9. Divide Two Integers leetcode
  10. MyBatis框架——mybatis插入数据返回主键(mysql、oracle)