高手请解释一下为什么这java程序输出的答案是这样

for (int row=1;row<=6;row++) {
for (int col=1;col<=row;col++) {
System.out.print(col);
}
System.out.println();
}

有点没搞懂,为什么会是
1
12
123
1234
12345
123456

这是一段双重循环,外层循环控制变量为row,执行顺序是进入最外层循环row=1;此时内层循环开始执行,col=1;内层循环终止条件为col<=row,此时row为1,col也为1,满足终止条件,内层循环执行完毕。再次执行外层循环,此时外层循环控制变量row加1为2,再次执行内层循环,此时内层循环终止条件为col<=2;col初始值为1,故能循环两次输出语句,分别输出1和2,内层输出语句未换行故显示12。依此执行,故输出结果为如题结果。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-18
第一行:row=1,col=1,所以只输出1
第二行:row=2,col=1,2,所以可以输出1,2
以此类推。追问

所以,col是会储存 之前输出的 数字吗?然后输出吗?

第2个回答  2013-02-18
就是这样的,你一步一步跟着程序运行,看看col及row的值就清楚了。
第3个回答  2013-02-18
两层循环结构。
里边的循环负责打印一行的数据比如 1 12 123.....
外边的循环负责控制换行
第4个回答  2013-02-18
这是嵌套循环。内循环条件不满足时候就会跳出,执行后续的System.out.println()换行。然后再从新进入到内循环,此时的row的值已经自增1,所以内循环的次数比上次多一次。以此类推
第5个回答  2013-02-18
两层循环结构。
相似回答