public static void main(String args[]){
int a[][]=new int [5][6];
for(int i=0;i<5;i++){
for(int j=0;j<6;j++){
a[i][j]=i+j;
System.out.print(a[i][j]);
}
不明白结果为什么是。求高手用最通俗的大白话解释下。
012345
123456
234567
345678
456789
public static void main(String args[]){
int a[][]=new int [5][6];
for(int i=0;i<5;i++){
for(int j=0;j<6;j++){
a[i][j]=i+j;
System.out.print(a[i][j]);
}
不明白结果为什么是。求高手用最通俗的大白话解释下。
012345
123456
234567
345678
456789
int [5][6] 这是一个二维数组。你可以想象成为5*6的矩阵(6行7列),由(0,0)开始。
(0,0)(0,1)(0,2)(0,3)(0,4)(0,5)(0,6)
(1,0)(1,1)(1,2)(1,3)(1,4)(1,5)(1,6)
如此下去
(5,0)(5,1)(5,2)(5,3)(5,4)(5,5)(5,6)
0+0=0,0+1=1,0+2=2等等
注意
在for语句中,它是i<5,也就是说不包括5,所以没有第6行,j也是这样没有第7列
所以9就是a[4][5],第4行5列(4,5)
public static void main(String args[]){ int a[][]=new int [5][6];//定义一个5行6列的数组 for(int i=0;i<5;i++){//每行循环 for(int j=0;j<6;j++){//每列循环 a[i][j]=i+j;//将当前行索引+当前列索引 作为值 System.out.print(a[i][j]); }
整个程序就是一 当前所在行行数和当前所在列列数相加作为自己的值(行列的其实行数列数都是0)
可以理解为
public static void main(String args[]){ for(int i=0;i<5;i++){ for(int j=0;j<6;j++){ System.out.print(j+i); }
}
当i=0 j=1\2\3\4\5时
就输出012345
当i=1是就是
12346
……
这段程序结束符“}”都不够你怎么跑出的结果,
这里是循环套循环 a[][]为一个二维数组
这里循环套循环的次序是:
先循环i值的,i=0时循环j的从0-5,输出数组a[][];再i=1时再循环执行j的从0-5,知道i=5时不满足i<5结束循环。
你可以在程序中输出处修改成这样就可以看到这里的循环顺序了,把System.out.print(a[i][j]); 修改为:
System.out.println("a["+i+"]"+"["+j+"]="+a[i][j]);就能看到先循环了那个了