利用循环打印图形
1、打印倒三角形,效果如图:
public class Testwork1{
public static void main(String[] args){
for (int i=5;i>0;i--){
// 空格
for(int j=1;j<6-i;j++){
System.out.print(" ");
}
// 星星
for(int k=0;k<i;k++){
System.out.print(" *");
}
System.out.println();
}
}
}
2、打印对称【X】图形,效果如图:
public class Testwork2{
public static void main(String[] args){
//先输出一个正矩阵,然后再通过if判断使其输出Q成x形状
for(int a=1;a<=7;a++){
for(int b=7;b>=1;b--){
if((a==b) || (a+b==8)){
System.out.print("0");
}else{
System.out.print("x");}
}System.out.println();
}
}
}
}
3、打印一个菱形,效果如图:
public class Testwork3{
public static void main(String[] args){
//上半部分
for(int a=0;a<5;a++){
for(int c=1;c<=5-a;c++){
System.out.print(" ");
}
for(int b=0;b<=a*2;b++){
System.out.print("*");
}System.out.println();
}
//下半部分
for (int i=4;i>0;i--){
for(int j=0;j<=5-i;j++){
System.out.print(" ");
}
for(int k=0;k<i*2-1;k++){
System.out.print("*");
}
System.out.println();
}
4、打印一个空心菱形,效果如下图:
public class Testwork4{
public static void main(String[] args){
//镂空菱形
for(int a=0;a<5;a++){
for(int c=1;c<=5-a;c++){
System.out.print(" ");
}
for(int b=0;b<=a*2;b++){
if((b==0)||(b==2*a)){
System.out.print("*");}else{
System.out.print(" ");
}
}System.out.println();
}
for (int i=4;i>0;i--){
for(int j=0;j<=5-i;j++){
System.out.print(" ");
}
//通过判断使内部的*变成空白
for(int k=0;k<i*2-1;k++){
if((k==0)||(k==i*2-2)){
System.out.print("*");}else{
System.out.print(" ");
}
}
System.out.println();
}
}
}
5、打印平行四边形,效果如图:
public class Testwork5{
public static void main(String[] args){
for(int a=1;a<=5;a++){
for(int c=4;c>=a;c--){
System.out.print(" ");
}
for(int b=1;b<=6;b++){
System.out.print("*");
}System.out.println();
}
}
}
6、打印AB钻石形,效果如图:
public class Testwork6{
public static void main(String[] args){
for(int i=1;i<=7;i++){
// 上左A
for(int a=7;a>=i;a--){
System.out.print("A");
}
// 上左空格
for(int c=0;c<5;c++){
System.out.print(" ");
}
// 上菱形
for(int b=1;b<=i*2-1;b++){
System.out.print("*");
}
//上右空格
for(int c=0;c<5;c++){
System.out.print(" ");
}
//上右B
for(int d=7;d>=i;d--){
System.out.print("B");
}
System.out.println();
}
for(int e=1;e<=6;e++){
//下左A
for(int f=0;f<=e;f++){
System.out.print("A");
}
// 下左空格
for(int g=0;g<5;g++){
System.out.print(" ");
}
// 下菱形
for(int k=11;k>=e*2-1;k--){
System.out.print("*");
}
// 下右空格
for(int m=0;m<5;m++){
System.out.print(" ");
}
// 下右B
for(int f=0;f<=e;f++){
System.out.print("B");
}
System.out.println();
}
}
}
7、总结:
-
要明白最外层的循环是控制行数,并不是别的
-
循环嵌套循环明白对应循环控制的样式。明白定义时赋值为1还是0,以及定义范围和if判断时的范围