【总结】初始化数组的各种方式

   无论使用那种类型的数组,数组标识符其实只是一个引用,指向在堆中创建的一个真实对象,这个(数组)对象用于保存指向其他对象的引用。可以作为数组初始化语法的一部分隐式地创建此对象,或者用new表达式现实地创建。只读成员length是数组的一部分(事实上这是唯一一个可以访问字段或方法),表示字数组对象可以存储多少元素。"[]"语法是访问数组对象的唯一方式。

  下列总结了初始化数组的各种方式:

import java.util.Arrays;
/**
 * Array 
 * @author Administrator
 *
 */
public class ArrayOptions {

	public static void main(String[] args) {
		BerylliumSphere[] a;			
		//数组里的引用自动初始化为‘null’
		BerylliumSphere[] b = new BerylliumSphere[5];
		System.out.println(Arrays.toString(b));
		BerylliumSphere[] c = new BerylliumSphere[4];
		for (int i = 0; i < c.length; i++) {
			if (c[i] == null) {
				c[i] = new BerylliumSphere();
			}
		}
		//初始化
		BerylliumSphere[] d = {new BerylliumSphere(),
				new BerylliumSphere(),new BerylliumSphere()};
		//动态初始化
		a = new BerylliumSphere[]{new BerylliumSphere(),new BerylliumSphere()};
		//(后两种情况下的逗号是可选的)
		System.out.println("a.length"+a.length);
		System.out.println("b.length"+b.length);
		System.out.println("c.length"+c.length);
		System.out.println("d.length"+d.length);
		a=b;
		System.out.println("a.length"+a.length);
		
		//数组的基本类型
		int[] e;		//空引用
		int[] f = new int[5];
		//数组内的基本类型自动初始化为0
		System.out.println("f:"+Arrays.toString(f));
		int[] g = new int[4];
		for (int i = 0; i < g.length; i++) {
			g[i] = i*i;
		}
		int[] h = {11,47,93};
		// 编译错误:变量 e 没有初始化
		//System.out.println("e.length"+e.length);
		System.out.println("f.length"+f.length);
		System.out.println("g.length"+g.length);
		System.out.println("h.length"+g.length);
		e=h;
		System.out.println("e.length"+e.length);
		e = new int[]{1,2};
		System.out.println("e.length"+e.length);
	}/**output:
	 * [null, null, null, null, null]
		a.length2
		b.length5
		c.length4
		d.length3
		a.length5
		f:[0, 0, 0, 0, 0]
		f.length5
		g.length4
		h.length4
		e.length3
		e.length2
	 */

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值