java循环实例之图形打印

JAVA-循环的使用

for循环的使用

for循环的语法:
    for(起点;终点;变化过程){
        循环体;
    }

public class For {
    public static void main(String[] args) {
        图形打印        
            图形1:正三角形;
                 *
                ***
               *****
              *******
             *********
            ***********
           *************
          ***************
         *****************
        *******************
       *********************
    设计思想:
            可以把这个图形分解成2个图形,左边一个直角三角形,右边一个正三角形;
            把左边的直角三角用空格输出,那么所占的位置就会出现一个空白;
            再打印一个正三角即可。
        //外循环:定义行数
        for(int i=1;i<=10;i++) {
            for(int j=9;j>=i;j--) {
            //内循环:打印一个空白直角三角形;
                System.out.print(" ");
            }
            //内循环:打印一个正三角
            for(int j=1;j<=i*2-1;j++) {
                System.out.print("*");
            }
            System.out.println();
        }


        图形2:棱形;
          *
         ***
        *****
       *******
      *********
     ***********
      *********
       *******
        *****
         ***
          *
        设计思想:
            这个图和上面的图极为相似,道理也是一样的,只需要打印出上半部后,
            再按照这个方法把图倒过来即可;

    for(int i=1;i<=10;i++) {    //定义行数;
        for(int j=9;j>=i;j--) {
        //打印一个直角三角形,输出用空格占位
            System.out.print(" ");  //换行
        }
        for(int j=1;j<=i*2-1;j++) {
        //打印一个正三角;
            System.out.print("*");
        }
        System.out.println();
    }

     //将上面的图形进行颠倒,打印输出;
    for(int i=1;i<=10;i++) {
        for(int j=1;j<=i;j++) {
            System.out.print(" ");
        }
        for(int j=17;j>=i*2-1;j--) {
            System.out.print("*");
        }
        System.out.println();
    }


        图形3:
                   *
                  ***
                 *****
                *******
               *********
              ***********
             *************
            ***************
           *****************
          *******************
         *********************
                ********  
               **********
              ************
             **************
            ****************
                  ****
                  ****
                  ****
                  ****
                  ****
                  ****
    //设计思想:
    //  我们可以将这个树形拆分为三个图形。
    //  上部的正三角,中部的等腰梯形,下部的方形三个图形分别实现。

    //打印上面部分的正三角形
    for(int i=1;i<=12;i++) {
        //打印一个正三角形
        for(int j=12;j>i;j--) { 
            System.out.print(" ");
        }
        for(int j=1;j<=i*2-1;j++) {
            //打印一个正三角;
            System.out.print("*");
        }
        System.out.println();
    }
    //打印中部等腰梯形
    for(int i=1;i<=6;i++) {
        for(int j=7;j>=i;j--) {
            System.out.print(" ");
        }
        for(int k=0;k<i*2+7;k++){   //打印一个等腰梯形
          /*定义k的值为0,k自加到5的时候,k就不再为真了,循环就结束了;    
            当i为1的时候i*2+7就等于1*2+7=9;当i自增为6的时候就等于6*2+7=19;*/  
            System.out.print("*");
        }  
        System.out.println();
    }
    //打印下部长方形;
    for(int i=1;i<=6;i++) { //打印行数;
        for(int j=1;j<=8;j++) {
            System.out.print(" ");
        }
        System.out.print("#######");
        System.out.println();
    }

    图形4:
            *
           * *
          *   *
         *     *
        *       *
       *         *
      *           *
     *             *
    *               *
   *                 *
    *               *
     *             *
      *           *
       *         *
        *       *
         *     *
          *   *
           * *
            *
    //定义外层循环控制行数
    for(int i=1;i<=10;i++){
        //定义内层控制空白三角形
        for(int j=10;j>=i;j--){
            System.out.print(" ");
        }
        for(int j=1;j<=i*2-1;j++){
            if(j==1||j==i*2-1){
                System.out.print("*");
            }else{
                System.out.print(" ");
            }
        }
        System.out.println();
    }
    //定义外层循环控制行数
    for(int i=1;i<=9;i++){
        //定义内层控制空白三角形
        for(int j=1;j<=i+1;j++){
            System.out.print(" ");
        }
        for(int k=17;k>=2*i-1;k--){
            if(k==17||k==2*i-1){
                System.out.print("*");
            }else{
                System.out.print(" ");
            }
        }
        System.out.println();
    }

while循环的使用

while循环的语法:
    int i=0;    //定义起点;
    while(定义终点){
        //循环体;
        i++ //变化过程;
    }

    //打印1-100的和
    int i=1,sum=0;
    while(i<=100) {
        sum+=i;
        i++;
    }
    System.out.print(sum);
}

}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值