双重for循环实现:思想 外层for循环控制行数a每一列加一,内层for循环控制列数b由1加到a=b的时候跳出本次内层循环,a+1继续下一次内层循环。
public class Test {
public static void main(String[] args) {
for(int a=1;a<10;a++) { //外层循环,a从1到9
for(int b=1;b<10;b++) {
if(b<=a) { //当b=a的时候本行打印到最后一行,跳出内层循环
System.out.print(b+"*"+a+"="+a*b+"\t");
}
}
System.out.println();//换行
}
}
}
实现原理:外层for循环控制列a从1增加到9共九行;内存循环控制行,b从1增加到a=b;if判断当a=b时跳出内层循环
打印结果如图:
单层for循环打印
public class TestFor {
public static void main(String[] args) {
for (int a = 1, b = 1; a <=9; b++) { //for 循环中定义a<9;而b++
System.out.print(a + "*" + b + "=" + (a * b) + "\t"); //打印出a*b
if (a == b) { //判断a=b
System.out.println(); //当a=b的时候进入下一层 跳出本次循环
a++; //a+1
b = 0; //b归零
}
}
}
}
思想:同理a控制行数b控制列数 当if语句中a==b时进入下一层循环。但a要进行++操作下一次循环a的值要比上一层循环多1,并且a增到10的时候结束外层循环,b要归零否则b起始的时候是上一次循环结束时的值。