【java/c语言基础】控制条件语句:break语句、continue语句、return语句详解以及使用方法

控制条件语句

我们虽然学习完了选择结构和循环结构,但是呢,现实生活中大部分情况下,一件事完完整整的循环结束的可能性比较小,因为中途可能会发生一些状况,可能会导致循环次数变少,或者循环提前结束,或者更严重的情况发生。

为了模拟这样的情况,java呢,就提供了几个关键字给我们使用,每个关键字在不同的场景下使用。它们统称为控制流程语句
break;
continue;
return;

1.break语句

(1) break的使用场景:
  • 在选择结构switch语句中
  • 在循环语句中
  • 离开使用场景的存在是没有意义的
(2) 注意事项:
  • 单独一个if语句中不可以使用
  • 单独使用break没有意义,也不准使用
(3)举一个输入数字几就会输出星期几,并且当输入错误时,可以直接进行重新输入的例子。
import java.util.Scanner;
public class ControlDemo1 {
    public static void main(String[] args) {
        //不可以单独使用
//        break;

        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        boolean flag = true;

        while (flag){***/*while循环是保证当输入数字错误时,
 switch语句会结束但是while循环会继续,因此可以保证我们可以再从
 新输入数据。然后在进行重新判断。*/***
            System.out.println("请输入一个数字(1-7):");
            int number = sc.nextInt();
            switch (number){
                case 1:
                    System.out.println("星期一");
                    flag = false;/*此flag=false是保证当数据
输入正确时,switch语句结束,while循环也结束,从而就避免了再输出
 default中的"输入的数据有误,请重新输入!"    */
                    break;
                case 2:
                    System.out.println("星期二");
                    flag = false;
                    break;
                case 3:
                    System.out.println("星期三");
                    flag = false;
                    break;  //结束switch选择语句。
                case 4:
                    System.out.println("星期四");
                    flag = false;
                    break;
                case 5:
                    System.out.println("星期五");
                    flag = false;
                    break;
                case 6:
                    System.out.println("星期六");
                    flag = false;
                    break;
                case 7:
                    System.out.println("星期日");
                    flag = false;
                    break;
                default:
         System.out.println("输入的数据有误,请重新输入!");
                    break;
            }
        }
(4)如果想在循环嵌套中使用break结束最外层循环怎么办呢?

java中提供了一个带标签的break
例子中的wc和nc就是分别为外部循环和内部循环的标签
举例:

public class b {
    public static void main(String[] args) {
        wc:for (int i = 1; i <= 9; i++) {
            nc:for (int j = 1; j <= i; j++) {
                if(j==4){
                    //break wc;
                    break nc; //单独使用的时候,结束的是离它最近的那个循环,就是跳出单层循环
                }
                System.out.print(i + "*" + j + "=" + (i * j) + "\t");
            }
            System.out.println();
        }

    }
}

当break nc结束内部的循环时的结果为:

当break wc结束内部的循环时的结果为:

从两者的结果我们可以看出结束外部循环和内部循环的区别。

2.continue语句

(1)continue语句用法:跳出当次循环,继续执行后面的循环。
(2) continue的使用场景:在循环语句中
(3)举例:
public class Continue {
    public static void main(String[] args) {
        
      //在打印1-10过程中,打印3之前我们continue一下
                for(int i=1;i<=10;i++){
                    if(i==3){
             continue; //跳出当次循环,继续执行后面的循环。
                    }
                    System.out.println(i);
                }
    }
}

结果:结果就跳过了3其他数正常输出在这里插入图片描述

3.return语句

(1)return语句用法:结束main方法,结束程序执行,正常情况下,return在方法中使用,我们马上会说到
(2)举例:
public class ReturnDemo {
    public static void main(String[] args) {
        for(int i=1;i<=10;i++){
            if(i==3){
          return; //结束main方法,结束程序执行,正常情况下,
          在方法中使用,我们马上会说到
            }
            System.out.println(i);
        }
    }
}

结果:此程序到三直接结束,main方法直接结束。

4.列题

小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,请问,经过多少天,小芳才可以存到100元钱。

    分析:
        1、由于存钱都是每天会发生的内容,所以我们用循环去解决
            又由于我们学过了for循环和while循环
            因为不知道要存多少天钱,所以我们采用while循环
        2、定义一个变量接收存钱的天数

代码:

    public class ControlTest {
    public static void main(String[] args) {
        //定义变量代表存储的天数
        int day = 0;

        //定义另一个变量表示存储的金额
        double money = 0;

        while (money <= 100) {
            day = day + 1;
            money = money + 2.5;

            //每当这一天是存钱的第5天或者5的倍数的话, 她都会花去6元钱
            if (day % 5 == 0) {
                money = money - 6;
            }
        }

        System.out.println("==================================");

        System.out.println("第" + day + "天的时候,存到了" + money + "元");
    }
}

结果:在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值