当前位置: 首页 > news >正文

java: 5-6 break

文章目录

  • 1. break
    • 1.1 介绍
    • 1.2 语法和流程图
    • 1.3 入门练习
    • 1.4 细节说明
    • 1.5 练习

【老韩视频p137-】

1. break

  • 看个需求:随机生成 1-100 的一个数,直到生成了 97 这个数,看看你一共用了几次?
    【思路分析:循环,但是循环的次数不知道. -> break
    当某个条件满足时,终止循环 通过该需求可以说明其它流程控制的必要性,比如 break】
public class Test {public static void main(String[] args) {//随机生成 1-100 的一个数,直到生成了 97 这个数,看看你一共用了几次?for(int i = 1; i <= 10; i++){System.out.println((int)(math.random() * 100) + 1);}}
} 

1.1 介绍

  • break 语句用于终止语句的执行,一般使用在 switch 或者循环 [for , while , do-while]中。

1.2 语法和流程图

请添加图片描述

  • 以while循环为例,讲解break语句。【只要执行break,就直接结束循环。】
    请添加图片描述

1.3 入门练习

public class Break01 {public static void main(String[] args) {//测试代码for(int i = 1; i < 10; i++){if(i == 3){break;}System.out.println("i=" + i);}}
} 

【内存分析法】
内:i -> 0 -> 1 -> 2 -> 3
执行:i=0, i=1, I=2

1.4 细节说明

  1. break语句出现在多层嵌套的语句中,可以通过标签label指明要终正的是哪
    一层语句块。
  2. 标签的基本使用:
    (标签名可以自选)

请添加图片描述
3. 老韩解读:
1. break 语句可以指定退出哪层。
2. label1 是标签,名字由程序员指定.。
3. break 后指定到哪个label 就退出到哪里。
4. 在实际的开发中,老韩不建议使用标签。
5. 如果没有指定 break,默认退出最近的循环体

  1. 代码分析一下输出什么:
  • 不写标签:

【内存分析法】
内:j -> 0 -> 1 -> 2 -> 3 -> 4
I -> 0 -> 1 -> 2 【-> 0 -> 1 -> 2 【-> 0 -> 1 -> 2 【-> 0 -> 1 -> 2 ->
执行:i=0, i=1, 结束, i=0, i=1, 结束, i=0, i=1, 结束, i=0, i=1, 结束

public class Break01 {public static void main(String[] args) {//label1:for(int j = 0; j < 4; j++){label2:for(int i = 0; i < 10; i++){if(i == 2){break; //等价于 break label2}System.out.println("i = " + i);}}}
} 
  • break + 外层标签

内:j -> 0
I -> 0 -> 1 -> 2
执行:i=0, i=1, 结束外循环

public class Break01 {public static void main(String[] args) {//label1:for(int j = 0; j < 4; j++){label2:for(int i = 0; i < 10; i++){if(i == 2){break label1; }System.out.println("i = " + i);}}}
} 

1.5 练习

  1. 1-100 以内的数求和,求出 当和 第一次大于 20 的当前数 【for + break】。
public class Break01 {public static void main(String[] args) {//1-100 以内的数求和,求出 当和 第一次大于20的当前数 【for + break】。int sum = 0;//累积和int n = 1; //定义一个变量,可以在循环外输出i。int boundary = 20;for(int i = 1; i <= 100; i++){sum += i;if(sum > boundary){ //判断System.out.println("和>20时当前数i = " + i);n = i;break;}}System.out.println("当前数 = " + n);}
} 
  1. 实现登录验证,有3次机会,如果用户名为"丁真",密码"666"提示登录成功,否则提示还有几次机会,请使用for+break 完成。
public class Break02 {public static void main(String[] args) {//实现登录验证,有3次机会,如果用户名为"丁真",密码"666"提示登录成功,//否则提示还有几次机会,请使用for+break 完成。//思路://1. 创建Scanner对象,接收输入//2. 定义变量保存用户名+密码:string user;string password。//3. 循环3次,如果满足条件,就提前退出。//4. 定义变量,记录还有几次机会chance。import java.util.Scanner;Scanner myScanner = new Scanner(System.in);string user = "";string password = "";int chance = 3;for(int i = 1; i <= 3; i++){System.out.println("请输入用户名");user = myScanner.next();System.out.println("请输入密码");password = myScanner.next();//开始比较用户名密码是否正确//补充//string的比较,使用equalsif("丁真".equals(user) && "666".equals(password)){System.out.println("登录成功");break;}chance--;System.out.println("还有" + chance + "次机会。");}}
} 

【知识补充:】

  • string之间比较,用equals
  • 2种都一样,推荐第二种。
    请添加图片描述
http://www.lryc.cn/news/280928.html

相关文章:

  • 如何使用Imagewheel搭建一个简单的的私人图床无公网ip也能访问
  • 响应式编程Reactor API大全(上)
  • vue3自定义指令
  • ECharts 多季度连续显示到一个图中。
  • 【Microsoft Copilot】手机端发布 ——GPT-4, DALL-E3 免费用
  • [蓝桥杯 2013 省 AB] 错误票据
  • IDEA GitHub令牌原理(Personal Access Token)
  • [开发语言][python][c++]:C++中的this指针和Python中的Self -- 26岁生日
  • Android Traceview 定位卡顿问题
  • 第三方 Cookie 被禁用?企业该如何实现用户精准运营和管理?
  • Autosar PNC网络管理配置(2)-基于ETAS软件
  • 【SpringMVC快速使用】1.@RestController @RequestMapping 2.logback的使用
  • C2593 operator << 不明确
  • vue:使用【3.0】:条件模块
  • Kafka与RabbitMQ的区别
  • C++力扣题目538--把二叉搜索树转换为累加树
  • 曲线生成 | 图解贝塞尔曲线生成原理(附ROS C++/Python/Matlab仿真)
  • 【一万字干货】一篇给你讲清楚智慧城市——附送智慧系列开发项目合集
  • 关于如何禁用、暂停或退出OneDrive等操作,看这篇文件就够了
  • Vue3-46-Pinia-获取全局状态变量的方式
  • 数据库——DAY1(Linux上安装MySQL8.0.35(网络仓库安装))
  • 原生微信小程序-两次设置支付密码校验,密码设置二次确认
  • 【Python学习】Python学习15-模块
  • ARCGIS PRO SDK 设置UI控件状态:启用/禁用
  • 案例126:基于微信小程序的民大食堂用餐综合服务平台
  • cephfs 配置 mds stancd replay 操作
  • 【2023我的编程之旅】系统学习C语言easyx图形库心得体会
  • 【linux】软链接创建(linux的快捷方式创建)
  • 基于BP神经网络的光伏发电预测
  • RPA财务机器人在厦门市海沧医院财务管理流程优化汇总的应用RPA全球生态 2024-01-05 17:27 发表于河北