【Java基础】05多重循环及程序调试(break continue return的区别 idea程序调试快捷键)

文章目录

多重循环

一个循环体内又包含另一个完整的循环结构 。

如:while 循环内部包含while 循环、while 循环内部包含for 循环、do while 循环内部包含do while 循环、for 循环内部包含for 循环等。使用时应注意:

  • 各循环可互相嵌套
  • 一般不超过三层
  • 外层循环变量变化一次,内层循环变量要变化一遍

break语句

break改变程序控制流,用于do-while、while、for循环中,终止某个循环,程序跳转到循环块外的下一条语句。

  • 通常在循环中与条件语句一起使用
  • 使用场合:break常用于switch结构和循环结构中
java 复制代码
for(int i = 1; i <= 10; i++) {
    if(i == 9) {
        break;
    }
    System.out.println("i = " + i);
}
// 输出到i = 8停止

continue语句

continue只能用在循环里,作用是跳出本次循环,进入下一次循环。

  • 通常与条件语句一起使用,加速循环
  • 使用场合:continue一般用于循环结构中
java 复制代码
for(int i = 1; i <= 10; i++) {
    if(i == 9) {
        continue;
    }
    System.out.println("i = " + i);
}
// 未输出i = 9

return语句

return结束一个方法。 一旦在循环体内执行到一个return语句,return语句将会结束该方法,循环自然也随之结束。与continue和break不同的是,return直接结束整个方法,不管这个return处于多少层循环之内。

程序调试

发现和定位程序中的错误,可以通过代码阅读或者加输出语句查找程序错误,当程序结构越来越复杂时,需要专门的技术来发现和定位错误,就是"程序调试"。

程序调试过程

  • 设置断点(程序暂停执行的代码行)
  • 单步运行
  • 观察变量

idea调试快捷键

快捷键 英文说明 中文说明
F8 Step over 跳到当前代码下一行。
F7 Step into 跳入到调用的方法内部代码。
Shift + F7 Smart step into 会打开一个面板,让你选择具体要跳入的类方法,这个在复杂的嵌套代码中特别有用。
Shift + F8 Step out 跳出当前的类,到上一级。
Alt + F9 Run to cursor 让代码运行到当前光标所在处。
Alt + F8 Evaluate expression 打开一个表达式面板,然后进行进一步的计算。
F9 Resume program 结束当前断点的本轮调试(因为有可能代码会被调用多次,所以调用后只会结束当前的这一次);如果有下一个断点会跳到下一个断点中。
Ctrl + F8 Toggle breakpoint 在当前光标处,添加或者删除断点。
Ctrl + Shift + F8 View breakpoints 打开当前断点的面板,可以进行条件过滤哦。
相关推荐
萧瑟余晖1 小时前
JDK 26 新特性详解
java·开发语言
马优晨1 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
维天说4 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zane19945 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了6 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品6 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库
啊湘6 小时前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
Java内核笔记6 小时前
告别十亿美元的错误 : Spring Boot 4 空安全 (JSpecify) 实战
java·spring boot·后端
糖果店的幽灵6 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
极光代码工作室8 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发