从零开始学Java之如何正确地跳出循环结构? |
您所在的位置:网站首页 › break如何跳出循环 › 从零开始学Java之如何正确地跳出循环结构? |
作者:孙玉昌,昵称【一一哥】,另外【壹壹哥】也是我哦 CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 配套开源项目资料Github地址: 一一哥/从零开始学Java Gitee地址: 一一哥/从零开始学Java 前言在上一篇文章中,壹哥给大家介绍了while、do-while两种循环结构,并且给大家总结了两种循环的区别。实际上,我们在利用循环执行重复操作的过程中,还存在着另一个需求:如何中止,或者说提前结束一个循环?比如我们正在循环输出10000以内的数字,这时因为触发了某个条件,想提前终止这个循环操作该怎么办?所以今天壹哥就给大家讲解一下,如何在java代码中返回一个结果,如何结束和跳出一个循环。 ------------------------------前戏已做完,精彩即开始---------------------------- 全文大约【2800】 字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图视频,让你更好地理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考...... 一. break 1. 作用break关键字可以用于for、while、do-while及switch语句中,用来跳出整个语句块,结束当前循环的执行。 另外我们要特别注意,break 语句总是跳出自己所在的那一层循环 。 当两个for循环嵌套时,如果break语句位于内层的for循环,它只会跳出内层的for循环,但不会跳出外层的for循环。 2. 语法break的用法很简单,我们在之前学习switch时就已经使用过了。一般就是在循环或switch语句中编写如下一条语句: break; 复制代码比如我们使用for循环计算从1累加到100的和时,在循环内部,我们可以使用if判断,当i==50就提前利用break关键字结束循环。因此,break经常会配合if语句使用。 3. 案例 3.1 案例一break会跳出当前for循环。当break执行后,当前整个for循环都会结束执行。 /** * @author 一一哥Sun */ public class Demo01 { public static void main(String[] args) { //break关键字 //需求:从1累加到100,找到累加到哪个数时,就使得sum和大于888 // 定义变量保存总和 int sum = 0; for (int i = 1; i 888) { System.out.println("累加到"+i+"时,sum和就大于888"); // 结束当前循环 break; //这里的语句执行不到,编译阶段就会报错 //System.out.println("能执行吗??"); } //这里的语句可以执行,当break跳出循环后,就不会再继续执行 System.out.println("能执行吗??"+i); } } } 复制代码大家要注意,我们不能直接在break后面跟着其他语句,否则在编译阶段就会出现”Unreachable code“,如下图所示: 需求:将输入的内容进行输出,如果输入"886"就结束当前聊天。 /** * @author 一一哥Sun */ import java.util.Scanner; public class Demo02 { public static void main(String[] args) { //break关键字 Scanner sc = new Scanner(System.in); while(true){ String word = sc.next(); if(word.equals("886")){ //跳出当前循环 break; } //输出内容 System.out.println(word); } } } 复制代码 二. continue 1. 作用continue适用于各种循环结构中,不能用于其他地方,用于跳过本次循环,执行下一次循环 。 break可以跳出当前循环,即整个循环都不会执行了。而与break不同,continue是提前结束本次循环,但会继续执行下一次的循环。在多层嵌套的循环中,continue也可以通过标签指明要跳过的是哪一层循环,并且同样是只结束自己所在的循环。 2.语法continue的用法很简单,在循环结构中直接使用如下语句即可: continue; 复制代码 3. 案例 3.1 案例一需求:输出100以内,所有不是3的倍数的整数。使用continue结束当前循环,继续下一次循环。 /** * @author 一一哥Sun */ public class Demo03 { public static void main(String[] args) { //continue关键字 //案例:输出100以内,所有不是3的倍数的整数 for(int i = 1; i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |