电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java中break的第三種用法說明

瀏覽:3日期:2022-08-21 09:09:45

在Java中,break語句有三種用法,第一種是用于終止switch語句中的語句序列,第二種是用于退出循環,然而第三種是用作goto語句的“文明”形式!

我們知道,goto語句會破壞程序的結構,所以我們一般不會去使用這種功能。但是在某些情況下,goto語句對于流程控制很有價值并且結構合法。

比如當退出深度嵌套的一系列循環時,goto語句很好用。雖然Java中保留了goto關鍵字,但是沒有goto語句,也沒有任何用到這個關鍵字的地方,所以為了能夠使用類似像goto語句這樣的功能,Java定義了break語句的一種擴展形式。

即通過這種形式的break語句,可以中斷一個或多個代碼塊。而且這些代碼塊不必是某個循環或switch語句的一部分,他們可以是任何代碼塊。

此外這種形式的break語句可以精確指定準備在哪個位置繼續執行,因為這種形式的break語句是使用標簽來進行工作的。

使用標簽的break語句的一般語法形式如下:

break label;

label是一個代碼塊的標簽的名稱。它既可以是一個獨立的代碼塊,也可以作為另一條語句的目標代碼塊。

當執行這種形式的break語句時,程序的執行控制會跳出由標簽命名的代碼塊,具有標簽的代碼塊必須包含break語句,但是不必立即包含break語句。

也就是說,可以使用帶有標簽的break語句跳出一系列嵌套的代碼。但是不能使用break語句將控制轉移出不包含break語句的代碼塊。

為了命名代碼塊,可以在代碼塊之前放一個標簽,標簽可以是任何合法的java標識符,后面跟隨一個冒號。

只要代碼塊被命名,就可以使用命名標簽作為break語句的目標,這樣一來就可以跳出代碼塊,在標識的代碼塊的末端恢復執行。

如下程序代碼:

class Dome { public static void main(String[] args) { a:{ System.out.println('0'); b:{ System.out.println('1'); c:{ System.out.println('2'); if(1==1) break a; } System.out.println('3'); }a System.out.println('4'); } System.out.println('5'); }}

輸出結果如下:

0

1

2

5

所以break語句的這種擴展形式提供了goto語句的優點,而沒有goto語句的問題。

補充知識:Java多重循環以及break和continue使用方法

多重循環

循環體中包含循環語句的結構稱為多重循環。三種循環語句可以自身嵌套,也可以相互嵌套,最常見的就是二重循環。在二重循環中,外層循環每執行一次,內層循環要執行一圈。

如下所示:

Java中break的第三種用法說明

例如:使用 * 打印長方形:

實現代碼為:

Java中break的第三種用法說明

執行流程:當 i = 1 時,外層循環條件成立,進入內層循環,開始打印第一行內容。此時, j 從 1 開始,循環 8 次,內層循環結束后換行,實現第一行 8 個 * 的輸出。

接下來返回外層循環 i 變為 2 ,準備打印下一行,依此類推,直到完成長方形的打印。

for(int i=0;i<5;i++){ for(int j=1;j<=5;j++){//i每增加1,也就是for循環一次,這個循環for要循環完,要循環5次。也就是一圈。 } }

簡單的說,就是外層執行一次的時候,里面(第二個for)已經執行一遍了

break, continue語句

break與continue語句和都是可以控制循環的執行流程的,其中break語句可以直接強行跳出整個循環,默認情況下直接跳到下一條語句進行執行。比如我們要輸出類似下面的三角形星號符。

break可以在if-else中使用直接跳出當前循環。

在多層循環中, 一個break語句只向外跳一層。

continue語句的作用是跳過循環體中剩余的語句并到循環末尾而強行執行下一次循環。

continue語句只用在for、while、do-while等循環體中, 常與if條件語句一起使用, 用來加速循環。

for (int i = 0; i < 3; i++) { System.out.println('開始第' + i + '次for循環'); if (i == 1) { continue;//程序運行后面的代碼就不會執行,但循環不會退出。 } System.out.println('看看continue后這里執行了嗎?');}

如果以上語句用break的話,1后面的循環都不會執行

以上這篇Java中break的第三種用法說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 低温等离子清洗机(双气路进口)-嘉润万丰 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 数控走心机-双主轴走心机厂家-南京建克 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 神马影院-实时更新秒播 | 月嫂_保姆_育婴_催乳_母婴护理_产后康复_养老护理-吉祥到家家政 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 鹤壁创新仪器公司-全自动量热仪,定硫仪,煤炭测硫仪,灰熔点测定仪,快速自动测氢仪,工业分析仪,煤质化验仪器 | 电动液压篮球架_圆管地埋式篮球架_移动平箱篮球架-强森体育 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 共享雨伞_共享童车_共享轮椅_共享陪护床-共享产品的领先者_有伞科技 | 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 | 氮化镓芯片-碳化硅二极管 - 华燊泰半导体 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 不锈钢丸厂家,铝丸,铸钢丸-淄博智源铸造材料有限公司 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 找培训机构_找学习课程_励普教育 | 蚂蚁分类信息系统 - PHP同城分类信息系统 - MayiCMS | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 隧道烘箱_隧道烘箱生产厂家-上海冠顶专业生产烘道设备 | 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 云杂志网-学术期刊-首页| 医院专用门厂家报价-医用病房门尺寸大全-抗菌木门品牌推荐 | 青岛空压机,青岛空压机维修/保养,青岛空压机销售/出租公司,青岛空压机厂家电话 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 骨密度检测仪_骨密度分析仪_骨密度仪_动脉硬化检测仪专业生产厂家【品源医疗】 | 方源木业官网-四川木门-全国木门专业品牌 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | 【北京写字楼出租_写字楼租赁_办公室出租网/出售】-远行地产官网 | 无痕胶_可移胶_无痕双面胶带_可移无痕胶厂家-东莞凯峰 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 澳威全屋定制官网|极简衣柜十大品牌|衣柜加盟代理|全屋定制招商 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 北京亦庄厂房出租_经开区产业园招商信息平台| 智能家居全屋智能系统多少钱一套-小米全套价格、装修方案 |