版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4 4章章 JavaJava中的程序执行流程中的程序执行流程 本章中我们将接触编程语言的另一个基本的部分本章中我们将接触编程语言的另一个基本的部分 程序执行流程。在进行本章之前,我们首先来回顾一下前面程序执行流程。在进行本章之前,我们首先来回顾一下前面 的知识。这些知识都是本章需要用到的。的知识。这些知识都是本章需要用到的。 大括号的作用。我们在第一章中初步认识了大括号的作用。我们在第一章中初步认识了Java中大中大 括号的作用。我们使用大括号来开始并结束一个类以及一个括号的作用。我们使用大括号来开始并结束一个类以及一个 方法的定义。方法的定义。 boolean类型和布尔运算符。类型和布尔
2、运算符。boolean变量将在本章中扮变量将在本章中扮 演十分重要的角色。虽然演十分重要的角色。虽然boolean变量只有两个值。但是确变量只有两个值。但是确 实我们进行思考最基本的元素:真或假。实我们进行思考最基本的元素:真或假。 Java中基本类型的赋值和运算规则。中基本类型的赋值和运算规则。 4.1 4.1 顺序执行顺序执行 在前面的例程中,我们写的代码无一例外的都是从在前面的例程中,我们写的代码无一例外的都是从main方法方法 第一行开始执行。直到第一行开始执行。直到main方法的最后一行。我们所说的方法的最后一行。我们所说的main方法方法 的第一行就是的第一行就是main方法中左大
3、括号(方法中左大括号(“”)后面的第一行程序,最)后面的第一行程序,最 后一行就是指与那个大括号对应的右大括号(后一行就是指与那个大括号对应的右大括号(“”)前面的一行。)前面的一行。 我们发现顺序执行的程序只能处理很直接很简单的事情,例我们发现顺序执行的程序只能处理很直接很简单的事情,例 如上面的例程中,我们仅仅模拟了一次如上面的例程中,我们仅仅模拟了一次“总价总价 = 价格价格 * 数量数量”的计的计 算过程。算过程。 4.2 4.2 使用使用if-elseif-else让程序懂得判断让程序懂得判断 迄今为止,我们的代码还都是顺序的一行行执行。如迄今为止,我们的代码还都是顺序的一行行执行。
4、如 果我们在程序中需要根据条件来判断一段代码是否执行,应果我们在程序中需要根据条件来判断一段代码是否执行,应 该怎么实现呢?当我们想实现类似该怎么实现呢?当我们想实现类似“如果数量和单价是合理如果数量和单价是合理 的,就计算总价,否则,告诉对方说数量和单价不对的,就计算总价,否则,告诉对方说数量和单价不对”这样这样 的逻辑的时候,就需要用到的逻辑的时候,就需要用到Java中的中的if-else语句了。语句了。if-else语语 句是句是Java语法中用来支持程序根据一个语法中用来支持程序根据一个boolean值来让程序值来让程序 的执行流程进行跳转的语句。下面我们来详细讨论一下的执行流程进行跳
5、转的语句。下面我们来详细讨论一下Java 中中if-else语句的使用。语句的使用。 4.2.1 if4.2.1 if语句语句 我们继续刚才讨论的问题。首先我们将程序的功能修我们继续刚才讨论的问题。首先我们将程序的功能修 改为改为“只有在只有在price和和amount两个变量值都大于两个变量值都大于0的时候,才的时候,才 去计算总价(去计算总价(totalCost)”。在。在Java中,我们使用中,我们使用if语句来语句来 让程序让程序“有条件的执行某个代码块有条件的执行某个代码块”。 4.2.2 if4.2.2 if语句的嵌套语句的嵌套 if语句的代码块可以是任何符合语句的代码块可以是任何
6、符合Java语法的代码,当然语法的代码,当然 也可以包含另一个也可以包含另一个if语句。下面我们来看一个包含语句。下面我们来看一个包含if语句嵌语句嵌 套的例程。套的例程。 if语句代码块中可以是任何符合语句代码块中可以是任何符合Java语法的代码。我们语法的代码。我们 在本节中看到了在本节中看到了if语句的嵌套。语句的嵌套。 if语句是一个多行的语句。我们知道语句是一个多行的语句。我们知道Java中一个语句可中一个语句可 以有多行以有多行 if语句代码块的括号可以用来帮助我们识别代码块的开语句代码块的括号可以用来帮助我们识别代码块的开 始和结束,最好不要省略,即使始和结束,最好不要省略,即使
7、if语句的代码块只有一个语语句的代码块只有一个语 句。句。 4.2.3 if-else4.2.3 if-else语句语句 理解了理解了if以后,以后,else就很好理解了。就很好理解了。“else”也是也是java中的关键字,中的关键字, 它只能和它只能和if语句配合使用,用来处理语句配合使用,用来处理if条件表达式的值为条件表达式的值为false的情况。的情况。 Java语法中,语法中,else后面也会跟一个用大括号括起来的代码块。这个代码后面也会跟一个用大括号括起来的代码块。这个代码 块会执行的条件就是块会执行的条件就是if语句的条件表达式的值为语句的条件表达式的值为false,也就是,也
8、就是if语句主体语句主体 没有执行。没有执行。if-else组合在一起的语义就是:组合在一起的语义就是:“如果如果”条件表达式值为真条件表达式值为真 ,则执行,则执行if代码块,代码块,“否则否则”就执行就执行else代码块。代码块。 4.2.4 if-else4.2.4 if-else语句嵌套语句嵌套 假设超市为了促销,在结算时对不同的消费金额赠送假设超市为了促销,在结算时对不同的消费金额赠送 不同面值的抵价券:不同面值的抵价券:100元一下的不送抵价券;元一下的不送抵价券;100元(含)元(含) 到到500元(含)的送元(含)的送55元抵价券;元抵价券;500元以上的赠送元以上的赠送155
9、元抵元抵 价券。价券。 当有程序需要根据多个条件执行不同操作时,我们可当有程序需要根据多个条件执行不同操作时,我们可 以使用多个以使用多个if-else语句嵌套。语句嵌套。 有时候省略有时候省略else语句块的大括号会让程序更易读。语句块的大括号会让程序更易读。 4.3 4.3 使用使用whilewhile进行循环进行循环 至今为止,我们的接触到的程序虽然有了跳转,但是程序总至今为止,我们的接触到的程序虽然有了跳转,但是程序总 的执行顺序还是顺序的从上至下的,直观地说,就是程序执行起的执行顺序还是顺序的从上至下的,直观地说,就是程序执行起 来是来是“不回头不回头”的。在现实中,我们通常需要同一
10、段代码循环(的。在现实中,我们通常需要同一段代码循环( loop)执行多次,这时候我们应该怎么办呢?)执行多次,这时候我们应该怎么办呢?Java中的中的while语句语句 就是用来完成这个功能的,下面让我们开始本节的内容。在本节就是用来完成这个功能的,下面让我们开始本节的内容。在本节 中,我们将第一次让程序循环执行。中,我们将第一次让程序循环执行。 4.3.1 4.3.1 使用使用whilewhile语句语句 现在我们需要一个结账功能给结账员使用,每个结账员在接待现在我们需要一个结账功能给结账员使用,每个结账员在接待 了一定数量的顾客后就会休息,所以我们这个程序不但应该能够结了一定数量的顾客后
11、就会休息,所以我们这个程序不但应该能够结 账,还应该能够在循环运行一定次数的结账计算后自动退出,这样账,还应该能够在循环运行一定次数的结账计算后自动退出,这样 结账员就知道自己应该休息了。结账功能的代码我们前面已经给出结账员就知道自己应该休息了。结账功能的代码我们前面已经给出 了(就是计算总价的代码),下面我们要引入了(就是计算总价的代码),下面我们要引入Java中能够让这段结中能够让这段结 账代码重复执行的语句账代码重复执行的语句while语句。语句。 1 while语句的语法语句的语法 2 理解理解while语句语句 3 分析上面的例程分析上面的例程 4.3.2 4.3.2 使用使用do-
12、whiledo-while语句语句 下面我们介绍下面我们介绍while语句的另一种形式语句的另一种形式do-while语句。其中语句。其中 “do”也是也是Java中的关键字。它的功能与中的关键字。它的功能与while语句是一样的,但是在某语句是一样的,但是在某 些情况下,使用些情况下,使用do-while语句会让程序写起来更轻松。现在我们接触到的语句会让程序写起来更轻松。现在我们接触到的 程序还无法找到可以让程序还无法找到可以让do-while语句显得比语句显得比while语句更方便的例程。语句更方便的例程。 4.4 4.4 使用使用forfor进行循环进行循环 下面我们介绍一下下面我们介绍
13、一下for语句。虽然绝大多数情况下,语句。虽然绝大多数情况下,for 语句能做的事情其它循环语句也是可以做的。但是在循环的语句能做的事情其它循环语句也是可以做的。但是在循环的 各种语句中,各种语句中,for语句是使用的最频繁的。语句是使用的最频繁的。 4.4.1 4.4.1 自增和自减操作自增和自减操作 为了方便的使用为了方便的使用for语句,我们在这里需要先介绍一下语句,我们在这里需要先介绍一下Java中中 的自增和自减运算符。首先我们介绍自增运算符,自增运算符在的自增和自减运算符。首先我们介绍自增运算符,自增运算符在 Java中是两个连续的加号(中是两个连续的加号(+)。自增运算符是一个一
14、元运算符,)。自增运算符是一个一元运算符, 它的作用是将数字类型的变量的值加它的作用是将数字类型的变量的值加1。 加加运算和减减运算可以用在加加运算和减减运算可以用在Java中任何表示数字的基本类中任何表示数字的基本类 型上。型上。 加加运算(加加运算(+)和减减运算()和减减运算(-)是用来方便的对变量进行加)是用来方便的对变量进行加 1或者减或者减1操作的。操作的。 “+”和和“-”写在运算符的前面或者后面有不同的运算顺序。写在运算符的前面或者后面有不同的运算顺序。 在一个运算式中使用在一个运算式中使用“+”或或“-”操作符时,要注意不要引起操作符时,要注意不要引起 歧义。歧义。 4.4.
15、2 for4.4.2 for语句语句 下面我们回到主题,讲解下面我们回到主题,讲解for语句。我们给出使用语句。我们给出使用for语语 句循环的例程,例程中就是使用句循环的例程,例程中就是使用for语句替换了语句替换了while语句,语句, 程序的功能与程序的功能与while语句的例程是一样的。语句的例程是一样的。 4.4.3 for4.4.3 for语句省略形式语句省略形式 for语句的小括号内有三个语句,其实这三个语句都是语句的小括号内有三个语句,其实这三个语句都是 可以省略(也就是留空)的。首先我们省略第一个和第三个可以省略(也就是留空)的。首先我们省略第一个和第三个 语句,可以让语句,
16、可以让for语句看起来与语句看起来与while语句几乎一样。语句几乎一样。for语句语句 的省略形式给的省略形式给for语句带来了灵活,但是这种省略形式并不语句带来了灵活,但是这种省略形式并不 是值得推荐的。我们还是应该尽量按照是值得推荐的。我们还是应该尽量按照for语句最普通的用语句最普通的用 法来使用法来使用for语句。语句。 for语句小括号内的三个语句都是可以省略的,但是这语句小括号内的三个语句都是可以省略的,但是这 并不值得推荐。并不值得推荐。 4.5 4.5 语句中不能不说的事语句中不能不说的事 迄今为止,我们已经学到了迄今为止,我们已经学到了Java中最常用的三种循环语句中最常用
17、的三种循环语句 和和if-else语句。好,现在在脑子里回味一下这三种循环语句的语句。好,现在在脑子里回味一下这三种循环语句的 的语义和的语义和if-else语句的语义。现在我们回忆一下前面的例程,语句的语义。现在我们回忆一下前面的例程, 要让自己一定要弄懂前面给出的例程以及例程的执行结果。现要让自己一定要弄懂前面给出的例程以及例程的执行结果。现 在我们需要带着一个清醒的脑袋进入本节,否则,你可能会被在我们需要带着一个清醒的脑袋进入本节,否则,你可能会被 本节的内容给弄迷糊。本节的内容给弄迷糊。 4.5.1 4.5.1 小心复杂语句中创建的变量!小心复杂语句中创建的变量! 迄今为止我们学习了多
18、种复杂语句(包括迄今为止我们学习了多种复杂语句(包括for语句,语句,while 语句,语句,do-while,if语句和语句和if-else语句),语句),Java语法规定,在它语法规定,在它 们中创建的变量,在外部(可理解为,在这些语句中的大括号们中创建的变量,在外部(可理解为,在这些语句中的大括号 外)是无法使用的。本节中我们使用外)是无法使用的。本节中我们使用for循环来说明这点。循环来说明这点。 循环语句中创建的变量不可以在循环外使用。循环语句中创建的变量不可以在循环外使用。 if语句中创建的变量在外部不能使用语句中创建的变量在外部不能使用 对于对于if-else语句,语句,if代码
19、块中创建的变量不能在代码块中创建的变量不能在else代码块代码块 使用。同时,使用。同时,if-else语句中创建的变量不能在语句外部使用。语句中创建的变量不能在语句外部使用。 4.5.2 4.5.2 别让循环次数给弄懵了别让循环次数给弄懵了 大多数情况下,我们会使用一个大多数情况下,我们会使用一个int变量来控制循环的变量来控制循环的 次数,上面的关于循环的例程中无一例外都是这样做的。假次数,上面的关于循环的例程中无一例外都是这样做的。假 设我们用设我们用int变量变量times来控制循环的次数,对于最常用的来控制循环的次数,对于最常用的for 循环,如果我们想让循环体执行循环,如果我们想让
20、循环体执行n次,那么最常见的写法就次,那么最常见的写法就 是:给是:给times赋值为赋值为0;然后把条件语句设置为;然后把条件语句设置为times n;然;然 后在条件变化语句或者循环体内将后在条件变化语句或者循环体内将times的值加的值加1。这对于。这对于 while语句也是同样适用的。对于语句也是同样适用的。对于do-while语句,如果语句,如果n大于大于 等于等于1,也是适用的。,也是适用的。 4.5.3 4.5.3 循环的嵌套循环的嵌套 我们前面看到过我们前面看到过if-else语句的嵌套,同样的,多种语句语句的嵌套,同样的,多种语句 之间都是可以嵌套的,例如之间都是可以嵌套的,
21、例如if代码块中可以有代码块中可以有for循环,循环,for循循 环中可以有环中可以有while循环,循环,do-while循环中可以有循环中可以有if-else语句等语句等 等。只要语句的语法正确,如何嵌套、嵌套多少层这都是允等。只要语句的语法正确,如何嵌套、嵌套多少层这都是允 许的。许的。 4.6 continue4.6 continue关键字与关键字与breakbreak关键字关键字 前面我们介绍了三种循环的语句:前面我们介绍了三种循环的语句:while、do-while以及以及 for。下面我们介绍两个可以用在循环体代码中的关键字:。下面我们介绍两个可以用在循环体代码中的关键字: co
22、ntinue和和break。这两个关键字用在循环体中,可以让我们。这两个关键字用在循环体中,可以让我们 更灵活的结束一段循环体或者一个循环语句。更灵活的结束一段循环体或者一个循环语句。 4.6.1 continue4.6.1 continue关键字关键字 continue关键字用在各种循环体中其语义是一样的,我关键字用在各种循环体中其语义是一样的,我 们以们以for循环为例子介绍循环为例子介绍continue关键字。其余的循环关键字。其余的循环形式也形式也 可以类比的使用可以类比的使用continue关键字。关键字。 如果我们需要一个程序循环如果我们需要一个程序循环5次,但是在循环到第次,但是
23、在循环到第3次次 的时候,循环体内的代码将不会完全被执行。要实现这个功的时候,循环体内的代码将不会完全被执行。要实现这个功 能,我们可以使用前面介绍的能,我们可以使用前面介绍的if-else语句来判断,在这里我语句来判断,在这里我 们介绍如何使用们介绍如何使用continue关键字实现这个功能。关键字实现这个功能。 4.6.2 break4.6.2 break关键字关键字 break关键字可以用在循环体中,它的语义是终止整个循关键字可以用在循环体中,它的语义是终止整个循 环。我们看下面这段代码,它与上一小节中的代码基本相同环。我们看下面这段代码,它与上一小节中的代码基本相同 ,不同的是我们将,
24、不同的是我们将continue关键字替换为了关键字替换为了break关键字。关键字。 break关键字的语义是终止其所在的循环或语句。关键字的语义是终止其所在的循环或语句。 break语句结束其所在的循环,而如果有循环嵌套,则不语句结束其所在的循环,而如果有循环嵌套,则不 会终止外部的循环。会终止外部的循环。 Java语法要求语法要求break语句要放在其所在的代码块的最后一语句要放在其所在的代码块的最后一 行。行。 4.7 4.7 使用使用switchswitch进行跳转进行跳转 本节中我们将接触本节中我们将接触Java中的中的switch语句。语句。switch语句比语句比 起前面我们介绍
25、的语句,语法结构最复杂,而且涉及的关键起前面我们介绍的语句,语法结构最复杂,而且涉及的关键 字可以说是最多的。但是字可以说是最多的。但是switch却不难理解。却不难理解。switch语句不语句不 是用来循环的,它是用来根据一个是用来循环的,它是用来根据一个int变量或者变量或者char变量的值变量的值 让程序进行分支的。让程序进行分支的。 1case语句语句 2 default语句语句 4.7 4.7 使用使用switchswitch进行跳转进行跳转 switch语句的执行流程语句的执行流程 4.8 4.8 大例子大例子 本节中我们将接触如何使用本节中我们将接触如何使用Java读取命令行输入的数读取命令行输入的数 据,让程序更加互动。然后,我们将使用用户输入的数据来据,让程序更加互动。然后,我们将使用用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道路货运汽车驾驶员安全风险评优考核试卷含答案
- 保健砭术师班组评比竞赛考核试卷含答案
- 固体饮料喷雾造粒工风险评估与管理竞赛考核试卷含答案
- 铸轧机操作工风险评估能力考核试卷含答案
- 丙烯腈-丁二烯-苯乙烯共聚物(ABS)装置操作工技术理论模拟考核试卷含答案
- 聚苯乙烯装置操作工岗前执行力考核试卷含答案
- 气瓶充装工岗前评优竞赛考核试卷含答案
- 异丁烷装置操作工岗前强化考核试卷含答案
- 铅笔制造工沟通协调知识考核试卷含答案
- 模特岗位应变能力考核试卷含答案
- 2026年浙江省温岭市专职社区工作者招聘结构化面试题库+高分答题模板
- 四上语文【26新1-8单元同步作文支架导练单(含范文)】
- 2026年事业单位招聘考试(党史党建基础知识)测试题及答案
- 销售人员绩效考核方案
- 小学数学相遇问题与追及|相对运动与速度合成
- 冷球蛋白血症肾损害诊疗指南(2025年版)
- (2026年)危重症超声在icu的应用课件
- (正式版)DB15∕T 4344-2026 《全固废充填采矿胶凝材料用于尾矿充填技术规范》
- 中班-科学-奇妙的大树
- 酒店餐饮传菜部工作制度
- 2026黑龙江黑河市中免免税店有限责任公司招聘1人备考题库及答案详解(必刷)
评论
0/150
提交评论