【蓝桥杯Java_C组·从零开始卷】第三节、while循环&do while循环for循环(超重点)&break终止循环&continue结束本次循环

简介: 【蓝桥杯Java_C组·从零开始卷】第三节、while循环&do while循环for循环(超重点)&break终止循环&continue结束本次循环

开篇主旨——循环四要素

初始值

表达式

循环体

迭代器

所有的循环无论怎么封装,都会遵循着这是个点,就算用hash的方法也算是迭代器的用法。


只要控制好这四个,那么您循环的功底也就满足了,后期递归啥的也就容易理解了。


while循环

while:中文叫【当…时】,其实就是当条件满足时就执行代码,一旦不满足了就不执行了。


语法:while (条件) { 满足条件就执行 }


因为满足条件就执行,所以我们写的时候一定要注意,就是设定一个边界值,不然就一直循环下去了。也就是说控制好【表达式】与【迭代器】即可。

package Action;
public class demo {
  public static void main(String[] args) {
    // 1. 初始化条件
    int num = 0;
    while (num < 10) {//2. 条件判断
      // 3. 要执行的代码
      System.out.println(num);
      // 4. 自身改变
      num = num + 1;
    }
  }
}

如果没有自身改变,那么就会一直循环不停了。


do{}while()循环

与while循环的区别就是,无论表达式是否成立,都会进行一次判断。

package Action;
public class demo {
  public static void main(String[] args) {
    int a = 0;//初始值
    do{
      //循环体
        System.out.println(a);
        a++;//迭代器
    } while (a<10);//表达式
  }
}

由于do{}while()用的不多,就不多做表述了。


for循环(重点)

和 while 和 do while 循环都不太一样的一种循环结构


道理是和其他两种一样的,都是循环执行代码的


语法格式如下:

for (int i = 0; i < 10; i++) {
  System.out.println(i);    
}

那么,for循环的四要素是否齐全呢,其实一眼便可以区分出来,都是很明显的。


for的用法也有很多,各种变化初始值,正序,倒序都可以执行。


强化循环练习:

package Action;
import java.util.Scanner;
public class demo {
  @SuppressWarnings("resource")
  public static void main(String[] args) {
//        1盈盈为了考验令狐冲夺冠的决心,要他说一百遍“我能行!”
//        int i = 100;
//        while (i > -1) {
//            System.out.println("我能行!!!!");
//            i--;
//        }
//
//        2.本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?(用double存储)
//        double money = 10000;
//        byte i = 0;
//        while (i < 5) {
//            money += money * 0.003;
//            System.out.println(money);
//            i++;
//        }
//
//        3. 计算出1—100之间所有能被3整除的整数的和?
//        int i = 100;
//        int sum = 0;
//        while (i >= 0) {
//            if (i % 3 == 0) {
//
//                sum += i;
//            }
//            i--;
//        }
//        System.out.println(sum);
//
//        4. 计算1000以内所有不能被7整除的整数之和?
//        int i = 1000;
//        int sum = 0;
//        while (i >= 0) {
//            if (i%7 != 0) {
//                sum += i;
//            }
//            i--;
//        }
//        System.out.println(sum);
//
//
//        5.用while做 求10到20的累加和
//        int i = 10;
//        int sum = 0;
//        while (i<=20){
//            sum += i;
//            i++;
//        }
//        System.out.println(sum);
//
//        6. 找出一个数的所有因子数
//        Scanner sc = new Scanner(System.in);
//        System.out.print("请输入一个数");
//        int num = sc.nextInt();
//        int i = 1;
//        if (num == 0) {
//            System.out.println("你的因子数为0");
//        } else {
//            while (i <= num/2) {
//                if (num % i == 0 ) {
//                    System.out.println(i);
//                }
//                i++;
//            }
//        }
//
//        7. 输入一个数,判断这个数是否是素数;
//    Scanner in = new Scanner(System.in);
//    System.out.print("请输入一个数字:");
//    int x = in.nextInt();
//    int i = 2;
//    if (x == 1 || x == 0) {
//      System.out.println("不是素数");
//    }
//    boolean isf=true;
//    while (i < x) {
//      if (x % i == 0) {
//        isf=false;
//        break;
//      }
//      i++;
//    }
//    System.out.println(isf?"素数":"不是素数");
//        8 定义一个正整数如:1205  统计它的各位数字中零的个数,并求各位数字中的最大者。
//        Scanner sc = new Scanner(System.in);
//        System.out.print("请输入一个正整数:");
//        int num = sc.nextInt();
//        int max = 0; //最大值
//        int count = 0; // 计数
//        while (num > 0) {
//            int j = num % 10;
//            if (j == 0) {
//                count++;
//            } else {
//                if (j > max) {
//                    max = j;
//                }
//            }
//            num /= 10;
//        }
//        System.out.println("最大值是" + max + " 零一共有" + count + "个");
//
//        9 有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完
//        int sum =1020;
//        int count=0;
//        while (sum!=0) {
//          sum=sum/2-2;
//        count++;
//      }
//        System.out.println(count+"天");
//        10猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃一个,以后每天都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个?
//        int sum=1;//最后一天的一个
//        int half=0;//用于计算昨天的
//        int i=0;//
//        while (i<9) {//9天循环9次,第十天1个初始值
//          half=(sum+1)*2;
//        sum=half;
//        i++;
//      }
//        System.out.println(half);
//        11判断一个数是否是完全数(完数指的是一个数的所有因子数的和等于这个数本身,例如 6=1+2+3,即6就是完全数)
//      int num = 6;
//      int sum=0;
//      for (int i = 1; i < num; i++) {
//        if(num%i==0) {
//          sum+=i;
//        }
//      }
//      if(sum==num) {
//        System.out.println(num+"是完数");
//      }
//        12.循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误(使用break)
//    int[] arr = new int[5];
//    Scanner sc = new Scanner(System.in);
//    for (int i = 0; i < 5; i++) {
//      arr[i] = sc.nextInt();
//      if (arr[i] < 0) {
//        break;
//      }
//    }
//    for (int i = 0; i < arr.length; i++) {
//      System.out.println(arr[i]);
//    }
//        13.循环录入Java课的学生成绩,统计分数大于等于 80分的学生比例(使用continue)
    Scanner sc = new Scanner(System.in);
    System.out.println("班级总人数");
    int count = sc.nextInt();
    // 每个人的成绩
    int oneNum = 0;
    // 统计班级里Java成绩大于80的人数
    int num = 0;
    // 循环录入每个人的Java成绩
    for (int i = 1; i <= count; i++) {
      System.out.println("请输入第" + i + "个同学的成绩:");
      oneNum = sc.nextInt();
      if (oneNum < 80) {
        continue;// 小于80分跳过
      }
      num++;
    }
    // 计算大于等于80的学员比例
    System.out.println("80分以上的学生人数为:" + num);
    // 计算大于80分的学生所占百分比
    double result = (double) num / count * 100;
    System.out.println("80分学员所占百分比:" + result + "%");
  }
}

希望能对大家有所帮助。

相关文章
|
6天前
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中Stream API与传统for循环的性能对比及适用场景。作者通过实际案例分析,指出在某些情况下,过度使用Stream API会导致代码可读性和维护性下降。测试结果显示,在数据量较小的情况下,普通for循环的性能优于Stream API,尤其是在涉及多次类似操作时。因此,建议在开发中根据具体需求选择合适的遍历方式,以提高代码的可读性和性能。
Java循环操作哪个快?
|
3月前
|
存储 Java
|
21天前
|
算法 Java 测试技术
🧑‍💻Java零基础:Java 的循环退出语句 break
【10月更文挑战第16天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
36 6
|
1月前
|
Java 测试技术 数据安全/隐私保护
📖Java零基础-while循环语句的深度解析
【10月更文挑战第6天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
28 1
|
1月前
|
Java 测试技术 数据安全/隐私保护
🚀Java零基础-continue语句详解
【10月更文挑战第3天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
32 4
|
1月前
|
传感器 Java 测试技术
📖Java零基础-do-while循环语句的深入剖析
【10月更文挑战第5天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
12 1
|
2月前
|
Java
java基础(2)循环语句for、while、do...while
本文介绍了Java中的基础循环语句,包括for循环、while循环和do...while循环。文章通过示例代码展示了for循环的基本结构和用法,while循环的先判断后执行逻辑,以及do...while循环的先执行后判断逻辑。这些循环语句在Java编程中非常常用,用于执行重复的任务。
48 4
java基础(2)循环语句for、while、do...while
|
2月前
|
Java
Java循环
Java循环
42 6
|
2月前
|
编译器
Java--for循环语句
Java--for循环语句
|
3月前
|
存储 Java
如何在 Java 中循环 ArrayList
【8月更文挑战第23天】
38 2