开始

public static void main(String[] args) {
    //最外层的for循环就是控制打印多少行
    for (int i = 1; i <= 5; i++) {//i小于等于5说明打印5行
        //里面第一个for循环是打印一个由上到下逐渐变小的直角三角形
        for (int j = 5; j >= i; j--) {
            //j等于5证明在第一次i=1的循环中(也就是打印第一行时)要打印5个字符。
            // 第二次外层循环(i=2时,也就是打印第二行时),要满足j大于等于i时(即5>=2),
            // 要经过4次循环才会让j的值变为2,也就是会输出4个字符
            System.out.print("0");//可以换成0方便观察
        }
        //里面第二个for循环是打印一个由上到下逐渐变大的直角三角形
        for (int j = 1; j <= i; j++) {//
            //第一次外层循环(i=1,打印第一行时),j也是等于1的,满足一次j小于等于i(1<=1),
            //只会打印一个字符
            System.out.print("*");
        }
        //里面第三个for循环是打印一个由上到下逐渐变大的直角三角形
        for (int j = 1; j <i; j++) {
            //第一次外层循环(i=1,打印第一行时),由于判断条件是j<i(1<1),不满足,第一次并不会打印
            //所以三角形最上面的角是第二个for循环打印的
            //第二次外层循环(i=2,打印第二行时),由于判断条件是j<i(1<2),只满足一次,所以这次的循只会打印
            //一个字符。
            System.out.print("*");
        }
        //打印完一行后换行(也就是里面的3个for循环都把第一行需要输入打印的完成了)
        //换一行就跳出了第一次的外层循环(i=1时)
        System.out.println();
    }
}

注意第一次外层for循环时的第一个内层for循环和第二个内层for循环时
image
第二次外层for循环(i=2时)
image

posted on 2022-03-06 11:55  cccuuuzzz  阅读(53)  评论(0)    收藏  举报