Java程序设计教程 教学课件 ppt 作者 978-7-302-18214-6 第4章-Java程序流程控制

上传人:E**** 文档编号:89346888 上传时间:2019-05-23 格式:PPT 页数:61 大小:516.50KB
返回 下载 相关 举报
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第4章-Java程序流程控制_第1页
第1页 / 共61页
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第4章-Java程序流程控制_第2页
第2页 / 共61页
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第4章-Java程序流程控制_第3页
第3页 / 共61页
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第4章-Java程序流程控制_第4页
第4页 / 共61页
Java程序设计教程 教学课件 ppt 作者  978-7-302-18214-6 第4章-Java程序流程控制_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《Java程序设计教程 教学课件 ppt 作者 978-7-302-18214-6 第4章-Java程序流程控制》由会员分享,可在线阅读,更多相关《Java程序设计教程 教学课件 ppt 作者 978-7-302-18214-6 第4章-Java程序流程控制(61页珍藏版)》请在金锄头文库上搜索。

1、第4章 Java程序流程控制,本章学习目标,理解复合语句概念。 掌握if、if-else语句以及switch语句等分支结构。 掌握while、do-while以及for语句等循环结构。 掌握break和continue等跳转语句。 基本掌握分支及循环结构的相互嵌套编程。 学会分析较复杂程序的执行流程。,4.1 复合语句,在Java语言中,有简单语句和复合语句之分。 一条简单语句总是以分号结束,它代表一个要执行的操作,可以是赋值、判断或者跳转等语句,甚至还可以是只有分号的空语句(;),空语句表示不需要执行任何的操作。 而复合语句则是指用大括号括起来的语句块(block),它一般由多条语句构成,但

2、也允许只有一条简单语句。,复合语句,格式如下: 简单语句1; 简单语句2; 简单语句n; 比如以下例子均为复合语句: a = 1; b = 2; 或 S = 0; ,复合语句在后面的流程控制结构中经常要用到,比如需要多个语句作为一个“整体语句”出现时就必须用大括号将其括起来作为一条复合语句。 Java程序的语句流程可以分为以下三种基本结构:顺序结构、分支(选择)结构以及循环结构。 对于分支结构和循环结构,当条件语句或者循环体语句多于一条时,必须采用复合语句的形式,即用大括号将其括起来,否则系统将默认条件语句或循环体语句仅有一条,即最近的那一条。 反过来说,当条件语句或者循环体语句只有一条时,则

3、可用可不用大括号,这点请初学者学习后面内容时注意留心。,4.2 顺序结构,由赋值语句以及输入输出语句构成的程序,只能按其书写顺序自上而下,从左到右依次执行,将此类程序结构称为顺序结构。 它是最简单的程序结构,也是计算机执行的最一般流程。,【例4-1】交换两变量的值。 public class Test public static void main(String args) int a=5,b=8,c; System.out.println(“a,b的初始值“); System.out.println(“a=“+a); System.out.println(“b=“+b); c = a; a

4、= b; b = c; System.out.println(“a,b的新值“); System.out.println(“a=“+a); System.out.println(“b=“+b); ,【例4-2】已知三角形的三条边长,求它的面积。 提示:面积 =,其中,,public class Test public static void main(String args) double a=3,b=4,c=5,s; /三角形的三条边 double area; /三角形的面积 s = (a+b+c)/2; area = Math.sqrt(s*(s-a)*(s-b)*(s-c); Syste

5、m.out.println(“该三角形的面积为:“+area); ,4.3 分支结构,分支结构也叫选择结构,分支结构表示程序中存在分支语句,这些语句根据条件的不同,将被有选择地加以执行(取决于条件表达式的取值情况)。 分支结构:单分支、双分支和多分支结构。 Java语言的单分支是if语句,双分支是if-else语句,多分支是switch语句,实现时,也可以用switch语句构成双分支结构,或者用if-else语句嵌套构成多分支结构。,4.3.1 单分支条件语句,单分支条件语句的一般格式是: if (布尔表达式) 语句; ,int i=0,j=0; if (i!=j) i+; j+; ,int

6、i=0,j=0; if (i!=j) i+; j+;,int i=0,j=0; if (i!=j) i+; j+;,【例4-4】乘坐飞机时,每位顾客可以免费托运20kg以内的行李,超过部分假定按每公斤收费1.2元的话,试编写相应计算收费的程序。,(1)数据变量: w -行李重量(以公斤为单位) fee-收费(单位元) 根据数据的特点,变量的数据类型必须为浮点型,不妨定为float类型。,(2)算法: 0 w 20 (3)由System.out.println();语句提示用户输入数据(行李重量),然后通过利用前述的交互式输入方法给w变量赋值。,(4)由单分支结构,构成程序段即对用户敲入的数据进

7、行判断,并按收费标准计算收费额。程序段局部如下: . . . fee = 0; if (w20) fee = 1.2 * (w-20); . . .,import java.io.*; public class Test public static void main(String args) throws IOException float w,fee; /以下代码为通过控制台交互输入行李重量 InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(r

8、eader); System.out.println(“请输入旅客的行李重量:“); String temp=input.readLine(); w = Float.parseFloat(temp); /字符串转换为单精度浮点型 fee = 0; if ( w 20) fee = (float)1.2 * (w-20); System.out.println(“该旅客需交纳的托运费用:“+fee+“元“); ,【例4-5】根据年龄,判断某人是否为成年。 public class Test public static void main(String args) byte age=20; if

9、(age=18) System.out.println(“成年“); if (age18) System.out.println(“未成年“); ,【例4-6】已知鸡和兔的总数量,以及鸡兔脚的总数, 求鸡和兔各自的数量。 public class Test public static void main(String args) double chick,rabbit; short heads=10,feet=32; chick = (heads*4-feet)/2.0; rabbit = heads - chick; if (chick=(short)chick ,4.3.2 双分支条件语句

10、,Java语言的双分支结构由if-else语句实现,一般格式如下:,if (布尔表达式) 语句1; else 语句2; ,int i=0,j=0; if (i=j) i+; j+; else i-; j-; ,int i=0,j=0; if (i=j) i+; j+; else i-; j-;,int i=0,j=0; if (i=j) i+; j+; else i-; j-; ,【例4-7】鸡兔问题的改进。 public class Test public static void main(String args) double chick,rabbit; short heads=10,fe

11、et=33; chick = (heads*4-feet)/2.0; rabbit = heads - chick; if (chick=(short)chick ,【例4-8】根据年龄,判断某人是否为成年,用双分支实现。 public class Test public static void main(String args) byte age=20; if (age=18) System.out.println(“成年“); else System.out.println(“未成年“); ,【例4-9】判断2020的奇偶性,并进行输出? public class Test public

12、static void main(String args) short n = 2020; if (n%2=0) System.out.println(“2020是偶数。“); else System.out.println(“2020是奇数。“); ,【例4-10】判断并输出2020年是否为闰年? 闰年的判断是能被4整除但又不能被100整除,或能被400整除的公元年,因此闰年的判断可以用一个布尔表达式来实现。,public class Test public static void main(String args) boolean leapYear; short year = 2020;

13、leapYear = (year%4=0 ,4.3.3 分支结构嵌套,Java语言允许对if-else条件语句进行嵌套使用。前述分支结构的语句部分,可以是任何语句(包括分支语句本身),我们把分支结构的语句部分仍为分支结构的情况,称为分支结构嵌套。 构造分支结构嵌套的主要目的是解决条件判断较多,较复杂的一些问题。 常见的嵌套结构如下所示:,if (布尔表达式1) if (布尔表达式2) 语句1;,if (布尔表达式1) 语句1; else if (布尔表达式2) 语句2; else 语句3;,if (布尔表达式1) if (布尔表达式2) 语句1; else 语句2; else 语句3;,请分析

14、以下分支嵌套程序段执行后的输出结果。,int i=1,j=2; if (i!=j) - if (ij) - i-; - else j-; - System.out.println(“i=”+i+”,j=”+j); - else System.out.println(“i=”+i+”,j=”+j); - . -,【例4-11】根据某位同学的分数成绩,判断其等级:优秀(90分以上);良好(80分以上90分以下);中等(70分以上80分以下);及格(60分以上70分以下);不及格(60分以下)。,public static void main(String args) throws IOExcept

15、ion float score; InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); System.out.println(“请输入分数:“); String temp=input.readLine(); score = Float.parseFloat(temp); if ( score 90) if ( score 80) if ( score 70) if ( score 60) System.out.println(“该同学的分数等级为:不及格“); else System.out.println(“该同学的分数等级为:及格“); else System.out.println(“该同学的分数等级为:中等“); else System.out.println(“该同学的分数等级为:良好“); else System.out.println(“

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号