/**
*
*/
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
}
}
}