第三章 流程控制

3.1程序结构

顺序结构、选择结构和循环结构是结构化程序设计的3种基本结构,是各种复杂程序的基却单元。图3.1 展示了这3种程序结构的基本理念,其中,第幅图 是顺序结构的流程图, 它就书写顺序执行的语句构成的程序段;第二幅图是选择结构的流程图,它主要根据输入数据和中国的不同选择执行不同的语句,选择结构主要由条件语句(也叫判断语句或者分支语句)组成:而第三幅图是循环结构的流程图,它是在一定条件下反复执行某段程序的流程结构,其中,-组被重复执行的语句称为循环体,而决定循环是否止的判断条件是循环条件,循环结构主要由循环语句组成。

3.2 条件语句

在Java中,条件语句主要包括i语句和swich语句两种

3.2.1 if条件语句

if条件语句主要用于告诉程序在某个条件成立的情况下执行某段语句,而在另一一种情况下执行另外的语句。
使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句:件之后的语句。if条件语句可分为简单的if条件语句、if....ee语句和让若为alse,则不执行证条....else if多分支语句。

1.简单的if条件语句

例3.1

2. if...else 语句

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

例3.3

 3.if...else if多分支语句

例3.4

 4.if语句的嵌套

前面讲过三种形式的条件语句,这三种形式的条件语句都可以嵌套条件语句。

例3.5

 3.2.2 Switch多分支语句

Switch语句中参数必须是整型、字符型、枚举类型或字符串类型,常量值1~n必须是与参数兼容的数据类型,switch语句首先计算参数的值,如果参数的值和某个case后面的常量表达式相同,则执行该case语句后的若干个语句,直到遇到break语句为止。此时如果该case语句中没有break语句,将继续执行后面case中的若干个语句,直到遇到break语句为止。若没有任何一一个常量表达式与参数的值相同,则执行default后面的语句。
break的作用是跳出整个switch语句。
defult语句是可以不写的,如果它不存在,而且swich语句中表达式的值不与任何ca的常量值相同,switch则不做任何处理。

例3.8

 3.3语句循环

3.3.1while循环语句

while 语句的循环方式为利用个条件来控制是否要继续反复执行这个语句。
当条件表达式的返回值为真时,则执行“8}” 中的语句,当执行完“{}”中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。

 例3.10

3.3.2 do...while循环语句

do...while循环语句与while循环语句类似,它们之间的区别是while语句为先判断条件是否成立再执行循环体,而do... while循环语句则先执行一次循环后,再判断条件是否成立。也就是说d...while循环语句中“{}”中的程序段至少要被执行一次。
do.while语句与while语句的一个明显区别是d..whil语句在结尾处多了一一个分号 (;)。根据d..whie循环语句的语法特点总结出的d... while循环语句的执行流程

例3.11

 

 3.3.3 while与do...while比较

可以通过设置起始循环条件不成立的循环语句来观察while和d...while的不同。将变量i初始值设置为0,然后循环表达式设置为i>1,显然循环条件不成立。循环体执行的是对变量j的加1运算,通过输出变量j在循环前的值和循环后的值进行比较。

例3.12

 例3.13

 3.3.4 for循环语句

for循环是Java程序设计中最有用的循环语句之一一。 一个 for循环可以用来重复执行某条语句,直到某个条件得到满足。
表达式1:该表达式通常是-个赋值表达式,负责设置循环的起始值,也就是给控制循环的变量赋初值。
表达式2:该表达式通常是一个关系表达式,用控制循环的变量和循环变量允许的范围值进行比较。
表达式3:该表达式通常是一一个赋值表达式,对控制循环的变量进行增大或减小。

 例3.14

 3.3.5 foreach语句

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

例3.15

 3.3.6循环语句的嵌套

例3.16

循环有for、while、do...while3种方法,这3种方法可以相互嵌套

 3.4跳转语句

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

 例3.17

 例3.18

 (1)循环中的语向判断:如果j等于4时,执行break语句, 则中断了内层的循环,输出的j值最大到3为止。
(2)但是外层的循环没有受任何影响,输出的i值最大到2,正是for循环设定的最大值。

3.4.2  continue语句

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

例3.20 

流程图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值