码迷,mamicode.com
首页 > 编程语言 > 详细

Java 数组声明与初始化

时间:2018-12-06 14:33:58      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:java   alt   图片   bar   运行时   方法   数组名   数组声明   空间   

引言

  学习了好久的java,每次要写数组的声明和初始化代码,总是理不清。最近又碰到了一次这种情况。这次拿出《Thinking In Java》好好总结一翻。

数组声明

  对于数组的声明其实都没多大问题,推荐的写法是使用 数据类型 + [] + 数组名称的方式,因为这种方式可以很清楚的表明这是某一种类型的数组。例如,声明一整数类型的数组。

1 int[] a;

数组初始化

  其实出现问题最多的就是数组的初始化。数组的初始化分为三种方式,再遇到初始话的时候,总是会搞不清楚。根据我个人的理解,数组的初始化操作分为三种方式。

  第一种:特殊初始化,不用new关键字完成,在数组声明的同时完成初始化操作,也被称其为静态初始化。主要原因是因为采用这种初始化的方式,数组的存储空间的分配是由编译器完成的。

     下面以整数数组初始化为例,完成一个静态数组初始化:

1  int[] a = {1,2,3};
2 Integer[] b = {
3                 new Integer(1), 
4                 new Integer(2), 
5                 3             //Autoboxing
6         };

  第二种:先使用new关键字创建数组,然后再分别为数组中的元素赋值,完成初始化操作。(注:如果数组元素类型为基本数据类型,在完成new 操作之后,数组中的元素会自动初始化为空值,可以直接使用,但是数组元素为引用类型,在完成new操作之后,没有给引用类型赋值,就直接使用数组中的元素,会产生运行时异常。)

    下面还是以整数数组初始化为例2,完成数组初始化:

1         int[] a = new int[2];   //需要指定数组的长度
2         a[0] = 1;
3         a[1] = 2;

  第三种:使用new关键字创建数组,同时为数组中的元素赋值,完成出事化操作。

技术分享图片
1         int[] a = new int[]{1,2,3}; //与第二种方法不同,这里new不需要指定数组的长度,数组长度由其后的初始化操作确定
2         
3         int[] b = new int[]{
4                 new Integer(1), 
5                 new Integer(2),
6                 3
7         };
技术分享图片

 

Java 数组声明与初始化

标签:java   alt   图片   bar   运行时   方法   数组名   数组声明   空间   

原文地址:https://www.cnblogs.com/a-du/p/10075914.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!