java中for循环九九乘法表细节讲解
for循环在java里不论是面试题还是实际写代码的过程中都是经常用到的,想要了解它就必须了解它的运行机制
// 表达式1 表达式2 表达式3
for(int i ;i<=9 ; i++){
System.out.print("表达式4");
}
/*
如上图所示,for循环的运行顺序是1243,也就是先声明变量赋值(表达式1)-->判断条件是否(表达式2)-->进入循环体(表达式4)-->在进行i++(表达式3)*/
那么如上所示我们知道了它的运行顺序和机制,该如何去打印出如下所示九九乘法表呢?
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
从以上目标的结果我们可以看出,一共是九行 、九列,里面出现了一行多列的情况,那我们就应该用双循环,也就是两个for循环进行嵌套,一个负责行,一个负责列,如下所示。
//负责每一行的输出,一共是九行,所以条件是<=9。
for(int i=1;i<=9;i++){
/*
里面的循环代表每一行里的列的输出,一行里面有多列,但是列的数量不会超过乘数(1x2中1是被乘数2是乘数),乘3就是3列,乘4就是4列,是相等的。或者可以这么理解,第一行就是一列、第二行就有二列,以此类推,所以我们用j(列)<=i(行)来约束有多少列。
*/
for(int j=1; j<=i;j++){
/*
每一行的每一列都是从1开始,所以我们用j来当被乘数.因为第一行有一列,第二行就有2列,所以我们用行数当乘数。"\t"是空格
*/
System.out.print(j+"*"+i+"="+(j*i)+"\t");
}
//一行的所有列输出完之后我们应该进行换行。
System.out.println();
}
打印结果
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
进程已结束,退出代码 0
注意:循环内或者for括号里定义的变量属于局部变量,当循环条件不成立的时候,int j 或者int i就等于在内存里清零了,下一次开始循环的时候就会被重新初始化并赋值等于1