【JAVA基础】—流程控制语句(二)

前言

    上一篇博客跟大家一起学习了选择结构和顺序结构的语句,现在来和大家一起回顾循环语句和跳转语句。

正文

循环语句

    循环语句用于反复执行一段代码,直到满足终止循环的条件为止。

  • while 语句
        while语句会反复地进行条件判断,只要条件成立,执行循环体,直到条件不成立,while循环结束。
    这里写图片描述
public class WhileDemo{
    public static void main(String[] args){
        //输出1-4之间的整数
        //定义变量,整数类型,循环的条件
        int i =1;
        while(i < 5){
            System.out.println(i);
            i ++;
        }
    }
}
  • do-while 语句
        do-while语句和while语句功能类似,只不过do-while语句将循环条件放在了循环体的后面,也就是说,循环体会无条件地执行一次,然后再根据循环条件来决定是否继续执行。
    这里写图片描述
public class DoWhileDemo{
    public static void main(String[] args){
        //输出1-4之间的整数
        int i =1;
        do{
            System.out.println(i);
            i ++;
        }
        while(i < 5); //循环条件
    }
}
  • for 语句
        for循环语句由循环体和循环的终止条件两部分组成。

这里写图片描述

for 循环语句:循环结构
for(初始化表达式;循环条件表达式;循环后的操作表达式)
  {
     执行语句;(循环体)
  }
/*
for 循环
编写格式:
  for (初始化变量 ; 条件 ; 增量){
      循环体
  }
  初始化变量:定义变量,作用,控制循环的次数
  条件:当条件是true,执行循环体,条件是false,结束循环
  增量:变量自增情况
*/
public class ForDemo{
    public static void main(String[] args){
        int sum = 0 ;
        for(int i = 0; i <= 4;i ++){
            sum = sum + i;

        }
        System.out.println(sum);
    }

}
  • 循环嵌套
        循环嵌套是指在一个循环语句的循环体中再定义一个循环语句的结构。while 、do-while、for循环语句都可以进行嵌套,最常见的还是for 循环嵌套for 循环。
/*

*/
public class ForForDemo{
    public static void main(String[] args){
        int i, j; // 定义两个循环变量
        for(int i =0; i <9; i++){  //外层循环,控制打印的行数
            for(int j=0; j<i+1;j++){  //内层循环,控制'*'逐行增加
                System.out.print(" * ");
            }
            System.out.print("\n");
        }
    }
}

这里写图片描述

跳转语句

    跳转语句用于实现循环执行过程中的程序流程的跳转。

  • break语句 中断
        在switch 条件语句和循环语句中都可以使用break语句,当它出现在switch语句中时,用来终止某个case 并跳出switch 结构;当它出现在循环语句中时,用来跳出循环语句,执行后面的代码。
    switch语句
/*
   break语句的作用:跳出当前case对应的语句
*/
public class SwitchDemo{
    public static void main(String[] args){
        int i = 4;
        switch(i){
            case 1:
            System.out.println("星期一");
            break;

            case 2:
            System.out.println("星期二");
                break;
            case 3:
            System.out.println("星期三");
                break;
            case 4:
            System.out.println("星期四");
                break;
            default:
            System.out.println("星期五");
                break;
        }
    }
}

输出结果为 :星期四 ,说明当执行到case 4 时满足条件,执行break ,跳出整个switch 结构。
循环语句(单层循环)

/*

  break 作用于循环中,终止循环
*/

public class BreakDemo{
    public static void main(String[] args){
        int i = 1;
        while(true){
            if(i == 3){
                break;   //当i自增到3,满足条件,终止当前循环
            }else{
                System.out.println(i);
            }
            i ++;
        }
    }

这里写图片描述
    当break 语句出现在嵌套循环中的内层循环时,它只能跳出内层循环,如果想使用break语句跳出外层循环就需要对外层循环添加标记。

public class BreakDemo02 {
    public static void main(String[] args) {
        int i, j; // 定义两个循环变量
        //NO.1 标签,标记代码块,如果条件成立,则中断NO.1标记的代码块
        NO.1: for (i = 1; i <= 9; i++) { // 外层循环
            for (j = 1; j <= i; j++) { // 内层循环
                if (i > 4) { // 判断i的值是否大于4
                    break NO.1; // 跳出外层循环
                }
                System.out.print("*"); // 打印*
            }
            System.out.print("\n"); // 换行
        }
    }
}

    输出结果表示break 中断了外层循环,所以只打印了4行数据。

  • continue语句 继续
        continue语句用在循环语句中,主要用来终止本次循环,执行下一个循环。
/*
    对1~100内的奇数求和
    break:当遇到偶数时,不进行累加操作,跳出本次循环,执行下一个数字的判断
*/
public class ContinueDemo{
    public static void main(String[] args){
        int sum = 0; // 定义变量sum,用于记住和
        for (int i = 1; i <= 100; i++) {
            if (i % 2 == 0) { // i是一个偶数,不累加
                continue; // 结束本次循环
            }
            sum += i; // 实现sum和i的累加
        }
        System.out.println("sum = " + sum);
    }
}

    continue 语句出现在多层嵌套的循环语句体中时,他只能跳出内层循环,如果想跳出外层循环,可以通过标号(标签)指明要跳过的是哪一层循环。

public class ContinueDemo02 {
    public static void main(String[] args) {
        int i, j; // 定义两个循环变量
        //NO.1 标签,标记代码块,如果条件成立,则中断NO.1标记的代码块
        NO.1: for (i = 1; i <= 9; i++) { // 外层循环
            for (j = 1; j <= i; j++) { // 内层循环
                if (i > 4) { // 判断i的值是否大于4
                    continue NO.1; // 跳出外层循环
                }
                System.out.print("*"); // 打印*
            }
            System.out.print("\n"); // 换行
        }
    }
}
  • return语句 返回
        return语句用于结束一个方法,跳转到上层调用的方法。
//语句格式
return expression;
return;
/*

   要求:计算一个长方形的面积

*/
public class MethodDemo{
    public static void main(String[] args){
        int areas = getArea(3,5);
        System.out.println("面积是:"+ areas);
    }
     public static int getArea(int w,int h){
         //实现方法的功能主体
         return  w * h;  //返回主程序,同时将w * h 的值带给主程序的areas 变量

     }
     public void set(int m,int n){
      int z;
      z=m*n
      return;  //本方法执行结束,返回主程序
}

}

    注意:return语句通常用在方法体的最后,否则会产生编译错误,除非用在if-else 语句中。

  • break和continue的比较

    单层循环中,break 跳出单层循环,continue 跳出当前循环,继续执行下一循环;
    嵌套循环中,break 跳出当前循环,只是跳出当前的这一层循环,如果想要跳出所有循环,则需要逐层加入break; continue 和 break 很相似,如果想要跳出所有循环,需要逐层加入continue。

总结

    感谢您的阅读,流程控制语句的循环语句和跳转语句先介绍到这里,后面博客将和大家一起来学习数组,一维数组,二维数组,数组的遍历等,敬请期待!

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的大白啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值