int i=1;
int j=1;
for(;i<=3;i++){
for(;j<=8;j++){
System.out.print("*");
}
System.out.println();
}
int i=1; int j=1; for(;i<=3;i++){ j=1 for(;j<=8;j++){ System.out.print("*"); } System.out.println(); } 每次j循环结束后,给j重新赋值
验证了一下,你这是一行“*”与三行“*”的区别。原因我想是因为看你FOR循环写在哪个成员变量后头,你现在是写在“j”后头,那么你的内外循环就只执行一次,而如果你把“i、j”都写在各自的循环里面,那么就是一个长方形。因为当你都写外头时,程序按顺序执行一次完成后,不可能还回来读你的成员“i”变量。
因为有两个循环,第一个i=1时循环执行下面的循环for(;j<=8;j++),执行完后就j=9了;然后i=2,此时下面的for(;j<=8;j++)循环没办法执行,因为j已经是9了。所以只有第一次时会输出********