【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 打开当前断点的面板,可以进行条件过滤哦。
相关推荐
十年Java程序媛20 分钟前
Java 接口和抽象类对比|Java8 新特性,抛弃老旧八股,正确选型
java·spring boot·后端
caoerzhong22 分钟前
JeeWMS 开源 WMS 部署避坑指南:Java 仓库管理系统的环境基线、四类根因与可复现交付
java·开发语言·开源
用户37215742613523 分钟前
Java 合并 PDF 文件:完整合并、指定页面合并与流合并
java
for_ever_love__1 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
java资料站1 小时前
五、Spring AI Alibaba · Memory · Saver(短期会话)
java·spring·microsoft
夜之眷属2 小时前
Core dump 崩溃排查:JVM 宕机后,那份 core 文件怎么用 gdb 还原现场
java·运维·服务器·jvm
波加曼大王2 小时前
# vLLM不要迷信PagedAttention神话,聊聊线上藏着的内部碎片陷阱
java·架构
SL_staff2 小时前
目标健康度自检清单:开发者视角下的目标-计划-任务链路断点诊断
java·开源·github
for_ever_love__2 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
神仙别闹2 小时前
基于C++实现的贪吃蛇游戏平台
java·c++·游戏