1.执行代码:
public class Demo14 {
public static void main(String[] args) {
for (int i = 1 ; i <10 ; i++) {
for (int j = 1; j <=i ; j++) {
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}//左下
for (int i = 1; i < 10; i++) {
for (int j = 9; j >= i; j--) {
System.out.print(j+"*"+i+"="+j*i+"\t");
}
for (int j = 1; j >i ; j++) {
System.out.print("\t\t");
}
System.out.println();
}//左上
for (int i = 1; i < 10; i++) {
for (int j = 1; j <i ; j++) {
System.out.print("\t\t");
}
for (int j = 9; j >=i ; j--) {
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}//右下
for (int i = 1; i < 10; i++) {
for (int j = 9; j > i; j--) {
System.out.print("\t\t");
}
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
}
}//右上
执行后结果:(以直角所在位置添加的注释)
在这段for循环嵌套中,外层控制行,内层控制列,若将代码改成如下代码
public class Demo15 {
public static void main(String[] args) {
for (int i = 1 ; i <10 ; i++) {
for (int j = 1; j <=10 ; j++) {
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
}
}
运行结果为:
内层表达式改成i<=10时,这时候运行结果其实就是一个矩形方阵
变量i所代表的行数,从1~9依次递增。明显地可以使用循环结构来实现,循环执行9次,分别打印第1至第5行。而行数每循环一次,还需要打印由组成的若干列,又是一组循环。因此变量i所控制的循环应该是外层循环,代表每一行。
变量j所代表的等式个数,随同行数同步递增。第一次内层循环打印一个等式;第二次内层循环打印两个等式;…即内层循环的执行次数与外层循环的计数变量保持一致。也就是变量j结束循环条件的最大值与变量i相同。