谁能帮我解释一下这段Java

来源:百度知道 编辑:UC知道 时间:2024/06/08 03:47:17
·······
······
int[]arr=new int[10];
Stystem.out.print("arr初始值:");
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
arr[i=]=i;
}
`````````````````
`````````````
``````````````````````
为什么执行结果有
arr 初始值:0 0 0 0 0 0 0 0 0 0
·········
看不懂那个for循环

确认代码没有错?
非法的表达式开始
arr[i=]=i;
^
1 错误
-----------------------------------------
如果是写错的话,这行代码估计写的是arr[i]=i;
这样,给出的代码的意思实际上就是输出arr数组的初始值(因为int[] arr=new int[10]新建的arr数组每一个数的初始值都是0,所以输出的初始值是0 0 0...),然后再给数组赋新值。
for从0开始循环到arr数组的项数(循环10次),然后执行for循环体的代码,这里是输出arr数组从0开始的每一项。

你的arr里面都是0,在for里面你先显示了0,然后才给了值。把System.out.println 和 arr[i]=i 颠倒过来就会变成 0 1 2 3 4 5 6 7 8 9

代码写顺序有点问题:这样写才对:
int []arr=new int[10];//初始化int类型的数组,长度为10;
fro(int i=0;i<arr.length;i++){//初始i=0,进行自加运算,直到i=9时停止自加;
arr[i]=i;//用i来填充上面初始化过的数组arr;
System.out.print(arr[i]); //打印出数组arr;
}
需要先填充数组,之后再能打印出来才正确,否则全部是0,因为int类型的初始化不赋值得话默认是0;