对象数组和对象数组的for-each循环

对象数组

    

int[] ints = new int[10];
String[] s = new String[10];
System.out.println(ints[0]);
System.out.println(s[0]);

 

 

 

 

 没有报错但是输出String的是一个空

System.out.println(s[0].length());

我们获取他的这个长度就会报错

 

 

 

String[] s = new String[10];

这个就好如一个一个的管理者而现在是谁也没有管,所有为空,就要给他赋值

for (int i = 0; i <s.length; i++) {
s[i] = ""+i;
}

 

 

 

a[0]放的是0这个数字所以长度就有了为1

在对象数组里面如果这个数组的类型,基础类型,元素类型是类的话,在这个数组里面,

每一个单元并不是那个类的对象而是一个对象的管理者

对象数组中的每个元素都是对象的管理者而非对象本身

 

for-each

for (int s : ints){
System.out.println(s);
}

这个是一个for-each遍历数组,在这个循环里面的++是不起任何的作用的

class wula{
private int i;
public void set(int i){
this.i=i;
}
public int get(){
return i;
}
}

wula[] wu= new wula[5];
for (int i = 0; i <wu.length; i++) {
wu[i] = new wula();
wu[i].set(i);
}
for (wula w : wu){
System.out.println(w.get());
w.set(0);
}
for (wula w : wu){
System.out.println(w.get());
}

 

 

第一遍输出的是0-5而第二遍我们做了个set为0在遍历的时候是0了

在wu这个数组里面每一个单元都指向了外部的那个,循环的第一轮进行设置了0循环到1的时候set0那个1就变成了0

for-each循环对应对象数组是不一样的,在循环的每一轮他是可以拿到的

posted @ 2022-06-22 10:06  漁夫  阅读(90)  评论(0)    收藏  举报