彦舜原创,CSDN首发:数组定义、初始化与使用

/**
 * 
 */
package fourth.array;

/**
 * @author 86184
 *
 */
public class Page89 {

	/**
	 * 
	 */
	public Page89() {
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param args
	 */
	//日常小黄线:The value of the local variable a is not used
	//日常备注,提示,强调,注解,注释:@SuppressWarnings("unused")
	public static void main(String[] args) {
		//顶一个int数组类型的变量
		int[] a;
		//使用静态初始化,初始化数组是指指定数组元素的初始值,不指定数组长度
		a = new int[] {5, 6, 8, 20};
		System.out.println(a);
		System.out.println(a[0]);
		System.out.println(a[1]);
		System.out.println(a[2]);
		System.out.println(a[3]);
		
		//定义一个Object数组类型的变量
		Object[] obj;
		//使用静态初始化,初始化数组时数组元素的类型是,定义数组时所指定的数组元素类型的子类
		/*Object是所有类的父类,祖宗类,String类是其子类,实现了对其方法的覆盖,并实例化对象向上转型创建Object对象。且由于是
		 * 静态初始化数组及数组元素,数组长度由系统决定,系统根据实际开发需要,自由变换数组长度。*/
		obj = new Object[] {3, 4};
		System.out.println(obj.length);
		obj = new String[] {"上", "下", "zuo", "右"};
		System.out.println(obj[0]);
		System.out.println(obj.length);
		
		Object o[] = new Object[] {"彦舜", "古榕树下"};
		System.out.println("作家:" + o[0] + "\n" + "网站:" + o[1]);
		
		//静态初始化第三种形式
		long[] l = {1, 2, 3, 4, 5};
		//输出数组l地址值,输出数组对象l地址值
		System.out.println(l); 
		
		//数组的定义和初始化同时完成,使用简化的静态初始化写法
		int[] i = {5, 6, 7, 8, 9};
		System.out.println(i);
		
		//数组定义和初始化同时完成,使用动态初始化语法
		int[] n = new int[5];
		//数组定义和初始化同时完成,初始化数组时元素的类型是定义数组是原属类型的子类
		Object[] j = new String[3];
		System.out.println(n.length);
		System.out.println(j.length);
		
		/**
		 * 执行动态初始化,程序员只需指定数组的长度,几位每个数组元素指定所需的内存空间,系统将负责为这些数组元素分配初始值。指定初始
		 * 值时,系统按如下规则分配初始值:
		 * 
		 * 		1、数组元素的类型是基本类型中的整数类型,则数组元素的值是0.
		 * 		2、数组元素的类型是基本类型中的浮点类型,则数组元素的值是0.0。
		 * 		3、数组元素的类型是基本类型中的字符型,则数组元素的值是'\u0000'。
		 * 		4、数组元素的类型是基本类型中的布尔类型,则数组元素的值是false。
		 * 		5、数组元素的类型是引用类型,则数组元素的值是null。
		 */
		int[] ii = new int[2];
		double[] d = new double[2];
		boolean[] b = new boolean[2];
		char[] c = new char[2];
		String[] s = new String[2];
		for(int t = 0; t < ii.length; t++) {
//			System.out.println(ii[t]);
//			System.out.println(d[t]);
//			System.out.println(b[t]);
//			System.out.println(c[t]);
//			System.out.println(s[t]);
//			System.out.println();  //换行
			
			System.out.print(ii[t] + "、");
			System.out.print(d[t] + "、");
			System.out.print(b[t] + "、");
			System.out.print(c[t] + "、");
			System.out.print(s[t]);
			System.out.println();  //输出空白,换行继续输出
		}
		
		/*数组用法:
		 *		1、对数组元素进行赋值
		 * 		2、获取数组元素值*/
		//访问数组元素,即获取数组元素值:通过在数组引用变量后紧跟一个方括号[],方括号里是数组元素的索引值
		System.out.println(i[2]);
		
		//访问到数组元素后,就饿可以把一个数组元素当成一个普通变量使用:为该变量赋值  +  获取该变量的值
		//将该数组元素当成一个变量使用,为指定数组元素赋值、为指定变量赋值
		i[2] = 77;
		//获取该变量的值,这个变量的类型就是定义数组时使用的类型
		System.out.println(i[2]);
		
		/**	如果访问数组元素时指定的索引值小于0,或者大于等于数组的长度,编译程序不会出现任何错误,但运行时出现异常:java.lang.ArrayIndexOutOfBoundsException数组索引越界异常*/
		/* Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
		   at fourth.array.Page89.main(Page89.java:109)*/
//		System.out.println(i[7]);
		
		//对动态初始化后的数组元素进行赋值
		//动态初始化数组
		String[] aa = new String[2];
		aa[0] = "Java";
		aa[1] = "Architect";
		for(int t = 0; t<aa.length; ++t) {
			System.out.print(aa[t]);
			https://mp.weixin.qq.com/s/p0xbajLKMdXNN3j1iQ5MaA
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值