Java使用for循环:打印直角三角形/倒直角三角形/正三角形/倒正三角形/矩形/平行四边形/菱形的规律

新人表示总结出规律后,小意思啦~

使用方法:嵌套for循环

1.外层循环控制的是执行的轮数,内层循环控制的是这一轮中执行的次数

2.外层循环控制的是图形的行数,内层循环控制的是这一行的列数

直角三角形:

规律:

1.外层for循环,循环条件 i 值设定具体边长

2.内层for循环,循环条件 j 值与外层循环 i 值挂钩(打印空格加*)

//直角三角形
for (int i = 0; i <= 5; i++) {
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

倒直角三角形:

规律:(对比上面直角三角形)

1.外层for循环全部相反:开始条件0改成5,循环条件 '<'号 改成 '>'号,更改条件 ++ 改成 --

2.内层for循环不变(打印空格加*)

//倒直角三角形
for (int i = 5; i >= 0; i--){
            for (int j = 0; j <= i; j++){
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

或者

1.内层for循环全部相反:开始条件0改成5,循环条件 '<'号 改成 '>'号,更改条件 ++ 改成 --

2.外层for循环不变(打印空格加*)

//倒直角三角形
for (int i = 0; i <= 5 ; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//打印空格
        }

结论:对比直角三角形,外层和内层循环哪一个相反,都可以打印出倒直角三角形 

 矩形或正方形:

规律:(最简单)

1.外层for循环和内层for循环一模一样

2.内层打印标志符,外层打印换行(打印空格加*)

//矩形或正方形
for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

正三角形:

规律:

1.外层for循环正常不变

2.第一个内层for循环,与外层for循环全部相反:开始条件0改成5,循环条件 '<'号 改成 '>'号,更改条件 ++ 改成 --(相当于打印一个空格组成的倒直角三角形)

  并且循环条件 j 值与外层循环 i 值挂钩

  (打印的是空格)

3.第二个内层for循环,与外层for循环一样,只是循环条件 j 值与外层循环 i 值挂钩(打印空格加*)

注意:两个内层for循环循环条件 j 值与外层循环 i 值全部挂钩,不赋值

//正三角形
for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

倒正三角形:

规律:(对比上面正三角形)

1.外层循环不变,第二个内层for循环和第三个内层for循环互换位置,打印内容不换

(第二层for循环相当于先打印一个空格组成的直角三角形)
//倒正三角形
for (int i = 0; i <= 5 ; i++) {
            for (int j = 0; j <= i ; j++) {
                System.out.print(" ");//打印空格
            }
            for (int j = 5; j >= i ; j--) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

平行四边形:

规律:(对比正三角形)

1.可以说和正三角形打印一模一样

2.唯一要改的地方:第二个内层for循环的循环条件,正三角形的 j <= i 改成 j <= 5 ,换成赋值就行啦

正三角形 

//正三角形
for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

自己对比一下 

平行四边形

//平行四边形
for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= 5; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

菱形:

规律:

1.就是上面一个正三角形,下面一个倒正三角形,拼起来就行

2.唯一要改的地方:下面倒正三角形,除了外层for循环开始条件的数值0不修改,其它三层for循环的所有数值减1,就能完美拼接

正三角形 

//正三角形
for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

拼接

倒正三角形

//倒正三角形
for (int i = 0; i <= 4 ; i++) {
            for (int j = -1; j <= i ; j++) {
                System.out.print(" ");//打印空格
            }
            for (int j = 4; j >= i ; j--) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

 唯一改正后

菱    形

//菱形
        //正三角形
        for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();
        }
        //倒正三角形
        for (int i = 0; i <= 4 ; i++) {
            for (int j = -1; j <= i ; j++) {
                System.out.print(" ");//打印空格
            }
            for (int j = 4; j >= i ; j--) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

我是刚入行的新人,以上规律都是我原创总结,分享给其他新人哈~

你可能感兴趣的:(图形,java,算法,图形学,推荐算法)