Java基础--循环结构

1.while循环

  • while(条件){
        //代码块
    }
  • 当条件为真时,执行代码块,执行完循环中的代码块后,再次判断条件是否为真,如果条件为真,继续执行代码块,直到条件为假时,结束循环。

  • 循环的组成:

    • 循环变量

      • 在循环的过程中不断发生变化,当它达到某个值时,不符合条件,就会结束循环。

    • 循环条件

      • 循环执行的依据,条件为真,执行循环,条件为假,结束循环。

    • 循环体

      • 循环时重复执行的操作

    • 迭代

      • 循环变量在循环中的变化

    • while (num <= 100) {
          //sum = sum + num;
          sum += num;//累加求和,使sum在原有的基础上增加num
          num++;
      }
      System.out.println("1~100的和为:" + sum);

  • 分类

    • 计次循环

    • 不计次循环

      • //小明上午学习理论,下午上机,然后找老师检查,如果不合格,继续学习
        Scanner input = new Scanner(System.in);
        String isPass = "不合格";//是否合格,开始时默认不合格
        while("不合格".equals(isPass)){
            System.out.println("上午学习,下午上机");
            System.out.print("小明合格了吗?");
            isPass = input.next();
        }
        System.out.println("恭喜你,通过了检测");

2.do-while循环

do {
    //代码块
} while(条件);
  • 先执行循环中的代码块,然后判断条件是否为真,如果为真,继续执行循环

  • 循环体至少执行1次

  • //小明上午学习理论,下午上机,然后找老师检查,如果不合格,继续学习
    Scanner input = new Scanner(System.in);
    String isPass;//是否合格
    do {
        System.out.println("上午学习,下午上机");
        System.out.print("小明合格了吗?");
        isPass = input.next();
    } while("不合格".equals(isPass));
    System.out.println("恭喜你,通过了检测");

  • while 和 do-while 的区别

    • 执行顺序不同,while是先判断,再执行,do-while先执行再判断

    • while循环和do-while循环只在初始情况不满足时,执行次数有区别,while循环一次都不执行,do-while循环至少执行一次,其他情况,两种循环执行次数一样。

3.for循环

for(循环变量初始化;条件;迭代){
    //循环体
}
  • //i的作用域只在for循环中
    for (int i = 0;i < 10;i++) {
        System.out.println(i);
    }
  • for循环是简化版的while循环,也是先判断,再执行

  • ①循环变量初始化(只执行一次)——>②判断循环条件——>③循环体——>④迭代——>判断循环条件

  • for循环中小括号的表达式都可以拿出来挪位置,但是要保留分号

    • for循环的循环条件可以省略,但如果省略,for循环就会变成无限循环

  • 如果有多个相同类型的循环变量,可以用逗号隔开声明部分和迭代部分

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

4.break和continue

  • 有时候需要在循环的过程中跳出循环,可以使用循环中断语句——break

  • break用在switch里是跳出switch,用在循环里是跳出循环

  • //找到大于50的17的最小倍数
    for (int i = 17;;i++){
        //找到符合条件的数字,不需要继续循环了
        if (i > 50 && i % 17 == 0) {
            System.out.println("大于50的17的最小倍数是" + i);
            break;//跳出循环
        }
        System.out.println("");
    }

  • break和continue的区别

    • break是跳出循环,执行循环后面的语句

    • continue是跳出本次循环,执行下一次循环

  • continue

    • for (int i = 0;i < 100;i++){
          //如果是5的倍数,就跳过打印语句
          if (i % 5 == 0){
              continue;
          }
          System.out.println(i);
      }

    • 使用continue有时可以减少if的嵌套层数

  • 注意:

    • break和continue后面不能再写java命令,因为这两句话都是结束(本次/整个)循环,后面的语句都执行不到。

    • break和continue总是搭配选择结构使用

      • 因为switch中break有特殊作用,所以使用break时,用if搭配

    • continue一般和for循环搭配使用

      • 因为我们习惯把迭代放在最后,如果使用continue搭配while或do-while容易跳过迭代部分,造成无限循环

5.程序调试

  • 1.打断点

    • 在可能出现问题的java语句上打断点,等启动了调试模式时,程序就会停在断点处

  • 2.启动调试模式

  • 3.追踪观察程序的执行过程

    • 1.跳到下一个断点

    • 2.运行一条java指令,不进入方法体

    • 3.运行一条java指令,进入方法体

  • 4.观察变量值的变化

    • 可以点击"+"自行添加要观察的变量或表达式

注意:

debug可能会出错:①.输入命令卡住程序运行,②.if选择结构没有走到断点的位置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值