java数组的初始化及遍历(java数组元素初始化)
/**
* 测试数组的三种初始化 以及遍历的两种方式
* 静态初始化 动态初始化 默认初始化
*/
public class Test3 {
private int id;
private int age;
public Test3(int id,int age){
super();
this.id = id;
this.age = age;
}
}
class Test4{
public static void main(String[] args) {
int[] i1 = {10,20,30,40};
//静态初始化
//在定义数组时直接写元素 按元素的数量生成对应大小的空间 空间不可伸缩
Test3[] t = {new Test3(1,10),new Test3(2,60)};
//引用类型数组的静态初始化 同样用{ , , }格式
int[] i2 = new int[5];
i2[0] = 1;
i2[1] = 2;
//动态初始化 用下标index逐个赋值
int[] i3 = new int[3];
boolean[] b = new boolean[2];
String[] s = new String[4];
//默认初始化 int默认0 boolean默认false String默认null
}
}
class Test5{
public static void main(String[] args) {
String[] arg = {"a","r","g","s"};
for(int i = 0;i //.length数组的长度 arg数组有四个元素 长度是4 System.out.println(arg[i]); //遍历方法一 通过for循环 用下标index逐个读取或修改元素 } for(String s:arg){ //for-each语句 System.out.println(s); //s代表当前正在被遍历的元素 相当于s = arg[i] //通过for-each遍历只能读取不能修改 // s=arg[i]意思是将arg[i]值赋给s s值和arg[i]相同但s不代表arg[i] // 更改引用变量s=其他 只是改变了s的指向 没有改变arg[i] //原理同a=1 b=a b=2 println(a)结果还是1 //但如果arg有属性arg[i].a 可以通过改变s.a属性来改变arg[i]属性 //原理同 Test5 t5=new Test5() t6=t5 t6.a=xxx t5.a改变 } } }