(八)、循环结构

循环结构

for()循环

语法


for(表达式1;表达式2;表达式3){
//循环体
}


1.表达式1只执行一次
2.表达式2是个boolean表达式
3.表达式1一般是对循环变量的初始化
4.表达式3一般是对循环变量进行自增或自减操作
5.表达式1可以省略,分号不能省
6.表达式2也可以省略,表示是true
7.表达式3也可以省略

Demo:

import java.util.Scanner;

public class Demo1{
    public static void main(String[]args){
        //输出0-100
        for(int i = 0;i <= 100;i++){
            System.out.println(i);
        }
        System.out.println("-----------------------------------------");

        //输出0-100的所有奇数
        for(int i = 0;i <= 100;i++){
            if((i & 1)==1){
                System.out.println(i);
            }
        }
        System.out.println("-----------------------------------------");

        /*
            for输出
            ****
            ****
            ****
            外循环控制行
            内循环控制列
        */
        for(int i = 0;i <= 3;i++){
            for(int j = 0;j <= 4;j++){
                    System.out.print("*");
            }
            System.out.println();//只输出一个换行符
        }
        System.out.println("-----------------------------------------");

        /*
            *
            **
            ***
            ****

        */
        for(int i = 0;i <= 4;i++){
            for(int j = 0;j <= i;j++){
                System.out.print("*");
            }
            System.out.println();
        } 
        System.out.println("-----------------------------------------");

        //九九乘法表
        for(int i = 1;i <= 9;i++){
            for(int j = 1;j <= i;j++){
                System.out.print(i+"*"+j+"="+i*j+'\t');
            }
            System.out.println();
        }
        System.out.println("-----------------------------------------");

        /*
                *                   
               ***          
              *****
             *******
            *********
        */
        System.out.println("输入列数");
        Scanner in = new Scanner(System.in);
        int ln = in.nextInt();
        int row = ln;

        for(int i = 0;i <= row;i++){
            //空格
            for(int j = 0;j <=row -1 - i;j++){
                System.out.print(" ");
            }
            /*
                用--版本
                for(int j = row - 1 - i;j > 0;j --){
                    System.out.print(" ");
                }
            */
            //星星
            for(int k = 0;k < 2 * i + 1;k++){
                System.out.print("*");
            }
            System.out.println();
        }
        /*
            *******
             *****
              ***
               *
        */
        for(int i = 0;i < row + 1;i++){
            for(int j=0;j < i + 2;j++){
                System.out.print(" ");
            }
            //星星
            for(int k = 0;k < 2 * (row - 1) - 1 - 2 * i;k++){
                System.out.print("*");
            }
            System.out.println();
        }

    }
}

while循环

语法


while(布尔表达式){
//循环值
}


do{}while()循环

语法


do{
//循环体
}while(布尔表达式);


Demo:

public class Demo2{
    public static void main(String[]args){
        int i = 0;
        while(i <= 100){
            System.out.println(i);
            i++;
        }

        do{
            System.out.println(i);
            //i++;
        }while(i < 100);

        for(byte j = 125;j < 128;j++){
            System.out.println(j);
        } //死循环 i<128永远为true byte最大为127
    }
}

总结:

1.如果明确知道循环次数,建议用for
2.如果不明确知道需要循环多少次,建议用while
3.不管如何,循环体的代码至少执行1次时,用do while
while中布尔表达式不能省略

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值