当我在使用Java的增强型for循环时
public class Text {
public static void main(String[] args) {
int a[] = new int[]{1, 2, 3, 4, 5};
for(int i = 0; i < a.length; i++){
System.out.print(a[i]+",");
}
System.out.println();
System.out.println("增强型for:");
for(int e : a){
System.out.print(e+",");
}
}
}
上下输出的一样
这是正常的使用方法
但在我将增强型for循环里输出的“e”改为“a”时
public class Text {
public static void main(String[] args) {
int a[] = new int[]{1, 2, 3, 4, 5};
for(int i = 0; i < a.length; i++){
System.out.print(a[i]+",");
}
System.out.println();
System.out.println("增强型for:");
for(int e : a){
System.out.print(a+",");
}
}
}
我以为他输出的是a数组的地址
但在我在代码中加入System.out.println(a);
输出地址是
public class Text {
public static void main(String[] args) {
int a[] = new int[]{1, 2, 3, 4, 5};
for(int i = 0; i < a.length; i++){
System.out.print(a[i]+",");
}
System.out.println();
System.out.println(a);
System.out.println("增强型for:");
for(int e : a){
System.out.print(a+",");
}
}
}
这时他的地址变了
我想问一下这是什么原因导致的,求大神指导