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的比较,使用equals
			if("丁真".equals(user) && "666".equals(password)){
				System.out.println("登录成功");
				break;
			}
			chance--;
			System.out.println("还有" + chance + "次机会。");
			
		}

	}
} 

【知识补充:】

  • string之间比较,用equals
  • 2种都一样,推荐第二种。
    请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/321037.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VQE音频处理流程

VQE 上行VQE&#xff0c;主要针对MIC采集部分的音频增强 下行VQE&#xff0c;主要针对SPK播放部分的音频增强 附关键词解释 RES RES 模块为重采样&#xff08;Resampler&#xff09;模块。当AI上行或AO下行通路中开启VQE 各功能 模块时&#xff0c;在处理前后各存在一次重采样…

实战之-Redis代替session实现用户登录

一、设计key的结构 首先我们要思考一下利用redis来存储数据&#xff0c;那么到底使用哪种结构呢&#xff1f;由于存入的数据比较简单&#xff0c;我们可以考虑使用String&#xff0c;或者是使用哈希&#xff0c;如下图&#xff0c;如果使用String&#xff0c;注意他的value&…

计算机网络技术-2022期末考试解析

【前言】 这是计算机网络技术这门课&#xff0c;感觉和计网还是有不一样的&#xff0c;但也有能做的&#xff0c;把能做的做了。 一、单项选择题&#xff08;每题2分&#xff0c;共20分&#xff09; 1. 用于测试两台计算机连通状况的命令是 。 ( ) A. cmd B. ping C. ipconf…

代码随想录day30 回溯算法最终章

51. N皇后 题目 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案&#xff0c;该方案中 Q 和…

TIFF转JPG助手:轻松批量转换,优化图片管理

在数字时代&#xff0c;图片已成为我们生活和工作中不可或缺的一部分。为了更好地管理和使用这些图片&#xff0c;我们需要一个强大的工具来帮助我们转换和优化图片格式。TIFF转JPG助手正是这样一款理想的解决方案 首先&#xff0c;我们进入首助编辑高手主页面&#xff0c;会看…

嵌入式软件面试之程序在存储器中的分布

Hi, 大家好&#xff0c;今天阿目分享的是一个嵌入式软件面试的常见问题&#xff0c;内存分布或者说程序在内存中的布局&#xff0c;我们写的程序是按照怎么的准则放在内存中的&#xff1f; 一般有操作系统的嵌入式设备&#xff0c;都会有一个Bootloader, 它负责在上电后初始化…

70.网游逆向分析与插件开发-角色数据的获取-自动化助手UI显示角色数据

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;利用技能点属性分析角色数据基址-CSDN博客 码云地址&#xff08;ui显示角色数据 分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;367aa71f60b…

HCIP之OSPF大实验

华子目录 实验拓扑及要求实验步骤合理划分网段配置IP地址两个area 0区域可以访问公网首先使用ospf使私网通在边界路由器上写静态缺省在边界路由器上做nat&#xff0c;实现公网访问在边界路由器上强制下放缺省 使用GRE连接两个area 0&#xff0c;解决不规则区域划分在边界路由器…

【Vue3】2-11 : 生命周期钩子函数及原理分析

本书目录&#xff1a;点击进入 一、组件生命周期概述 1.1 官方生命周期 1.2 钩子函数&#xff08;回调函数&#xff09; ▶ 生命周期可划分为三个部分(- >表示执行循序)&#xff1a; 二、实战&#xff1a;测试生命周期流程 &#xff1e; 代码 &#xff1e; 效果 一…

(十二)EEPROM的补充

文章目录 EEPROM补充篇读EEPROM补充内容写EEPROM补充内容单字节写入多字节拆成单字节写入现象 EEPROM补充篇 读EEPROM补充内容 对于上一篇博文在读EEPROM的时候&#xff0c;提到的DUMMY WRITE&#xff1a; 这里怎么理解呢&#xff1a; 大家看&#xff0c;写EEPROM的逻辑除了…

MySQl Mybatis

一、MySQL 1.1 概述 1.1.1 MySQL安装 1.1.2 数据模型 1.1.3 SQL简介 1.2 DDL 1.2.1 数据库操作 1.2.2 图形化工具 1.2.3 表结构操作 &#xff08;一&#xff09;创建 &#xff08;二&#xff09;数据类型 &#xff08;1&#xff09;数值类型 age tinyint unsigned——加上…

技术阅读周刊第十四期:Golang 作者 Rob Pike 在 GopherConAU 上的分享

技术阅读周刊&#xff0c;每周更新。 历史更新 20231215&#xff1a;第十期20231122&#xff1a;第十一期20231129&#xff1a;第十二期20240105&#xff1a;第十三期&#xff1a;一些提高生产力的终端命令 What We Got Right, What We Got Wrong URL: https://commandcenter.b…

pinyin-pro库使用方式

pinyin-pro 是一个专业的 JavaScript 中文转拼音的库&#xff0c;具备多音字识别准确、体积轻量、性能优异、功能丰富等特点。 pinyin-pro官网链接&#xff1a;介绍 | pinyin-pro 运行展示 pinyin-pro安装命令&#xff1a; # 选择一个你使用的包管理器进行安装即可# NPM $ n…

基于Java SSM框架实现企业车辆管理系统项目【项目源码】

基于java的SSM框架实现企业车辆管理系统演示 JSP技术 JSP技术本身是一种脚本语言&#xff0c;但它的功能是十分强大的&#xff0c;因为它可以使用所有的JAVA类。当它与JavaBeans 类进行结合时&#xff0c;它可以使显示逻辑和内容分开&#xff0c;这就极大的方便了运动员的需求…

为什么使用双token实现无感刷新用户认证?

单token机制 认证机制&#xff1a;对与单token的认证机制在我们项目中仅使用一个Access Token的访问令牌进行用户身份认证和授权的方案处理。 不足之处&#xff1a; 安全性较低&#xff08;因为只有一个token在客户端和服务器端之间进行传递&#xff0c;一旦Access Token被截…

对闭包的理解

概念&#xff1a; 一个函数对周围状态的引用捆绑在一起&#xff0c;闭包让开发者可以从内部函数访问外部 函数的作用域 简单理解&#xff1a;闭包 内层函数 外层函数的变量 一个函数对周围状态的引用捆绑在一起&#xff0c;闭包让开发者可以从内部函数访问外部 函数的作…

【5G Modem】5G modem架构介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

openFeign 多模块调用失败问题

第一次做一个完整的SpringCloud微服务项目,踩了好多好多坑,都记录下来! openFeign 多模块调用失败 排错第一阶段 创建一个openfeign服务,并把它注册到nacos上去 然后A模块通过Feign调用B模块 但是我在A模块实现AdminArticleServiceFeignClient这个接口,报错: 后面我查找这个问…

phpinfo和php -m 加载的php.ini不一致

目的&#xff1a; 将phpinfo在web中展示的php.ini和在命令行中展示的php.ini加载路径设置一致。 原本的php.ini加载路劲是&#xff1a; /usr/local/lib/php.ini 解决思路&#xff1a; &#xff08;1&#xff09;which php 查看服务器加载的php的位置&#xff0c;这里原来是&a…

win10 安装配置 Rust 环境和简单使用

文章目录 安装 Rustup基本命令hello wrold使用 cargo 创建项目构建并运行项目发布 最近几年&#xff0c;Rust 因其卓越的内存安全性和并发性能备受关注。不仅连续七年获得 StackOverflow 最受开发者喜爱的语言榜榜首&#xff0c;也在越来越多知名公司内部使用&#xff0c;比如&…