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

【java学习】特殊流程控制语句(8)

文章目录

  • 1. break语句
  • 2. continue语句
  • 3. return语句
  • 4. 特殊流程语句控制说明


1. break语句

  • break语句用于终止某个语句块的执行,终止当前所在循环
    语法结构:
    {  ......
        break;
        ......
    }

例子如下:
(1)普通循环语句应用

public class Test1 {public static void main (String[] args) {for(int i = 0; i < 9; i++) {if(i > 6) {break;    // 当i>6终止循环}System.out.println(i);}}
}

(2)嵌套循环语句应用
注意:break只终止当前所在循环

public class Test2 {public static void main (String[] args) {for(int j = 0; j < 3; j++) {for(int i = 0; i < 9; i++) {if(i > 2) {break;    // 当i>6终止循环}System.out.println(i);}}}
}

2. continue语句

  • continue语句用于跳过某个循环语句块的一次执行
  • continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
    注意:continue是对当前所在的循环起作用,结束当前这次循环,当前循环的下面代码不执行,直接进入下一次循环。

例子如下
代码:

public class Test3 {public static void main (String[] args) {for(int i = 0; i < 9; i++) {if(i % 2 == 0) {continue;  // 结束当前这次循环,直接进入下一次循环}System.out.println(i);}}
}

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

3. return语句

  • return并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。
  • 与break和continue不同的是,return直接结束整个方法,不管这个return处于多少层循环之内

例子1如下
代码:

public class Test3 {public static void main (String[] args) {for(int i = 0; i < 9; i++) {if(i == 7) {return;  // 这块看起来和使用break感觉一样,但实际上,return是把整个方法结束了,break只是终止当前的循环}System.out.println(i);}}
}

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

例子2如下
代码:

public class Test4 {public static void main (String[] args) {for(int i = 0; i < 2; i++) {for(int j = 0; j < 2; j++) {if(j == 1) {return;}}System.out.println(i);}}
}

运行结果:没有输出结果

    但是如果将return改为break,输出结果如下:
在这里插入图片描述

4. 特殊流程语句控制说明

    break只能用于switch语句循环语句中。
    continue只能用于循环语句中。
    二者功能类似,但是continue是终止本次循环,break是终止本层循环
    break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句。

http://www.lryc.cn/news/186586.html

相关文章:

  • pyinstaller 使用
  • ELK集群 日志中心集群
  • 有哪些适合初级程序员看的书籍?
  • uniapp iosApp H5+本地文件操作(写入修改删除等)
  • 蓝桥杯 字符串和日期
  • Vue13 监视属性
  • 会员商城小程序的作用是什么
  • 排序算法——希尔排序
  • SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池
  • 导致 JVM 内存泄露的 ThreadLocal 详解
  • 使用预约小程序app有什么方便之处
  • 【转】ubuntu 安装 OpenCv 4.6脚本 installOCV.sh
  • Android 视图动画与属性动画的区别
  • Springboot——jxls实现同sheet多个列表展示
  • 分布式软件架构——服务端缓存的三种属性
  • Flink之Watermark策略代码模板
  • ubuntu 安装postgresql,增加VECTOR向量数据库插件 踏坑详细流程
  • 基于Springboot实现影视影院订票选座管理系统【项目源码+论文说明】分享
  • mysql批量插入数据,跳过唯一索引报错
  • 论文阅读--Energy efficiency in heterogeneous wireless access networks
  • Redis的C客户端(hiredis库)使用
  • 光引擎、光模块、光器件之间的关系和区别
  • 【办公-excel】两个时间相减 (二) - 带毫秒的时间进行相减操作
  • 二次封装View Design的table组件,实现宽度自适应,内容在一行展示
  • Node.js代码漏洞扫描工具介绍——npm audit
  • node.js知识系列(3)-每天了解一点
  • Zabbix监控系统 自定义监控项、自动发现与自动注册
  • Python信号之分享
  • 环信web、uniapp、微信小程序SDK报错详解---登录篇
  • DAZ To UMA⭐五.模型在Blender中的配置教程