JAVA学习Day05

for循环

for循环的使用

见 Test01

案例1:循环录入5次int类型的数字,输出总和

案例2:循环录入小明同学的5门课成绩,计算平均分

案例3:循环录入5次int类型的数字,输出最大值

for循环的嵌套

见 Test02

    案例1:打印一下图形
            ****
            ****
            ****
            for(int i = 0;i<3;i++){//控制行数
            
                for(int j = 0;j<4;j++){//控制列数
                    System.out.print("*");
                }
                System.out.println();//换行
            }
        
    案例2:打印一下图形
        *       i=0
        **      i=1
        ***     i=2 
        ****    i=3
        *****   i=4
        for(int i = 0;i<5;i++){
            for(int j = 0;j<=i;j++){
                System.out.print("*");
            }
            System.out.println();
        }
        
    案例3:打印一下图形
        *****
        ****
        ***
        **
        *
        for(int i = 0;i<5;i++){
            for(int j = 0;j<5-i;j++){
                System.out.print("*");
            }
            System.out.println();
        }
        
    案例4:打印一下图形
        *****
         ****
          ***
           **
            *
        for(int i = 0;i<5;i++){
            for(int k = 0;k<i;k++){
                System.out.print(" ");
            }
            for(int j = 0;j<5-i;j++){
                System.out.print("*");
            }
            System.out.println();
        }
        
    案例5:九九乘法表
        for(int i = 1;i<=9;i++){
            for(int j = 1;j<=i;j++){
                System.out.print(j + "x" + i + "=" + (i*j) + "\t");
            }
            System.out.println();
        }
        
    案例6:九九乘法表
        for(int i = 1;i<=9;i++){
            for(int k = 1;k<i;k++){
                System.out.print("\t");
            }
            for(int j = i;j<=9;j++){
                System.out.print(i + "x" + j + "=" + (i*j) + "\t");
            }
            System.out.println();
        }

while循环

语法结构: ​ while(表达式){ ​ ...代码块/循环体... ​ } ​ 理解: ​ 表达式的结果必须是boolean类型 ​ true -- 执行代码块 ​ false - 跳出循环 ​ 死循环: ​ while(true){ ​ System.out.println("死循环"); ​ }

 案例:我有个梦想,每月存3000,每年递增1000元,多少个月后存满20万
    double allMoney = 0;//总金额
        double money = 3000;//当月应存的钱数
        int month = 0;//记录月数
        
        while(allMoney <= 200000){
            month++;
            allMoney += money;
            if(month % 12 == 0){
                money += 1000;
            }
        }
        
        System.out.println(month + "个月后存满20万");
        System.out.println(money);

do-while循环

语法结构: ​ do{ ​ ...代码块/循环体... ​ }while(表达式); ​ 理解: ​ 表达式的结果必须是boolean类型 ​ true -- 执行代码块 ​ false - 跳出循环 ​ 执行顺序: ​ 先执行一遍,再去判断表达式的结果 ​ 死循环: ​ do{ ​ System.out.println("死循环"); ​ }while(true); ​

 案例:小红参加学校组织的歌咏比赛,大赛在即,
          老师建议:先彩排一次,如果很令人满意,以后就不用彩排了,
          否则每天都排,直到现场表现满意为止!
        Scanner scan = new Scanner(System.in);
        String str;
        do{
            System.out.println("小红 - 唱歌~~~");
            System.out.println("小红说:\"老师,您满意了吗?\"");
            str = scan.next();
            
        }while(str.equals("不满意"));

特殊的流程控制语句

 1.break
        含义:作用在循环中,表示跳出整个循环语句
        做实验:
            while(true){
                System.out.println("111");
                System.out.println("222");
                if(true){
                    break;
                }
                System.out.println("333");
                System.out.println("444");
            }
            
        案例:循环录入小明同学5门课的成绩并计算平均分,
              如果某分数录入为负,停止录入并提示。
            Scanner scan = new Scanner(System.in);
    
            boolean flag = true;//true-正常录入,false-非正常录入
            double sum = 0;
            for(int i = 1;i<=5;i++){
                System.out.println("请输入第" + i + "门成绩:");
                double score = scan.nextDouble();
                if(score<0){
                    flag = false;
                    break;
                }
                sum += score;
            }
            
            if(flag){
                double avg = sum/5;
                System.out.println("平均分为:" + avg);
            }else{
                System.out.println("分数为负数,停止录入...");
            }
            
        2.continue
        含义:作用在循环中,表示跳过循环体剩余的部分,进入到下一次循环
        做实验:
            while(true){
                System.out.println("111");
                System.out.println("222");
                if(true){
                    continue;
                }
                System.out.println("333");
                System.out.println("444");
            }
        案例:循环录入Java课5名学生的成绩,统计分数大于等于80分的学生比例。
            Scanner scan = new Scanner(System.in);
    
            int num = 0;//大于等于80分学生的人数
            
            for(int i = 1;i<=5;i++){
                System.out.println("请输入第" + i + "名学生的成绩:");
                double score = scan.nextDouble();
                if(score < 80){
                    continue;
                }
                num++;
            }
            
            System.out.println("大于等于80分学生的比例:" + (num/5.0*100) + "%");
        
        3.return
        含义:作用在方法中,表示结束当前方法
        
        System.out.println("111");
        System.out.println("222");
        if(true){
            return;
        }
        System.out.println("333");
        System.out.println("444");
        
        4.lable
        含义:给循环做标记(给循环取名字)
        
        面试题:以下代码是否会报错
        http://www.baidu.com
        for(int i = 0;i<5;i++){
            System.out.println("Hello World");
        }
        
        需求:嵌套for循环,外层循环5次,内层循环3次,
              当外层循环到第4次时在内层循环中结束掉外层循环
            a:for(int i = 1;i<=5;i++){
                for(int j = 1;j<=3;j++){
                    if(i == 4){//当外层循环到第4次时在内层循环中结束掉外层循环
                        break a;
                    }
                    System.out.println(i + " -- " + j);
                }
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值