跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
Java循环控制
”︁
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
{{DISPLAYTITLE:Java循环控制}} '''Java循环控制'''是编程中用于重复执行代码块的核心结构,通过条件判断或计数器控制执行次数。本教程将详细介绍Java中的循环语句、控制关键字及实际应用场景。 == 循环类型 == Java提供三种主要循环结构: === 1. while循环 === 语法: <syntaxhighlight lang="java"> while (条件表达式) { // 循环体 } </syntaxhighlight> '''执行流程:''' <mermaid> graph TD A[开始] --> B{条件为真?} B -->|是| C[执行循环体] C --> B B -->|否| D[结束] </mermaid> 示例:打印1-5的数字 <syntaxhighlight lang="java"> int i = 1; while (i <= 5) { System.out.println(i); i++; } </syntaxhighlight> '''输出:''' <pre> 1 2 3 4 5 </pre> === 2. do-while循环 === 语法: <syntaxhighlight lang="java"> do { // 循环体 } while (条件表达式); </syntaxhighlight> 特点:'''至少执行一次'''循环体 示例:用户输入验证 <syntaxhighlight lang="java"> import java.util.Scanner; Scanner scanner = new Scanner(System.in); int input; do { System.out.print("请输入1-100之间的数字: "); input = scanner.nextInt(); } while (input < 1 || input > 100); </syntaxhighlight> === 3. for循环 === 语法: <syntaxhighlight lang="java"> for (初始化; 条件表达式; 迭代语句) { // 循环体 } </syntaxhighlight> '''执行次数公式:''' <math> n = \begin{cases} \lfloor \frac{终值-初值}{步长} \rfloor + 1 & \text{当条件满足时} \\ 0 & \text{否则} \end{cases} </math> 示例:计算1-10的平方 <syntaxhighlight lang="java"> for (int i = 1; i <= 10; i++) { System.out.println(i + "的平方是: " + (i*i)); } </syntaxhighlight> == 循环控制语句 == {| class="wikitable" |+ 控制语句对比 ! 关键字 !! 作用 !! 适用循环类型 |- | <code>break</code> || 立即终止当前循环 || 所有循环 |- | <code>continue</code> || 跳过当前迭代,进入下一次循环 || 所有循环 |- | <code>return</code> || 退出整个方法 || 方法内任何位置 |} === break示例 === <syntaxhighlight lang="java"> for (int i = 0; i < 10; i++) { if (i == 5) { break; // 当i=5时退出循环 } System.out.println(i); } </syntaxhighlight> '''输出:''' <pre> 0 1 2 3 4 </pre> === continue示例 === <syntaxhighlight lang="java"> for (int i = 0; i < 5; i++) { if (i == 2) { continue; // 跳过i=2的情况 } System.out.println(i); } </syntaxhighlight> '''输出:''' <pre> 0 1 3 4 </pre> == 嵌套循环 == 循环内部可以包含其他循环,常用于处理多维数据结构。 示例:打印乘法表 <syntaxhighlight lang="java"> for (int i = 1; i <= 9; i++) { // 外层循环控制行 for (int j = 1; j <= i; j++) { // 内层循环控制列 System.out.print(j + "×" + i + "=" + (i*j) + "\t"); } System.out.println(); // 换行 } </syntaxhighlight> == 增强for循环 == Java 5+引入的简化语法,用于遍历数组或集合: <syntaxhighlight lang="java"> int[] numbers = {10, 20, 30, 40}; for (int num : numbers) { System.out.println(num); } </syntaxhighlight> == 性能考虑 == * 避免在循环内创建不必要的对象 * 对于已知次数的循环,优先使用<code>for</code>而非<code>while</code> * 嵌套循环中,将循环次数少的放在外层 == 实际应用案例 == === 案例1:数据过滤 === <syntaxhighlight lang="java"> List<String> products = Arrays.asList("手机", "电脑", "平板", "耳机"); List<String> filtered = new ArrayList<>(); for (String product : products) { if (product.length() == 2) { // 筛选两字产品 filtered.add(product); } } System.out.println(filtered); // 输出: [手机, 电脑, 平板] </syntaxhighlight> === 案例2:游戏循环 === <syntaxhighlight lang="java"> boolean gameRunning = true; while (gameRunning) { // 1. 处理输入 // 2. 更新游戏状态 // 3. 渲染画面 if (playerHealth <= 0) { gameRunning = false; } } </syntaxhighlight> == 常见问题 == {{Q&A |问题1 = 无限循环如何产生? |答案1 = 当循环条件始终为true时发生,例如:<br><code>while(true){...}</code> 或 <code>for(;;){...}</code> |问题2 = 如何选择循环类型? |答案2 = 根据需求选择:<br>• 已知循环次数 → for循环<br>• 未知次数但需先检查条件 → while<br>• 至少执行一次 → do-while }} == 最佳实践 == * 使用有意义的循环变量名(避免单一字母) * 保持循环体简洁(超过20行应考虑重构) * 避免深层嵌套(一般不超过3层) * 循环条件中避免调用耗时方法 通过掌握这些循环控制技术,您可以高效处理重复性任务,构建更复杂的程序逻辑。 [[Category:编程语言]] [[Category:Java]] [[Category:Java控制流]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
该页面使用的模板:
模板:Q&A
(
编辑
)