for (int i = 1; i<=3; i++) {
for (int j = 1; j<=i;j++ ) {
System.out.print("*");
}
System.out.println();
}
请问第二句为啥不能是for (int j = 1; j==i;j++ ) 呢?
可以这么写,但是逻辑上就是只有j=i=1执行一次打印*
了解了,感谢各位的热心回答(某位除外)。
我刚学 就懂 你还不懂 真笨 比我还笨,大笨狗
外循环执行一次,内循环执行一圈,如果将i值赋值给j那么j的值会随着外循环的变化而变化。在java中这种情况是不运行的。
假设i=2,j=1的情况,第二个for循环就是for(j=1;j==2;j++),很明显这个就运行不了。
你这个代码运行的结果是一个直角三角形,因此在进行第二行输出两个**时,若判断条件为j==i.即2==1,不符合条件,因此不进入内层循环也就无法输出*了
j==i之后,j>i也满足情况,所以j会一直加下去