Java第3章程序流程控制.ppt
《Java第3章程序流程控制.ppt》由会员分享,可在线阅读,更多相关《Java第3章程序流程控制.ppt(64页珍藏版)》请在三一办公上搜索。
1、第3章程序流程控制,内容提要,流程控制是所有编程语言的基本功能,它们主要用来控制程序中各语句的执行顺序。在Java语言中最主要的流程控制方式是结构化程序设计中规定的三种基本控制结构,即顺序结构、分支结构和循环结构。,本章要点,顺序结构比较简单,它的执行过程是从所描述的第一个操作开始,按顺序依次执行后续的操作,直到序列的最后一个操作。前面的例子都是顺序结构的。本章主要讨论分支结构和循环结构。,3.1分支结构,3.1.1 if语句结构 3.1.2 条件运算符3.1.3 switch语句结构,3.1.1 if语句结构,1.单分支结构if-else结构是最常用的分支结构,它可以实现单分支和双分支结构。
2、单分支if结构的一般格式如下:if(condition)statements;,3.1.1 if语句结构,其中condition为布尔表达式,它的值为true或false。程序执行的流程是:首先计算condition表达式的值,若其值为true,则执行statements语句序列,否则转去执行if结构后面的语句,如图3.1所示。,3.1.1 if语句结构,编写程序,从键盘上读取一个整数,检查该数是否能同时被5和6整除,是否能被5或被6整除,是否只能被5或只能被6整除。程序3.1 CheckNumber.java,3.1.1 if语句结构,2.双分支结构双分支的if结构的一般格式如下:if(co
3、ndition)statements1;else statements2;,3.1.1 if语句结构,该结构的执行流程是:首先计算condition的值,如果为true,则执行statements1语句序列,否则执行statements2语句序列。如图3.2所示。当if或else部分只有一条语句时,大括号可以省略,但推荐使用大括号。,3.1.1 if语句结构,下面的程序要求从键盘上输入一个年份,输出该年是否是闰年。符合下面两个条件之一的年份即为闰年:能被4整除,但不能被100整除;能被400整除。程序3.2 LeapYear.java程序输出结果为:请输入年份:2013 2013年不是闰年。,
4、3.1.1 if语句结构,3.阶梯式ifelse结构如果程序逻辑需要多个选择,可以在if语句中使用一系列的else语句,这种结构有时称为阶梯式ifelse结构。下面程序要求输入学生的百分制成绩,打印输出等级的成绩。等级规定为,90分(包括)以上的为“优秀”,80分(包括)以上的为“良好”,70分(包括)以上的为“中等”,60分(包括)以上的为“及格”,60分以下为“不及格”。,3.1.1 if语句结构,程序3.3 ScoreGrade.java,3.1.2 条件运算符,条件运算符(conditional operator)的格式如下 condition?expr1:expr2因为有三个操作数,
5、又称为三元运算符。这里condition为关系或逻辑表达式,其计算结果为布尔值。如果该值为true,则计算表达式expr1的值,并将计算结果作为整个条件表达式的结果;如果该值为false,则计算表达式expr2的值,并将计算结果作为整个条件表达式的结果。,3.1.2 条件运算符,条件运算符可以实现ifelse结构。例如,若max,a,b是int型变量,下面结构:if(a b)max=a;else max=b;,3.1.2 条件运算符,用条件运算符表示为:max=(a b)?a:b;从上面可以看到使用条件运算符会使代码简洁,但是不容易理解。现代的编程,程序的可读性变得越来越重要,因此推荐使用if
6、else结构,毕竟并没有多输入多少代码。,3.1.3 switch语句结构,如果需要从多个选项选择其中一个,可以使用switch语句。switch语句主要实现多分支结构,一般格式如下:switch(expression)case value1:statements break;case value2:statements break;,3.1.3 switch语句结构,case valuen:statements break;default:statements其中expression是一个表达式,它的值必须是byte、short、int、char、enum类型或String类型。case子句
7、用来设定每一种情况,后面的值必须与表达式值类型相容。程序进入switch结构,首先计算,3.1.3 switch语句结构,expression的值,然后用该值依次与每个case中的常量(或常量表达式)的值进行比较,如果等于某个值,则执行该case子句中后面的语句,直到遇到break语句为止。break语句的功能是退出switch结构。如果在某个情况处理结束后就离开switch结构,则必须在该case结构的后面加上break语句。,3.1.3 switch语句结构,default子句是可选的,当表达式的值与每个case子句中的值都不匹配时,就执行default后的语句。如果表达式的值与每个cas
8、e子句中的值都不匹配,且又没有default子句,则程序不执行任何操作,而是直接跳出switch结构,执行后面的语句。编写程序,从键盘输入一个年份(如2000年)和一个月份(如2月),输出该月的天数(29)。,3.1.3 switch语句结构,程序3.4 SwitchDemo.java,3.1.3 switch语句结构,在Java SE 7中,可以在switch语句的表达式中使用String对象,下面代码根据月份的字符串名称输出数字月份。,3.1.3 switch语句结构,程序3.5 StringSwitchDemo.java程序中month.toLowerCase()是将字符串转换成小写字符
9、串。switch表达式中的字符串与每个case中的字符串进行比较。,3.2循环结构,在程序设计中,有时需要反复执行一段相同的代码,这时就需要使用循环结构来实现。Java语言提供了4种循环结构:while循环do-while循环for循环增强的for循环,3.2循环结构,一般情况下,循环结构包含4部分内容:初始化部分:设置循环开始时的程序状态。循环条件:循环条件一般是一个布尔表达式,当表达式的值为true时执行循环体,为false时退出循环。迭代部分:改变变量的状态。循环体部分:需要重复执行的代码。,3.2.1 while循环结构,while循环是Java最基本的循环结构,这种循环是在某个条件为
10、true时,重复执行一个语句或语句块。它的一般格式如下:initializationwhile(boolean_expression)/循环体 iteration,3.2.1 while循环结构,其中,initialization 为初始化部分,boolean_expression为一个布尔表达式,它是循环条件。中间的部分为循环体,用一对大括号定界。iteration为迭代部分。,3.2.1 while循环结构,该循环首先判断循环条件,当条件为true时,一直反复执行循环体。这种循环一般称为“当循环”。一般用在循环次数不确定的情况下。while循环的执行流程如图3.3所示。,3.2.1 whi
11、le循环结构,下面代码使用while结构求1到100之和。int n=1;int sum=0;while(n=100)sum=sum+n;n=n+1;System.out.println(sum=+sum);/输出sum=5050,3.2循环结构,程序3.6采用while循环结构,计算下面级数之和:程序3.6 SeriesSum.java 程序输出结果为:,3.2循环结构,下面的程序随机产生一个100200之间的整数,用户从键盘上输入所猜的数,程序显示是否猜中的消息,如果没有猜中要求用户继续猜,直到猜中为止。程序3.7 GuessNumber.java,3.2.2 do-while循环结构,程
12、序中使用了类的random()方法,该方法返回一个0.0到1.0(不包括1.0)之间的double型的随机数。程序中该方法乘以101再转换为整数,得到0到100之间的整数,再加上100,则magic的范围就为100到200之间的整数。,3.2.2 do-while循环结构,do-while循环一般格式如下:initialization do/循环体 iteration while(termination);do-while循环执行过程如图3.4所示。,3.2.2 do-while循环结构,该循环首先执行循环体,然后计算条件表达式。如果表达式的值为true,则返回到循环的开始继续执行循环体,直到
13、termination的值为false循环结束。这种循环一般称为“直到型”循环。该循环结构与while循环结构的不同之处是,do-while循环至少执行一次循环体。,3.2.2 do-while循环结构,编写程序,要求用户从键盘输入若干个double型数(输入0则结束),程序计算并输出这些数的总和与平均值。程序3.8 DoWhileDemo.java,3.2.3 for循环结构,for循环是Java语言中4种循环结构中功能最强,也是使用最广泛的循环结构。它的一般格式如下:for(initialization;termination;iteration)/循环体,3.2.3 for循环结构,在f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 章程 流程 控制

链接地址:https://www.31ppt.com/p-6510066.html