Java用循环绘制基本图形

for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句。假如条件表达式的结果为假,那么它的循环语句根本不会执行。for 语句通常使用在知道循环次数的循环中。

for循环语句格式:
            for(初始化语句;判断条件;条件控制语句){
                循环体语句;
            }

       执行流程:
            1.执行初始化语句,整个循环中只执行一次。
            2.执行判断条件
                true:执行第三步
                false: 循环结束
            3.执行循环体语句
            4.执行条件控制语句
            5.回到2继续...
                    
        for循环注意事项:
            1.for循环{}中定义的变量,在每一轮循环结束后,就会从内存中释放
            2.for循环()中定义的变量,在整个循环结束后,会从梅村中释放
            3.for循环()和{}之间不要写;

我们可以通过for完成许多有趣的实现,下面是一些循环的小练习可以拿来练习循环的使用和嵌套

1. 
   *****
   *****
   *****
   *****
   *****

 

2.
  *
  **
  ***
  ****
  *****

    public static void main(String[] args) {
        /*
        9.
              *
              **
              ***
              ****
              *****
         */
        //控制每列
        for (int i = 0; i < 5; i++) {
            //控制每行打印个数
            for (int j = 0; j <= i; j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }


3.   
      *
     ***
    *****
   *******
  *********

    public static void main(String[] args) {
        /*
            *
           ***
          *****
         *******
        *********
         */
        for (int i = 1; i <= 5; i++){
            //左边空白三角
            for (int j = 0; j < 5 - i; j++){
                System.out.print(" ");
            }
            //右边 * 三角
            for (int k = 1; k < 2 * i;k++){
                System.out.print("*");
            }
            System.out.println();
        }
    }


4. 
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

    public static void main(String[] args) {
        /*
                 *
                ***
               *****
              *******
             *********
              *******
               *****
                ***
                 *
         */
        //上半部分
        for (int i = 1; i <= 5; i++){
            //上半部分左边空白三角
            for (int j = 1; j <= 5 - i; j++){
                System.out.print(" ");
            }
            //上半部分* 三角
            for (int k = 1; k < i * 2;k++){
                System.out.print("*");
            }
            //打印上半部分
            System.out.println();
        }
        
        //下半部分
        for (int i = 4; i > 0; i--){
            //下半部分左边空白三角
            for (int j = 0; j <= 4 - i; j++){
                System.out.print(" ");
            }
            //下半部分右边 * 三角
            for (int k = 1; k < i * 2; k++){
                System.out.print("*");
            }
            //打印下半部分
            System.out.println();
        }
    }


5  
          A
        ABA
      ABCBA
    ABCDCBA
  ABCDEDCBA
    ABCDCBA
      ABCBA
        ABA
          A

 

    public static void main(String[] args) {
        /*
            A
           ABA
          ABCBA
         ABCDCBA
        ABCDEDCBA
         ABCDCBA
          ABCBA
           ABA
            A
         */

        //上半部分
        for (int i = 1; i <= 5; i++) {
            char c = 'A';
            //打印上半部分左上角空格三角
            for (int j = 1; j < 5 - i; j++) {
                System.out.print(" ");
            }
            //打印上半部分字母三角
            for (int k = 1; k < 2 * i; k++) {
                if (k < i) {
                    System.out.print(c);
                    c += 1;
                } else {
                    System.out.print(c);
                    c -= 1;
                }
            }
            //打印上半部分
            System.out.println();
        }
        //下半部分
        for (int i = 4; i > 0; i--) {
            char c = 'A';
            //下半部分左边三角
            for (int j = 0; j <= 4 - i; j++) {
                System.out.print(" ");
            }
            //下半部分字母三角
            for (int k = 1; k < 2 * i ; k++) {
                if (k < i) {
                    System.out.print(c);
                    c += 1;
                } else {
                    System.out.print(c);
                    c -= 1;
                }
            }
            //打印下半部分
            System.out.println();
        }

    }


6. 
   ###*###
   ##*#*##
   #*###*#
   *#####*
   #*###*#
   ##*#*##
   ###*###

public static void main(String[] args) {
        /*
               ###*###
               ##*#*##
               #*###*#
               *#####*
               #*###*#
               ##*#*##
               ###*###
         */
        //上半部分
        for (int a = 0; a < 4; a++) {
            //上半部分第一个#三角
            for (int i = 1; i <= 3 - a; i++) {
                System.out.print("#");
            }
            //第一个*
            System.out.print("*");
            //上半部分中间的#三角
            for (int j = 0; j < 2 * a - 1;j++){
                System.out.print("#");
            }

            //第二个* 并判断是否需要打印
            if (a > 0) {
                System.out.print("*");
            }

            //上半部分后面的 # 三角
            for (int x = 1; x <= 3 - a; x++){
                System.out.print("#");
            }

            //打印上半部分
            System.out.println();
        }
        //下半部分
        for (int b = 1; b <= 3; b++) {
            //下半部分左下角 # 三角
            for (int y = 1; y <= b; y++) {
                System.out.print("#");
            }
            //第一个*
            System.out.print("*");
            //下半部分中间 # 三角
            for (int c = 0; c < 5 - 2 * b;c++) {
                System.out.print("#");
            }
            //判断是否打印下半部分第二个 *
            if (b < 3) {
                System.out.print("*");
            }
            //下半部分右下角 # 三角
            for (int d = 1; d <= b; d++) {
                System.out.print("#");
            }
            //打印下半部分
            System.out.println();
        }
    }


7. 
    自己完成一个爱心~~~~❥(^_-) ❥(^_-)❥(^_-)

    public static void main(String[] args) {
        /*
        	自己完成一个爱心~~~~❥(^_-) ❥(^_-)❥(^_-)
        	
        	  **   **
             **** ****
            ***********
             *********
              *******
               *****
                ***
                 *
         */
        //上半部分
        for (int a = 1; a < 3; a++) {

            //第一个空白小三角
            for (int b = 1; b < 4 - a; b++) {
                System.out.print(" ");
            }

            //第一个突出的三角
            for (int c = 1; c <= 2 * a; c++) {
                System.out.print("*");
            }

            //中间的空白倒三角
            for (int d = 1; d <= 5 - 2 * a; d++) {
                System.out.print(" ");
            }

            //第二个突出的三角
            for (int c = 1; c <= 2 * a; c++) {
                System.out.print("*");
            }

            System.out.println();
        }

        //下半部分倒立大三角
        for (int e = 1; e <= 6 ; e++) {
            //下半部分空白三角
            for (int f = 1; f < e; f++) {
                System.out.print(" ");
            }
            //下半倒立三角
            for (int g = 1; g <= 13 - 2 * e; g++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值