购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第3章
流程控制

视频讲解:2小时30分钟)

本章概览

做任何事情都要遵循一定的原则。例如,到图书馆去借书,就必须要有借书证,并且借书证不能过期,这两个条件缺一不可。程序设计也是如此,需要利用流程控制实现与用户的交流,并根据用户的需求决定程序“做什么”“怎么做”。

流程控制对于任何一门编程语言来说都是至关重要的,它能够控制程序的执行顺序。如果没有流程控制语句,整个程序将按照线性顺序来执行,这样就不能根据用户的需求来决定程序执行的顺序。本章将详细讲解Java中的流程控制语句,并用简单的示意图将各种流程控制语句的执行过程展示出来,让读者真正理解,并在实战开发中灵活运用。

本章内容也是Java Web技术和Android技术的基础知识。

知识框架

3.1 程序结构

视频讲解:资源包\Video\03\3.1程序结构.mp4

顺序结构、选择结构和循环结构是结构化程序设计的3种基本结构,是各种复杂程序的基本构造单元,上述3种基本结构如图3.1所示。其中,第1幅图是顺序结构的流程图,编写完毕的语句按照编写顺序依次被执行;第2幅图是选择结构的流程图,主要根据数据和中间结果的不同选择执行不同的语句,选择结构主要由条件语句(也叫判断语句或者分支语句)组成;第3幅图是循环结构的流程图,是在一定的条件下反复执行某段程序的流程结构,其中,被反复执行的语句又被称为循环体,而决定循环是否终止的判断条件被称为循环条件。

图3.1 结构化程序设计的3种基本结构

本章之前编写的大多数例子采用的都是顺序结构。例如,声明并输出一个int型变量,代码如下:

下面将主要对选择结构中的条件语句和循环结构中的循环语句进行讲解。

3.2 条件语句

在生活中,每个人都要做出各种各样的选择。例如,吃什么菜,走哪条路,找什么人。那么当程序遇到选择时,该怎么办呢?这时需要使用的就是条件语句。条件语句会根据不同的判断条件执行不同的代码。在Java中,条件语句主要包括if条件语句和switch多分支语句,下面将分别进行讲解。

3.2.1 if条件语句

视频讲解:资源包\Video\03\3.2.1 if条件语句.mp4

if条件语句主要用于告知程序当某一个条件成立时,须执行满足该条件的相关语句。if条件语句可分为简单的if条件语句、if…else语句和if…else if多分支语句。

1.简单的if条件语句

语法如下:

布尔表达式:必要参数,最后返回的结果必须是一个布尔值。它可以是一个单纯的布尔变量或常量,也可以是关系表达式。

语句:可以是一条或多条语句,当布尔表达式的值为true时执行这些语句。若仅有一条语句,则可以省略条件语句中的“{}”。

简单的if条件语句的执行流程如图3.2所示。下面的代码中只有一条语句,实例代码如下:

说明

(1)在上面的实例代码中,出现了print,那么print和println有什么区别呢?其中,print输出字符时不换行,也就是说,print会把输出光标定位在控制台显示的最后一个字符之后;而println输出字符时会换行,换言之,println则是把输出光标定位在下一行的开始。

(2)虽然if后面只有一条语句,省略{}并无语法错误,但为了增强程序的可读性,最好不要省略。例如下面两种代码都是正确的:

运行结果如图3.3所示。

图3.2 if条件语句的执行流程

图3.3 if条件语句的运行结果

常见错误

不要在if条件语句的布尔表达式中对boolean型变量做==的运算,如果少写了一个等号,程序也不会报错,但可能会影响程序的判断结果,例如下面的例子:

(1)不规范写法,使用==判断布尔值,虽然语法没错误,但容易因为漏写一个等号而产生(2)中的错误。

(2)错误写法,在if条件语句的布尔表达式中,直接使用=给boolean型变量赋值,导致变量值发生更改,if语句做出了错误判断。

(3)正确写法,既然是布尔值,直接在if语句中进行判断即可。

实例01 判断手机号码是否存在

实例位置:资源包\Code\SL\03\01

视频位置:资源包\Video\03\

创建TakePhone类,模拟拨打电话场景,如果输入的电话号码不是84972266,则提示拨打的号码不存在,实例代码如下:

说明

上面的代码用到了Scanner类,它的英文直译是扫描仪,它的作用和名字一样,就是一个可以解析基本数据类型和字符串的文本扫描器。代码中用到的nextInt()方法用于扫描一个值并返回int值。

运行结果如图3.4所示。

图3.4 判断手机号码是否存在的运行结果

拓展训练

一、大学英语四级考试合格分数为425分。一位大二学生的英语四级考试分数为424分,判断并输出该学生是否通过了大学英语四级考试。(资源包\Code\Try\03\01)

二、公司年会抽奖:

①“1”代表“一等奖”,奖品是“42寸彩电”;

②“2”代表“二等奖”,奖品是“光波炉”;

③“3”代表“三等奖”,奖品是“加湿器”;

④“4”代表“安慰奖”,奖品是“16G-U盘”。

使用if语句,根据控制台输入的奖号,输出与该奖号对应的奖品。(资源包\Code\Try\03\02)

2.if…else语句与if…else if多分支语句

if…else语句是条件语句中最常用的一种形式,它会针对某种条件有选择地做出处理。通常表现为“如果满足某种条件,就进行某种处理,否则就进行另一种处理”。语法如下:

if…else if多分支语句用于处理某一事件的多种情况。通常表现为“如果满足某一个条件,就采用与该条件对应的处理方式;如果满足另一个条件,则采用与该条件对应的处理方式”。语法如下:

表达式1~表达式n:必要参数。可以由多个表达式组成,但最后返回的结果一定要为布尔值。

语句1~语句n:可以是一条或多条语句,当表达式1的值为true时,执行语句1;当表达式2的值为true时,执行语句2,以此类推。

if…else if多分支语句的执行流程如图3.5所示。

图3.5 if…else if多分支语句执行流程

实例02 饭店座位分配

实例位置:资源包\Code\SL\03\02

视频位置:资源包\Video\03\

创建Restaurant类,声明int型变量count,表示用餐人数,根据人数安排客人到4人桌、8人桌或包厢用餐,实例代码如下:

运行结果如图3.6所示。

图3.6 使用if…else if语句实现饭店座位分配的运行结果

拓展训练

一、将一、二年级学生的成绩划分等级,等级划分标准如下:

①“优秀”,大于或等于90分;

②“良好”,大于或等于80分,小于90分;

③“合格”,大于或等于60分,小于80分;

④“不合格”,小于60分。

使用if…else if语句实现根据控制台输入的成绩,输出与该成绩对应等级的功能。(资源包\Code\Try\03\03)

二、BMI身体质量指数的等级划分标准如下:

①“偏轻”,BMI小于18.5;

②“正常”,BMI大于或等于18.5,小于25;

③“偏重”,BMI大于或等于25,小于30;

④“肥胖”,BMI大于或等于30。

根据控制台输入的身高(单位:米)、体重(单位:千克),输出BMI指数以及与该指数对应的等级。(资源包\Code\Try\03\04)

3.2.2 switch多分支语句

视频讲解:资源包\Video\03\3.2.2 switch多分支的语句.mp4

2008年北京奥运会的时候,全球各个国家的参赛队齐聚北京。每个国家的参赛队都有指定的休息区,例如“美国代表队请到A4-14休息区等候”“法国代表队请到F9-03休息区等候”等。本次奥运会共有204个国家参与,如果用计算机来分配休息区,难道要写204个if语句吗?

这是编程中的一个常见问题,即检测一个变量是否符合某个条件,如果不符合,再用另一个值来检测,以此类推。例如,给各个国家的参赛队分配一个编号,然后判断某个参赛队的国家编号是不是美国的?如果不是美国的,那是不是法国的?是不是德国的?是不是新加坡的?当然,这种问题可以使用if条件语句来完成。

例如,使用if语句检测变量是否符合某个条件,关键代码如下:

这个程序显得比较笨重,需要测试不同的值来给出输出语句。在Java中,可以用switch多分支语句将动作组织起来,以一个较简单明了的方式实现“多选一”的功能。语法如下:

在switch多分支语句中,参数必须是整型、字符型、枚举类型或字符串类型的,常量值1~n必须是与参数兼容的数据类型。

switch多分支语句首先计算参数的值,如果参数的值和某个case后面的常量表达式相同,则执行该case语句后的若干语句,直到遇到break语句。此时,如果该case语句中没有break语句,将继续执行后面case中的若干语句,直到遇到break语句。若没有任何一个常量表达式与参数的值相同,则执行default后面的语句。

break的作用是跳出整个switch多分支语句。

default语句是可以不写的,如果它不存在,而且switch多分支语句中表达式的值不与任何case的常量表达式的值相同,则switch不做任何处理。

switch多分支语句的执行流程如图3.7所示。

图3.7 switch多分支语句的执行流程

实例03 根据考试成绩判断等级

实例位置:资源包\Code\SL\03\03

视频位置:资源包\Video\03\

创建Grade类,使用Scanner类在控制台输入成绩,然后用switch多分支语句判断输入的分数属于哪个等级。10分和9分属于优,8分属于良,7分和6分属于中,5分、4分、3分、2分、1分以及0分均属于差,实例代码如下:

运行结果如图3.8所示。

图3.8 输入不同成绩返回不同的结果

从这个结果发现,当成绩为9时,switch判断之后执行了“case 9:”后面的语句,输出了“成绩为优”;当成绩为5时,“case 5:”后面是没有任何处理语句的,这时候switch会自动跳转到“case 4:”,但“case 4:”后面也没有任何处理代码,这样就会继续往下找,直到在“case 0:”中找到了处理代码,于是输出了“成绩为差”的结果,然后执行break,结束了switch多分支语句;当成绩为-1时,switch直接进入“default”,执行完后退出。

说明

(1)在JDK1.6及以前的版本中,switch多分支语句中表达式的值必须是整型或字符型的,常量值1~n也必须是整型或字符型的,但是在JDK 1.7以上的版本中,switch多分支语句表达式的值除了是整型或字符型的,还可以是字符串类型的。

(2)在实例03中出现了break关键字,这个关键字的作用是停止switch多分支语句的运行,但不会停止switch多分支语句外的语句,也不会使程序终止。更多关于break关键字的用法,可以参考本章3.4.1节中的内容。

(3)if语句和switch多分支语句都可以实现多条件判断,但if语句主要是对布尔表达式、关系表达式或者逻辑表达式进行判断,而switch多分支语句主要是对常量值进行判断。因此,在程序开发中,如果遇到多条件判断的情况,并且判断的条件不是关系表达式、逻辑表达式或者浮点类型,就可以使用switch多分支语句代替if语句,这样执行效率会更高。

注意

(1)同一个switch多分支语句,case的常量值必须互不相同。

(2)在switch多分支语句中,case语句后常量表达式的值可以为int、short、char、byte、String以及enum(枚举类型)。例如,下面的代码就是不合法的:

拓展训练

一、使用switch多分支语句判断控制台输入的某个月份属于哪个季节。(资源包\Code\Try\03\05)

二、某大型商超为答谢新老顾客,当累计消费金额达到一定数额时,顾客可享受不同的折扣:

①尚未超过200元,顾客须按照小票价格支付全款;

②不少于200元但尚未超过600元,顾客全部的消费金额可享8.5折优惠;

③不少于600元但尚未超过1000元,顾客全部的消费金额可享7折优惠;

④不少于1000元,顾客全部的消费金额可享6折优惠;

根据顾客购物小票上的消费金额,在控制台上输出该顾客将享受的折扣与打折后须支付的金额。(资源包\Code\Try\03\06)

3.3 循环语句

日常生活中很多问题都无法一次解决,比如盖楼,所有高楼都是一砖一瓦堆起来的。有些事物必须周而复始地运转才能保证其存在的意义,例如公交、地铁等交通工具必须每天在同样的时间出现在相同的站点。类似这样反复执行同一件事的情况,在程序设计中经常碰到,为了解决这样的开发需求,编程中就有了循环语句。

循环语句就是在满足一定条件的情况下反复执行某一个操作。Java中提供了4种常用的循环语句,分别是while语句、do…while语句、for语句和foreach语句,其中,foreach语句是for语句的特殊简化版本。下面分别进行介绍。

3.3.1 while循环语句

视频讲解:资源包\Video\03\3.3.1 while循环语句.mp4

while语句的循环方式是通过一个条件来控制是否要继续反复执行执行语句。语法如下:

当条件表达式的返回值为真时,则执行{}中的语句,当执行完{}中的语句后,重新判断条件表达式的返回值,直到表达式的返回值为假时,退出循环。while循环语句的执行流程如图3.9所示。

实例04 对1~10进行相加计算

实例位置:资源包\Code\SL\03\04

视频位置:资源包\Video\03\

在项目中创建GetSum类,在主方法中通过while循环将整数1~10相加,并将结果输出,实例代码如下:

运行结果如图3.10所示。

图3.9 while循环语句的执行流程

图3.10 用while循环语句计算1~10相加的和的运行结果

拓展训练

一、猜数字游戏:假设目标数字为147,使用while循环实现控制台的多次输入,猜对后终止程序。(资源包\Code\Try\03\07)

二、在生物实验室做单细胞细菌繁殖实验,每一代细菌数量都会成倍增长,第一代菌落中只有一个细菌,第二代菌落中分裂成两个,第三代菌落中分裂成4个,以此类推,请问第十代菌落中的细菌数量。(资源包\Code\Try\03\08)

3.3.2 do…while循环语句

视频讲解:资源包\Video\03\3.3.2 do…while循环语句.mp4

do…while循环语句与while循环语句类似,它们之间的区别是while循环语句先判断条件是否成立再执行循环体,而do…while循环语句则先执行一次循环后,再判断条件是否成立。也就是说,do…while循环语句的{}中的语句至少要被执行一次。语法如下:

do…while循环语句与while循环语句的一个明显区别是,do…while循环语句在结尾处多了一个分号。根据do…while循环语句的语法特点总结出的do…while循环语句的执行流程如图3.11所示。

实例05 用户登录验证

实例位置:资源包\Code\SL\03\05

视频位置:资源包\Video\03\

创建LoginService类,首先提示用户输入6位密码,然后使用Scanner扫描器类获取用户输入的密码,最后进入do…while循环进行判断。如果用户输入的密码不是“651472”,则让用户反复输入,直到输入正确密码,实例代码如下:

运行结果如图3.12所示。

图3.11 do…while循环语句的执行流程

图3.12 使用do…while循环语句验证用户登录密码的运行结果

拓展训练

一、用户输入一个值,从这个值开始,依次与这个值之后的连续n个自然数相加,当和超过100时结束,输出此时的和与自然数的值。(资源包\Code\Try\03\09)

二、自动售卖机有3种饮料,价格分别为3元、5元、7元。自动售卖机仅支持1元硬币支付,请编写该售卖机的自动收费系统程序。(资源包\Code\Try\03\10)

3.3.3 for循环语句

视频讲解:资源包\Video\03\3.3.3 for循环语句.mp4

for循环语句是Java程序设计中最有用的循环语句之一。一个for循环可以用来重复执行某条语句,直到某个条件得到满足。for循环语句的语法如下:

表达式1:该表达式通常是一个赋值表达式,负责设置循环的起始值,也就是给控制循环的变量赋初值。

表达式2:该表达式通常是一个关系表达式,用于控制循环的变量和循环变量允许的范围值进行比较。

表达式3:该表达式通常是一个赋值表达式,对控制循环的变量进行增大或减小。

语句:语句仍然是复合语句。

for循环语句的执行流程如下。

(1)先执行表达式1。

(2)判断表达式2,若其值为真,则执行for语句中指定的内嵌语句,然后执行(3)。若表达式2的值为假,则结束循环,转到(5)。

(3)执行表达式3。

(4)返回(2)继续执行。

(5)循环结束,执行for语句之外的语句。

上面的5个步骤也可以用图3.13表示。

实例06 1~100的累加计算

实例位置:资源包\Code\SL\03\06

视频位置:资源包\Video\03\

创建AdditiveFor类,使用for循环完成1~100的相加运算,实例代码如下:

运行结果如图3.14所示。

图3.13 for循环语句的执行流程

图3.14 使用for循环语句完成1~100的累加计算的运行结果

程序中for(i=1;i<=100;i++){sum+=i}就是一个循环语句,sum+=i是循环体语句,其中i是控制循环的变量,i=1是表达式1,i<=100是表达式2,i++是表达式3;表达式1给循环控制变量i赋初始值1,表达式2中的100是循环变量允许的范围,也就是说i不能大于100,大于100时将不执行语句sum+=i。语句sum+=i使用了复合赋值运算符,它等同于语句sum=sum+i。sum+=i语句共执行了100次,i的值从1加到了100。

说明

使用for循环时,可以在表达式1中直接声明变量。例如:

拓展训练

一、有一组数:1、1、2、3、5、8、13、21、34……请用for循环算出这组数的第n个数是多少?(资源包\Code\Try\03\11)

二、一个球从80米高度自由落下,每次落地后反弹的高度为原高度的一半,第6次落地时球共经过多少米?第6次反弹多高?(资源包\Code\Try\03\12)

3.3.4 foreach语句

视频讲解:资源包\Video\03\3.3.4 foreach语句.mp4

foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,不是任何foreach语句都可以改写为for语句版本。foreach并不是一个关键字,只是习惯上将这种特殊的for语句格式称为foreach语句。foreach语句在遍历数组等方面为程序员提供了很大的方便。语法如下:

遍历对象obj:依次读取obj中元素的值。

循环变量x:将遍历obj读出的值赋给x。

说明

遍历,在数据结构中指沿着某条路线,依次对树中每个节点均做一次且仅做一次访问。也可以简单地将其理解为“对数组或集合中的所有元素逐一访问”。数组,就是相同数据类型的元素按一定的顺序排列的集合。

对foreach语句中的元素变量x,不必进行初始化。下面通过简单的例子来介绍foreach语句是如何遍历一维数组的。

实例07 遍历整型数组

实例位置:资源包\Code\SL\03\07视频位置:资源包\Video\03\

在项目中创建Repetition类,在主方法中声明一维整型数组,并使用foreach语句遍历该数组,实例代码如下:

运行结果如图3.15所示。

拓展训练

一、模拟淘宝购物车场景(记录商品名称、数量和价格,并统计总金额):现将商品信息存储在String类型的数组中,即String info[][]={{"舒适达牙膏","1","68.49"},{"益达口香糖","1","9.8"},{"大宝SOD蜜","1","9.9"}},使用foreach语句遍历这个二维数组。(资源包\Code\Try\03\13)

二、现通过List<String>list=new ArrayList<String>();、list.add("舒适达牙膏");、list.add("2");以及list.add("68.49");这4条语句将舒适达牙膏放入“购物车”(List集合)中,然后使用foreach语句遍历这个List集合。(资源包\Code\Try\03\14)

图3.15 使用foreach语句遍历数组的运行结果

3.3.5 循环语句的嵌套

视频讲解:资源包\Video\03\3.3.5循环语句的嵌套.mp4

循环有for、while和dowhile 3种方式,这3种循环可以相互嵌套。例如,在for循环中套用for循环的代码格式如下:

在while循环中套用while循环的代码格式如下:

在while循环中套用for循环的代码格式如下:

实例08 输出乘法口诀表

实例位置:资源包\Code\SL\03\08

视频位置:资源包\Video\03\

创建Multiplication类,使用两层for循环实现在控制台输出乘法口诀表,实例代码如下:

运行结果如图3.16所示。

图3.16 使用嵌套for循环输出乘法口诀表的运行结果

这个结果是如何得出来的呢?外层循环控制输出的行数,i从1到9,当i=1的时候,输出第1行,然后进入内层循环,这里的j是循环变量,循环的次数与i的值相同,所以使用“j<i+1”来控制,内层循环的次数决定本行有几列,所以先输出j的值,然后输出*号,再输出i的值,最后输出j*i的结果。内层循环全部执行完毕后,换行,然后开始下一行的循环。

拓展训练

一、5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买三只雏鸡,现在用100文钱买100只鸡,那么公鸡、母鸡、雏鸡各有多少只?(资源包\Code\Try\03\15)

二、根据用户控制输入*的行数,在控制台中输出相应行数的等腰三角形。(资源包\Code\Try\03\16)

3.4 跳转语句

假设在一个书架上寻找一本《新华字典》,如果在第二排第三个位置找到了这本书,那还需要去看第三排、第四排的书吗?不需要。同样,在编写一个循环时,当循环还未结束,就已经处理完所有的任务时,还有必要让循环继续运行下去吗?答案是没有必要,再继续运行下去,既浪费时间又浪费内存资源。本节详细讲解可以用来控制循环的跳转语句。

跳转语句包含两方面的内容,一方面是控制循环变量的变化,也就是让循环判断中的逻辑关系表达式变成false,从而达到终止循环的效果;另一方面是控制循环的跳转,控制循环的跳转需要用到break和continue两个关键字,这两条跳转语句的跳转效果不同,break是中断循环,continue是直接执行下一次循环。

3.4.1 break语句

视频讲解:资源包\Video\03\3.4.1 break语句.mp4

使用break语句可以跳出switch结构。在循环结构中,同样可以用break语句跳出当前循环体,从而中断当前循环。

在3种循环语句中使用break语句的形式如图3.17所示。

图3.17 break语句的使用形式

实例09 输出数字中的第一个偶数

实例位置:资源包\Code\SL\03\09

视频位置:资源包\Video\03\

创建BreakTest类,循环输出1~19的整数值,在遇到第一个偶数的时候,使用break语句结束循环,实例代码如下:

运行结果如图3.18所示。

注意

如果遇到循环嵌套的情况,break语句只会使程序流程跳出包含它的循环结构,即只跳出一层循环。

拓展训练

一、地铁1号线共有18个地铁站,某人乘坐1号线从始发站前往第4站,请在控制台输出此人经过哪些地铁站。(地铁站名采用数字编号,例如第4站)(资源包\Code\Try\03\17)二、有一口井深10米,一只蜗牛从井底向井口爬,白天向上爬2米,晚上向下滑1米,问多少天可以爬到井口?(资源包\Code\Try\03\18)

如果想要让break跳出外层循环,Java提供了“标签”的功能,语法如下:

标签名:任意标识符。

循环体:任意循环语句。

break标签名:跳出指定的循环体,此循环体的标签名必须与break标签名一致。

带有标签名的break可以跳出指定的循环,这个循环可以是内层循环,也可以是外层循环。

实例10 使用break语句跳出指定的循环

实例位置:资源包\Code\SL\03\10

视频位置:资源包\Video\03\

创建BreakOutsideNested类,在主方法中编写两层for循环,并给外层循环添加标签名。当内层循环语句循环4次时,结束所有循环,实例代码如下:

运行结果如图3.19所示。

图3.18 输出数字中的第一个偶数的运行结果

图3.19 使用带有标签名的break跳出外层循环的运行结果

从这个结果可以看出,当j=4时,i的值没有继续增加,直接结束外层循环。

拓展训练

一、编写一个程序,体现如下过程:一个8×8的方阵正通过报数的方式统计人数,当报数至第2排第5列时,报数终止。(资源包\Code\Try\03\19)

二、编写一个程序,体现如下过程:一个停车场有4排停车位,每排有10个停车位,某车主查询到第3排第6个车位尚未使用,于是开车前往空车位。(资源包\Code\Try\03\20)

3.4.2 continue语句

视频讲解:资源包\Video\03\3.4.2 continue语句.mp4

continue语句是针对break语句的补充。continue不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件判断部分,重新开始执行循环。在for循环语句中遇到continue后,首先执行循环的增量部分,然后进行条件判断。在while和do…while循环中,continue语句使控制直接回到条件判断部分。

在3种循环语句中使用continue语句的形式如图3.20所示。

图3.20 使用continue语句的形式

实例11 输出数字中的所有偶数

实例位置:资源包\Code\SL\03\11

视频位置:资源包\Video\03\

创建ContinueTest类,使用一个for循环输出1~19的所有值,如果输出的值是奇数,则使用continue语句跳过本次循环,实例代码如下:

运行结果如图3.21所示。

图3.21 输出1~19中的所有偶数的运行结果

与break语句一样,continue语句也支持标签功能,语法如下:

标签名:任意标识符。

循环体:任意循环语句。

continue标签名:跳出指定的循环体,此循环体的标签名必须与continue标签名一致。

拓展训练

一、某剧院发售演出门票,演播厅观众席有4排,每排有10个座位。为了不影响观众视角,在发售门票时,屏蔽掉最左一列和最右一列的座位。(资源包\Code\Try\03\21)

二、某公司新增4×4个办公卡位,现只有第1排第3个和第3排第2个卡位被使用,在控制台输出尚未使用的办公卡位。(资源包\Code\Try\03\22)

3.5 小结

本章主要介绍了流程控制语句(条件语句、循环语句和跳转语句),通过使用if条件语句与switch多分支语句,可以基于布尔类型的条件判断,将一个程序分成不同的部分;通过while、do…while和for循环语句,可以让程序的一部分重复地执行,直到满足某个终止循环的条件;使用跳转语句可以使条件语句和循环语句变得更加灵活。通过学习本章的内容,读者可以掌握如何在程序中灵活使用流程控制语句。

本章e学码:关键知识点拓展阅读

arr[]    nextLine()方法  关系表达式  循环变量

break     Loop 遍历数组   集合     循环的跳转

break语句   标签        节点      循环的增量

case语句   布尔变量      结构化程序设计 循环嵌套

default语句  布尔表达式     逻辑表达式   一维数组

expression  常量表达式     枚举类型     元素

List集合    二维数组      条件执行体 vNxJUPF2ih9taDJ7bYGfNHQ/do689TOC5gcb3DuYxCaZWK/2+uNaZqJlUExhtm79

点击中间区域
呼出菜单
上一章
目录
下一章
×