198 lines
84 KiB
JavaScript
198 lines
84 KiB
JavaScript
import{_ as d}from"./chunks/ArticleMetadata.EniEqKqn.js";import{_ as A,D as p,o as t,c as g,I as i,w as y,k,a as D,R as a,b as o,e as C}from"./chunks/framework.FVQzxbLi.js";import"./chunks/md5.RtphNWHi.js";const c="/assets/202010080736666.i8mh7Wg0.gif",B="/assets/202010080737123.42C-UlHe.png",F="/assets/202010080737815.6uaAokny.jpeg",u="/assets/202010080737888.Ze6rFEsm.png",E="/assets/202010080738759.fZj09zr1.png",m="/assets/202010080739719.cn9q4sHI.png",b="/assets/202010080739888.XIbLhiPc.png",v="/assets/202010080739999.05_bJQmM.png",q="/assets/202010080740608.FGnON5xu.png",f="/assets/202010080741306.EaDWboIl.png",_="/assets/202010080741825.EtL9Slco.png",O=JSON.parse('{"title":"循环结构","description":"","frontmatter":{"title":"循环结构","author":"查尔斯","date":"2020/10/08 8:24","categories":["Java基础快速入门"],"tags":["Java","Java基础"]},"headers":[],"relativePath":"courses/java/01-Java语法入门/10-循环结构.md","filePath":"courses/java/01-Java语法入门/10-循环结构.md","lastUpdated":1663999704000}'),S={name:"courses/java/01-Java语法入门/10-循环结构.md"},w=k("h1",{id:"循环结构",tabindex:"-1"},[D("循环结构 "),k("a",{class:"header-anchor",href:"#循环结构","aria-label":'Permalink to "循环结构"'},"")],-1),j=a('<h2 id="前言" tabindex="-1">前言 <a class="header-anchor" href="#前言" aria-label="Permalink to "前言""></a></h2><p><strong>C:</strong> 在 <a href="./07-控制语句和流程图">《控制语句和流程图》</a>篇中,笔者介绍了三种控制语句,每种控制语句都有它能解决的问题范围。例如:顺序控制语句可以解决“流水‘步骤,选择控制语句可以解决条件判断问题。</p><p>本篇我们要学习最后一种控制语句:循环控制语句。它可以用来解决业务中的重复、有规律性的问题。</p><p><img src="'+c+'" alt="202010080736666"></p><h2 id="什么是循环" tabindex="-1">什么是循环 <a class="header-anchor" href="#什么是循环" aria-label="Permalink to "什么是循环""></a></h2><h3 id="生活" tabindex="-1">生活 <a class="header-anchor" href="#生活" aria-label="Permalink to "生活""></a></h3><div class="tip custom-block"><p class="custom-block-title">循环 [circulate;circle]</p><ul><li>以环形、回路或轨道运行;</li><li>沿曲折的路线运行;</li><li>特指运行一周而回到原处,再转。</li><li>或说反复地连续做某事。</li></ul></div><p>计算机程序是来源于生活程序的。生活中,我们上班、上学、坚持某个习惯等都算是一个循环过程。</p><p><img src="'+B+'" alt="202010080737123"></p><p>甚至,在近两年的日常发言方面还有一个梗:“人类的本质是复读机”。</p><p><img src="'+F+'" alt="202010080737815"></p><h3 id="计算机" tabindex="-1">计算机 <a class="header-anchor" href="#计算机" aria-label="Permalink to "计算机""></a></h3><p>生活中有循环需求,在计算机程序中,类似的需求也是数不胜数的。</p><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体(循环操作)。[1]</p></div><p><strong>案例需求:熊大 Java 考试成绩未达到自己的目标。为了表明自己勤奋学习的决心,他决定写一百遍“好好学习,天天向上!”</strong></p><p>这么有上进心的学生,真是令老师喜欢!那如何用 Java 代码来实现输出100遍 ”好好学习,天天向上” 呢?</p><p><img src="'+u+'" alt="202010080737888"></p><p>好像没什么毛病,如果掌握了 Ctrl+C 和 Ctrl+V,就变得更加简单了。但是如果现在这位有上进心的学生,决定写10000遍呢?哪怕是用CV大法,这代码工作量也是吓坏个人 !</p><p>好在,Java 语言为我们准备了三种循环结构语法,它们都可以轻松解决此需求,接下来一起去看看吧。</p><h2 id="while循环" tabindex="-1">while循环 <a class="header-anchor" href="#while循环" aria-label="Permalink to "while循环""></a></h2><p>while 循环是一种经典的循环结构语法,不仅仅是在 Java 语言中,其他的编程语言中也有类似的概念和语法。</p><p><img src="'+E+`" alt="202010080738759"></p><h3 id="语法" tabindex="-1">语法 <a class="header-anchor" href="#语法" aria-label="Permalink to "语法""></a></h3><p>它的语法,宽松来讲包含两个组成,和 if 选择结构非常相似。</p><ul><li>循环条件</li><li>循环体</li></ul><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (循环条件) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> 循环体</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">/</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">循环操作</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><p>从流程图中,我们可以看出它和选择结构的主要区别在于: <strong>当条件成立且执行完操作后,它不会直接结束,而是会再次进入条件判断,直到条件不成立为止。</strong></p>`,27),x=a(`<h3 id="使用" tabindex="-1">使用 <a class="header-anchor" href="#使用" aria-label="Permalink to "使用""></a></h3><p>接下来我们通过案例来掌握一下使用步骤。</p><details class="details custom-block"><summary>案例需求1:解决上方熊大的问题。</summary><p><strong>思路分析:</strong></p><ol><li><p>此案例为重复性步骤需求,采用循环控制语句解决</p></li><li><p>要应用 while 循环,需要先确定此案例中,循环的两个固定组成部分</p><ul><li><p>循环条件:<code><= 100</code></p></li><li><p>循环操作:输出 "好好学习,天天向上"</p></li></ul></li><li><p>套用 while 循环的语法来编写代码</p><p>宽松的语法只考虑循环条件和循环操作即可。但为了让各位同学编写代码时可以形成一个完整步骤思路,笔者对语法步骤做了扩展,扩展为了4部分,这样你在用循环解决问题时,就直接可以去思考4部分的组成。</p><ul><li><p>初始化 循环变量:为循环条件表达式,准备一个起始变量</p></li><li><p>循环条件</p></li><li><p>循环操作</p></li><li><p>循环出口:对循环条件表达式中的变量进行变化,让循环可以在指定时机结束</p></li></ul></li><li><p>检查是否正常在业务完成后退出循环</p></li></ol><p>(上方这多出来的两个组成,其实是为了补齐循环条件的使用。)</p></details><p><strong>代码实现:</strong></p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 1.初始化 循环变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 2.循环条件</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 100</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 3.循环操作</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"第"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "遍:好好学习,天天向上!"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 4.循环出口</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 借助变量 i 来作循环条件,如果 i 的值不变动,会出现死循环</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>你看应用循环结构语法之后,简单的几行代码就搞定了原来的问题。而且如果要更改输出的次数,只需要改一下循环条件部分即可。</p></div><details class="details custom-block"><summary>案例需求2:实现打印50份试卷。</summary><p><strong>思路分析:</strong></p><ol><li>此案例为重复性步骤需求,采用循环控制语句解决</li><li>要应用 while 循环,需要先确定此案例中,循环的两个固定组成部分 <ul><li><p>循环条件:<code><= 50</code></p></li><li><p>循环操作:打印试卷</p></li></ul></li><li>套用 while 循环的语法来编写代码</li><li>检查是否正常在业务完成后退出循环</li></ol></details><p><strong>代码实现:</strong></p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 1.初始化 循环变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 2.循环条件</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 50</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 3.循环操作</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"正在打印第"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "份试卷"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 4.循环出口</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><h2 id="do-while循环" tabindex="-1">do-while循环 <a class="header-anchor" href="#do-while循环" aria-label="Permalink to "do-while循环""></a></h2><p><strong>案例需求:老师每天检查张浩的学习任务是否合格,如果不合格,则继续进行。老师给熊二安排的每天的学习任务为:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分。</strong></p><p>这个需求,大致一看可确定也是采用循环来解决,其中循环的两个要素:</p><ul><li><p>循环条件:检查不合格继续进行</p></li><li><p>循环操作:学习任务(上午阅读教材,学习理论部分,下午上机编程,掌握代码部分)</p></li></ul><p>但是我们发现,该案例与刚才的两个案例,有显著不同的地方:</p><ul><li>逻辑顺序:它的逻辑是先进行学习任务(循环操作),然后再由老师检查(循环条件)。</li><li>条件复杂:它的条件也不再是普通次数递增,而是判断是否合格。</li></ul><p>面对此需求,条件复杂倒是可以更改相应变量即可,但逻辑顺序方面却无法与 while 循环的流程相符( <strong>while 循环是先执行判断,再进行循环操作</strong> )。因此,Java 语言提供的第二种循环结构语法可以派上用场了: <code>do-while</code> 循环。</p><h3 id="语法-1" tabindex="-1">语法 <a class="header-anchor" href="#语法-1" aria-label="Permalink to "语法""></a></h3><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">do</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> 循环体</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">/</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">循环操作</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">} </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (循环条件);</span></span></code></pre></div><p>从流程图中,我们可以看出:<code>do-while</code> 循环的执行讲究一个先 do(循环操作),然后再执行循环条件。而且 <strong>无论条件是否能成立,它至少会执行一次循环操作</strong> 。</p>`,19),P=a(`<h3 id="使用-1" tabindex="-1">使用 <a class="header-anchor" href="#使用-1" aria-label="Permalink to "使用""></a></h3><p>我们来使用 <code>do-while</code> 解决下熊二的问题。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 1.初始化循环变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> result;</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 套用do-while语句</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">do</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> {</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 2.循环操作</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"熊二上午阅读教材,学习理论部分。"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"熊二下午上机编程,掌握代码部分。"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 3.循环出口</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"老师检查是否合格(y/n):"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> result </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">next</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">} </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"n"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">equals</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(result)); </span><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 4.循环条件</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"今日学习圆满!"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span></code></pre></div><h2 id="for循环" tabindex="-1">for循环 <a class="header-anchor" href="#for循环" aria-label="Permalink to "for循环""></a></h2><p>学完了 while 系列的循环语法,接下来笔者再带你认识最后一种循环语法:for循环。</p><h3 id="why" tabindex="-1">Why? <a class="header-anchor" href="#why" aria-label="Permalink to "Why?""></a></h3><p><strong>for循环是我们后期高频次使用的一种循环语法!</strong> 为什么高频使用,一定有缘由,看看下方 “输出100遍,好好学习” 实现对比!</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// =============while循环=============</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 1.初始化 循环变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 2.循环条件</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 100</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 3.循环操作</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"第"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "遍:好好学习,天天向上!"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 4.循环出口</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 借助变量 i 来作循环条件,如果 i 的值不变动,会出现死循环</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// =============for循环=============</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 100</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"第"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "遍:好好学习,天天向上!"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><p>显而易见,<strong>在循环次数固定的情况下,for 循环比while 循环更简洁</strong> 。</p><h3 id="语法-2" tabindex="-1">语法 <a class="header-anchor" href="#语法-2" aria-label="Permalink to "语法""></a></h3><p>for 循环的语法要更加简洁,更加灵活,但是上方总结的循环四要素是没有变化的。只不过它要求我们将循环中经常忘却的几个组成要素,先指定好,这样就可以更专注于循环操作了。所以你可以将 for 循环理解为是 while 循环的延伸。(就像多重 if 延伸为 switch 选择结构一样)</p><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>对于笔者个人来讲,如果 for 和 while 都能解决的问题,我更偏向于 for 的使用。因为在使用 while 循环时,自上而下的编写代码,经常忘却的就是循环出口。</p></div><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (初始化 循环变量; 循环条件; 循环出口) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> 循环体</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">/</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">循环操作</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><h3 id="使用-2" tabindex="-1">使用 <a class="header-anchor" href="#使用-2" aria-label="Permalink to "使用""></a></h3><details class="details custom-block"><summary>案例需求1:循环输入某同学期末考试的5门课成绩,并计算平均分。</summary><p><strong>思路分析:</strong>(平均分:总成绩 / 数量)</p><ol><li><p>此案例为重复性步骤需求,采用循环控制语句解决</p></li><li><p>确定此案例中,循环的两个固定组成部分</p><ul><li>循环条件:<code><= 5</code></li><li>循环操作:输入每门课成绩,并累加求和(+=)</li></ul></li><li><p>由于是固定次数循环,套用 for 循环的语法来编写代码</p><ul><li><p>初始化 循环变量:为循环条件表达式,准备一个起始变量</p></li><li><p>循环条件</p></li><li><p>循环操作</p></li><li><p>循环出口:对循环条件表达式中的变量进行变化,让循环可以在指定时机结束</p></li></ul></li><li><p>检查是否正常在业务完成后退出循环</p></li></ol></details><p><img src="`+m+`" alt="202010080739719"></p><p><strong>代码实现:</strong></p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入学生姓名:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">next</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 定义变量存储成绩和</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> sum</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 输入每门课成绩</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 5</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入第"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "门课的成绩:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> score</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">nextDouble</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 累加成绩和</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> sum </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> score;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 计算平均分,平均分 = 成绩和 / 课数量</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> avg</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> sum </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">/</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 5</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "的平均分为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> avg);</span></span></code></pre></div><details class="details custom-block"><summary>案例需求2:输出如图所示加法表。</summary><p><strong>思路分析:</strong></p><ol><li><p>此案例为重复性步骤需求,采用循环控制语句解决</p></li><li><p>确定此案例中,循环的两个固定组成部分</p><ul><li>循环条件:<code><= 输入的值</code></li><li>循环操作:要输出加法运算 加法运算的两个操作数 <ul><li>第一个操作数:从0递增到你输入的值</li><li>第二个操作数:从你输入的值递减到0</li></ul></li></ul></li><li><p>由于是固定次数循环,套用 for 循环的语法来编写代码</p><ul><li>初始化 循环变量:为循环条件表达式,准备一个起始变量</li><li>循环条件</li><li>循环操作</li><li>循环出口:对循环条件表达式中的变量进行变化,让循环可以在指定时机结束</li></ul></li><li><p>检查是否正常在业务完成后退出循环</p></li></ol></details><p><img src="`+b+`" alt="202010080739888"></p><p><strong>代码实现:</strong></p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入一个值:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">nextInt</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"根据这个值可以输出以下加法表:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 套用 for 语法</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 注意:int i = 0, j = num; 这也是变量定义的方式,但不常用</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">, j </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><=</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num; i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">, j</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">--</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> " + "</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> j </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> " = "</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> j));</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><p>或者是:</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入一个值:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">nextInt</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"根据这个值可以输出以下加法表:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 套用 for 语法</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 定义两个计算变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> j</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num;</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><=</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num;) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> " + "</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> j </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> " = "</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> j));</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 循环出口</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> j</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">--</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><h3 id="注意事项" tabindex="-1">注意事项 <a class="header-anchor" href="#注意事项" aria-label="Permalink to "注意事项""></a></h3><ul><li>for 循环的三大项都可以省略,但是两个 <code>;</code> 号不能省!省略了三大项之后,就成了死循环。</li><li>for 循环中的初始化变量和循环出口可以单独拿出来,比如为了提升变量作用域的情况。</li><li>for 循环只能用于循环次数固定的场景。</li></ul><h2 id="三种循环的区别" tabindex="-1">三种循环的区别 <a class="header-anchor" href="#三种循环的区别" aria-label="Permalink to "三种循环的区别""></a></h2><p>执行顺序区别:</p><ul><li>while 循环:先判断再执行</li><li>do-while 循环:先执行再判断。初始情况不满足循环条件时,do-while 至少也会执行一次。</li><li>for 循环:先判断再执行</li></ul><p>适用情况区别:</p><ul><li>循环次数固定的情况,通常选用 for 循环</li><li>循环次数不确定的情况,通常选用 while 或 do-while 循环</li></ul><h2 id="死循环" tabindex="-1">死循环 <a class="header-anchor" href="#死循环" aria-label="Permalink to "死循环""></a></h2><p>上方介绍循环时,笔者大量提到了一个概念:死循环。死循环,就是当你循环没有出口,导致循环无法结束的一种现象。</p><p>下方是最简单的三种死循环代码,但只要循环条件或循环出口的错误或缺失,其实都会导致死循环出现。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> </span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">do</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> {</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">} </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span></code></pre></div><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (;;) {</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><p>按理说死循环是不好的情况,但正如:“功法没有正邪之分,主要看使用者。“ 合理使用死循环会让你的程序编写更加便捷。</p><p>例如:当你 <strong>不知道一个循环什么时候结束的时候</strong>,使用死循环会更加合适。但一般它要配合跳转语句来使用。</p><h3 id="跳转语句" tabindex="-1">跳转语句 <a class="header-anchor" href="#跳转语句" aria-label="Permalink to "跳转语句""></a></h3><h4 id="break" tabindex="-1">break <a class="header-anchor" href="#break" aria-label="Permalink to "break""></a></h4><p>生活中参加长跑比赛,如果在比赛过程中身体不支/不适,是可以退出比赛的。</p><p>而程序中,也有需要在指定的情况下就不要再执行循环的需求,这时候跳转语句们就可以灵活的调度这个循环流程。</p><p><code>break</code> 关键字,在 switch 语句中我们就见过,表示中断的意思。它还可以使用在三大循环结构中,此时它表示 <strong>结束当前所在的循环流程,跳转到循环块外的下一条语句</strong> 。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 伪代码:4000米长跑</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 10</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (体力不支) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 退出比赛</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> break</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><p><strong>案例需求:循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误。</strong></p><p><img src="`+v+`" alt="202010080739999"></p><p>该需求,就是刚才 for 循环中实现过的案例,只不过是增加了些许要求。</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入学生姓名:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">next</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> sum</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 提升作用域</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 如果 i 定义在for循环块中,那它就只能在for循环块中使用。</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 5</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入第"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "门课的成绩:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> score</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">nextDouble</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 如果输入了负数,提示错误并结束循环</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (score </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"分数录入错误!请重新开始录入!"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> break</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> sum </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+=</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> score;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 提前结束循环则不需要进行平均分计算</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">if</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">></span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 5</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> avg</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> sum </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">/</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 5</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "的平均分为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> avg);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div><h4 id="continue" tabindex="-1">continue <a class="header-anchor" href="#continue" aria-label="Permalink to "continue""></a></h4><p>除了 <code>break</code> 之外,还有一个跳转语句:<code>continue</code>。顾名思义,它的作用是 <strong>跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环</strong> 。</p><p><strong>案例需求:使用循环 + continue实现,循环录入 Java 课的学生成绩,统计分数大于等于80分的学生比例。</strong></p><p><img src="`+q+`" alt="202010080740608"></p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入班级总人数:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">nextInt</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 设 >= 80分的学生人数</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> count</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><=</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num; i</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入第"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "位学生的成绩:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> score</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">nextDouble</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 统计成绩 >= 80分以上的学生人数</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (score </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"><</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 80</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 结束本次循环,进入下一次循环</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> continue</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 累加人数</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> count </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;">// 计算</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">double</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> percent</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> count </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 1.0</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> /</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> num </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">*</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 100</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">; </span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"80分以上的学生人数为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> count);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"80分以上的学生所占的比例为:"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> percent </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">+</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "%"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>这个案例,continue不是必须的,我们也可以把统计人数部分代码更换为:</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">if</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (score </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">></span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> 80</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> count </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span></code></pre></div></div><h3 id="死循环-跳转语句" tabindex="-1">死循环 + 跳转语句 <a class="header-anchor" href="#死循环-跳转语句" aria-label="Permalink to "死循环 + 跳转语句""></a></h3><p>好了,再介绍完跳转语句,笔者给大家介绍一种死循环结合跳转语句,实现重复输入的应用。</p><ul><li>死循环的使用,可以令程序不结束永远执行下去</li><li>break的使用,可以结束该循环</li><li>continue的使用,可以结束本次循环,进入下次循环</li></ul><p><img src="`+f+`" alt="202010080741306"></p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;">true</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入用户名:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> username</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">next</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入用户密码:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> password</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">next</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 失败重输</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">!</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"admin"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">equals</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(username) </span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> &&</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "abcd123"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">equals</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(password))) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"登录失败!请重新输入!"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 结束本次循环,进入下次循环</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> continue</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 结束死循环</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> break</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"登录成功!"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>是不是感觉稍微有些烧脑了?多写几次就好了!它还可以写成下方这种。</p><p>但笔者 <strong>个人</strong> 还是比较喜欢死循环的写法,只要"时机"到了,随时结束或进入下一次,很直接,很纯粹,很果断。</p></div><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark-dimmed vp-code"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;"> Scanner</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(System.in);</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">boolean</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> flag;</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">do</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> {</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 初始化 循环变量</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 初始为true,只有当登录成功才将flag状态改为false以结束循环</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> flag </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> true</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入用户名:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> username</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">next</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">print</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"请输入用户密码:"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> String</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> password</span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> input.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">next</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">();</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 失败重输</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"admin"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">equals</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(username) </span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;"> &&</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;"> "abcd123"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">equals</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(password)) {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"登录成功!"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#768390;"> // 更改循环状态</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> flag </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#6CB6FF;"> false</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">;</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">else</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> {</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> System.out.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#DCBDFB;">println</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#96D0FF;">"登录失败!请重新输入!"</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">);</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> }</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;">} </span><span style="--shiki-light:#D73A49;--shiki-dark:#F47067;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#ADBAC7;"> (flag);</span></span></code></pre></div><h2 id="答题环节" tabindex="-1">答题环节 <a class="header-anchor" href="#答题环节" aria-label="Permalink to "答题环节""></a></h2><h3 id="计算和" tabindex="-1">计算和 <a class="header-anchor" href="#计算和" aria-label="Permalink to "计算和""></a></h3><details class="details custom-block"><summary>需求:使用 while、do-while 以及 for 循环三种编程方式分别实现:计算100以内(包括100)的偶数之和。</summary><p>提示:偶数,能够被 2 整除的数字被称为偶数。例如:4 % 2 == 0,4为偶数。</p></details><h3 id="打印数列" tabindex="-1">打印数列 <a class="header-anchor" href="#打印数列" aria-label="Permalink to "打印数列""></a></h3><p><strong>需求:</strong> 使用循环输出 100、95、90、85、.......5。</p><h3 id="输出所有的水仙花数" tabindex="-1">输出所有的水仙花数 <a class="header-anchor" href="#输出所有的水仙花数" aria-label="Permalink to "输出所有的水仙花数""></a></h3><details class="details custom-block"><summary>需求:使用单层循环实现所有水仙花数的输出。</summary><p><strong>提示:什么是水仙花数?</strong></p><ol><li><p>水仙花数都是三位数</p></li><li><p>水仙花数的个位的立方 + 十位立方 + 百位立方 = 水仙花数字本身</p></li></ol></details><h3 id="输出星期数" tabindex="-1">输出星期数 <a class="header-anchor" href="#输出星期数" aria-label="Permalink to "输出星期数""></a></h3><p><strong>需求:</strong> 从键盘输入一位整数,当输入1 ~ 7 时,输出"星期一" ~ "星期日"。</p><ul><li>输入其他数字时,提示用户重新输入。</li><li>输入数字0,程序结束</li></ul><p><img src="`+_+'" alt="202010080741825"></p><h2 id="参考文献" tabindex="-1">参考文献 <a class="header-anchor" href="#参考文献" aria-label="Permalink to "参考文献""></a></h2><p>[1]张桂珠、张平、陈爱国.Java面向对象程序设计(jdk1.6)第三版:北京邮电大学出版社,2005</p><h2 id="后记" tabindex="-1">后记 <a class="header-anchor" href="#后记" aria-label="Permalink to "后记""></a></h2><p>我想,学完这一篇的同学们一定会开始有些许头疼。因为循环它开始变得有所抽象,简单的几行代码却要表述出成百上千次操作,循环操作越是复杂,那需要的空间思维越是庞大,不过别担心,下一篇,笔者解救你。</p><p>另外,笔者在本篇给相同的需求,反复给出不同的解决方法,这对于初次学习,以及"刻板化"学习的同学会有些难受,因为不知道选择哪个了。</p><div class="tip custom-block"><p class="custom-block-title">笔者说</p><p>实际上,生活从来不是一个"刻板化"的步骤,生活中遇到的问题也不总是“刻板化”的来解决,程序亦是如此,千人千面,千题千解。</p><p>笔者给你一个个人建议,根据自身情况,先选择一种最喜欢的解决方法,然后当这种解决方法怎么都无法解决问题的时候,考虑下另一种或更多种。</p></div><div class="info custom-block"><p class="custom-block-title">笔者说</p><p>对于技术的学习,笔者一贯遵循的步骤是:先用最最简单的 demo 让它跑起来,然后学学它的最最常用 API 和 配置让自己能用起来,最后熟练使用的基础上,在空闲时尝试阅读它的源码让自己能够洞彻它的运行机制,部分问题出现的原因,同时借鉴这些技术实现来提升自己的代码高度。</p><p>所以在笔者的文章中,前期基本都是小白文,仅仅穿插很少量的源码研究。当然等小白文更新多了,你们还依然喜欢,后期会不定时专门对部分技术的源码进行解析。</p></div>',81);function T(s,J,I,V,N,$){const e=d,r=p("ClientOnly"),n=p("Mermaid");return t(),g("div",null,[w,i(r,null,{default:y(()=>{var l,h;return[(((l=s.$frontmatter)==null?void 0:l.aside)??!0)&&(((h=s.$frontmatter)==null?void 0:h.showArticleMetadata)??!0)?(t(),o(e,{key:0,article:s.$frontmatter},null,8,["article"])):C("",!0)]}),_:1}),j,i(n,{id:"mermaid_64a570a0",graph:"flowchart%20LR%0A%20%20%20%20A(%5B%E5%BC%80%E5%A7%8B%5D)%20--%3E%20B%7B%E5%BE%AA%E7%8E%AF%E6%9D%A1%E4%BB%B6%7D%0A%20%20%20%20B%20--%3E%7C%E6%98%AF%7C%20C%5B%E5%BE%AA%E7%8E%AF%E6%93%8D%E4%BD%9C%5D%0A%20%20%20%20C%20--%3E%20B%0A%20%20%20%20B%20--%3E%7C%E5%90%A6%7C%20D(%5B%E7%BB%93%E6%9D%9F%5D)"}),x,i(n,{id:"mermaid_64a56766",graph:"flowchart%20LR%0A%20%20%20%20A(%5B%E5%BC%80%E5%A7%8B%5D)%20--%3E%20B%5B%E5%BE%AA%E7%8E%AF%E6%93%8D%E4%BD%9C%5D%0A%20%20%20%20B%20--%3E%20C%7B%E5%BE%AA%E7%8E%AF%E6%9D%A1%E4%BB%B6%7D%0A%20%20%20%20C%20--%3E%7C%E6%98%AF%7C%20B%0A%20%20%20%20C%20--%3E%7C%E5%90%A6%7C%20D(%5B%E7%BB%93%E6%9D%9F%5D)"}),P])}const W=A(S,[["render",T]]);export{O as __pageData,W as default};
|