public class TestFor{ public static void main(String[] args){ //矩形 System.out.println("矩形"); for(int j=1;j<=4;j++){//控制4行 System.out.println();//打印空1行 for(int i=1;i<=5;i++){//打印左边空5距离 System.out.print(" "); } for(int i=1;i<=6;i++){//每行打印6个* System.out.print("*"); } } System.out.println("平行四边形(四行五列)"); //平行四边形(四行五列) for(int j=1;j<=4;j++){//控制行数 System.out.println(" ");//每打印完一行,打空一行 for(int i=1;i<=(4-j);i++){ System.out.print(" "); //每行的空格数-1 (空格数最小等于行数) } for(int i=1;i<=5;i++){//每行打印5个* System.out.print("*"); } } System.out.println("三角形"); //三角形 for(int j=1;j<=4;j++){//j:控制行数 System.out.println(); for(int i=1;i<=(9-j);i++){//i 控制空格数 System.out.print(" "); } for(int i=1;i<=(2*j-1);i++){//i 控制*的个数 System.out.print("*"); } } //菱形 System.out.println("菱形"); //上面三角 for(int j=1;j<=4;j++){//j:控制行数 for(int i=1;i<=(9-j);i++){//i 控制空格数 System.out.print(" "); } for(int i=1;i<=(2*j-1);i++){//i 控制*的个数 System.out.print("*"); } System.out.println(); } //下面三角 for(int j=1;j<=4;j++){//j:控制行数 for(int i=1;i<=(j+5);i++){//i 控制空格数 System.out.print(" "); } for(int i=1;i<=(7-2*j);i++){//i 控制*的个数 System.out.print("*"); } System.out.println(); } //空心菱形 System.out.println("空心菱形"); //上面三角 for(int j=1;j<=4;j++){//j:控制行数 for(int i=1;i<=(9-j);i++){//i 控制空格数 System.out.print(" "); } for(int i=1;i<=(2*j-1);i++){//i 控制*的个数 if(i==1||i==(2*j-1)){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } //下面三角 for(int j=1;j<=4;j++){//j:控制行数 for(int i=1;i<=(j+5);i++){//i 控制空格数 System.out.print(" "); } for(int i=1;i<=(7-2*j);i++){//i 控制*的个数 if(i==1||i==(7-2*j)){ System.out.print("*"); }else{ System.out.print(" "); } } System.out.println(); } //菱形:先打印四边形,再打印菱形 int size=17; int startNum=size/2+1;//起始列号 int endNum=size/2+1;//结束列号 boolean flag=true; for(int j=1;j<=size;j++){ for(int i=1;i<=size;i++){ if(i==startNum||i==endNum){ System.out.print("*"); }else{ System.out.print(" "); } } //换行 System.out.println(); if(endNum==size){ flag=false; } if(flag){//flag==ture,相当于菱形上半侧 startNum--; endNum++; } else{ startNum++; endNum--; } } } }