public class A{
public static void main(String args[]){
int[] a=new int[10];
for(int i:a){
i++;
System.out.print(i+" ");
}
}
输出的结果是 1 1 1 1 1 1 1 1 1 1public class A{
public static void main(String args[]){
int[] a=new int[10];
for(int i:a){
i=i+1;
}
for(int j:a)
System.out.print(j+" ");
}
}
输出结果 0 0 0 0 0 0 0 0 0 0为什么不能修改
public static void main(String args[]){
int[] a=new int[10];
for(int i:a){
i++;
System.out.print(i+" ");
}
}
输出的结果是 1 1 1 1 1 1 1 1 1 1public class A{
public static void main(String args[]){
int[] a=new int[10];
for(int i:a){
i=i+1;
}
for(int j:a)
System.out.print(j+" ");
}
}
输出结果 0 0 0 0 0 0 0 0 0 0为什么不能修改
解决方案 »
- xml 读取在线天气预报数据 myeclipse无法连接网络? 有难度,需要牛人~
- 继承Thread 类 可以不重写run()方法吗?
- Java面试常问的几个问题
- 谁能告诉我这个组件叫什莫,不知道名字我都没办法查找
- 决定开始不学.net 学java了,问一下关于表单验证的小问题 11111
- 帮忙调试一下?关于actionListener
- 急急急!!!!!!!!!!来者有分!!!!!!!!!!1
- JAVA application 有什么用?
- 一个简单的问题!来者有分啊!!!!!
- 关于scjp的最新考试形式!
- soapFault1.1与soapFault1.2的转换???急急急!!!
- 快过年了,散点分大家同乐~
循環的對象是a。。不是i
i只是相當于一個自增的計數器一樣的。。
===============================================================================================
虽然你答非所问 但是把问题说出来了 “是把a的元素迭代逐个赋值给i,”确认??
i=i+1;
}int i:a 是循环的把数组a的值赋给i
循环体是把 a[x]+i 赋值给 i
也就是,不管几个循环..改变的都是i的值每个循环i都被2次赋值...一次是在int i:a,还有一次是在i=i+1数组a当然不会变...疯狂变动的只是i而已...
意思是将j打印出a.length个出来啊,所以打印出10个0
第一个程序就是i++后i的值变成1,然后打印出a数组的个数的次数,即打印出10个1
for (int j : a)是将a数组中的值打印出来啊
由于你a数组中的值没有变化,就是初始值的默认0
所以出现了那种情况
如果把它设计成改变variable就是改变collection中的值多好啊 现在这样还要另外开辟一块区域存储variable