public static void main(){
int[] ia = new int[10];
//在这个数组创建的时候,数组中元素都是0
//此时System.out.println(ia[0]+2);输出的是2
String b;
//此时b是String类型的对象,而该对象管理的是一个字符串
//因此System.out.println(b);会得到null
String[] a = new String[10];
//在数组创建的时候,数组中元素事实上是字符串的管理者(字符串指针)
//在此时System.out.println(a[0]);会输出的是null
//System.out.println(a[0]+"a");会出现异常
//对象数组和基础数组的差别见上,ia是普通数组,里面是就是每个元素,而a数组刚创建的时候里面是每个对象的管理者。
}
for-each循环下的体现
class Value{
private int i;
public void set(int i) { this.i = i;}
public int get() { return i; }
}
public static void main(){
Value[] a= new Value[10];
for(int i=0;i<a.length;i++){
a[i]=new Value();
a[i].set(i);
}
for(Value v:a){
System.out.println(v.get());//得到输出结果0到9
}
for(Value v:a){
v.set(0);
}
for(Value v:a){
System.out.println(v.get());//得到输出结果全部是0
}
}
另外对于容器类的for-each循环也是可以用的
ArrayList<String> a=new ArrayList<String>();
a.add("first");
a.add("second");
for(String s : a){
System.out.println(s);//输出的就是first和second
}