第03章程序控制精.ppt

上传人:石*** 文档编号:73617092 上传时间:2023-02-20 格式:PPT 页数:199 大小:9.62MB
返回 下载 相关 举报
第03章程序控制精.ppt_第1页
第1页 / 共199页
第03章程序控制精.ppt_第2页
第2页 / 共199页
点击查看更多>>
资源描述

《第03章程序控制精.ppt》由会员分享,可在线阅读,更多相关《第03章程序控制精.ppt(199页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第03章程序控制章程序控制第1页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程2/138学习目标学习目标1.理解理解Java语言中语句和块的的语法概念。语言中语句和块的的语法概念。2.掌握掌握Java语言中三种条件语句的使用,语言中三种条件语句的使用,包括包括if语句、语句、if-else语句以及语句以及switch语句,语句,理解理解break语句在语句在switch语句中的使用方法。语句中的使用方法。3.掌握掌握Java语言中三种循环语句的使用,语言中三种循环语句的使用,包括包括while语句、语句、for语句以及语句以及do语句;理解语句;理解break语句和语句和c

2、ontinue语句在循环语句中的语句在循环语句中的使用方法。使用方法。4.理解结构化程序设计的基本方法即自顶向理解结构化程序设计的基本方法即自顶向下逐步求精。下逐步求精。第2页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程3/138内容摘要内容摘要3.1 引言引言3.2 语句和块语句和块3.3 条件控制语句条件控制语句3.4 自顶向下,逐步求精自顶向下,逐步求精3.5 循环语句循环语句第3页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程4/138内容摘要内容摘要3.6 break和和continue语句语句3.7 实例实例第4页,本讲稿共199页楚雄师范学院

3、计算机科学系 java程序设计课程5/138内容摘要内容摘要3.1 引言引言3.2 语句和块语句和块3.3 条件控制语句条件控制语句3.4 自顶向下,逐步求精自顶向下,逐步求精3.5 循环语句循环语句第5页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程6/1383.1 引言引言 我们知道,程序是用来控制计算行为的,我们知道,程序是用来控制计算行为的,而我们讨论过的程序所蕴涵的计算步骤或而我们讨论过的程序所蕴涵的计算步骤或计算方法即算法,体现出的是一种顺序控计算方法即算法,体现出的是一种顺序控制行为,它控制程序由上往下一句一句地制行为,它控制程序由上往下一句一句地执行,且每一句

4、执行一次。执行,且每一句执行一次。如求解一次方程的算法:如求解一次方程的算法:1)输入)输入ax+b=0中中a和和b的值;的值;第6页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程7/1383.1 引言引言 2)将解)将解-b/a 赋值给解变量赋值给解变量x;3)将解)将解x明显地显示在屏幕上。明显地显示在屏幕上。它体现出的控制行为是由上(开始)往它体现出的控制行为是由上(开始)往下顺次地一句一句执行,且每一句执行下顺次地一句一句执行,且每一句执行一次。一次。为了更好地体现这种控制行为的特征,我为了更好地体现这种控制行为的特征,我们还可以采用所谓的们还可以采用所谓的流程图流程

5、图来来第7页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程8/1383.1 引言引言 描述算法,下面是上述算法的流程图描述形式,描述算法,下面是上述算法的流程图描述形式,如图如图3-1所示。所示。第8页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程9/1383.1 引言引言 与自然语言描述形式相比较,流程图描述中增与自然语言描述形式相比较,流程图描述中增加了专门的开始标志和结束标志,它们分别用加了专门的开始标志和结束标志,它们分别用明显标注明显标注“开始开始”和和“结束结束”的椭圆框表示;的椭圆框表示;输入输出指令或操作使用有明确说明的平行输入输出指令或操作

6、使用有明确说明的平行四边形框来表示;计算指令或操作用有明确四边形框来表示;计算指令或操作用有明确说明的矩形框来表示;控制流由上往下,由说明的矩形框来表示;控制流由上往下,由方向箭形象地指明,即执行时,从方向箭形象地指明,即执行时,从“开始开始”出发,顺着箭头方向向下,一个框一个框地顺次出发,顺着箭头方向向下,一个框一个框地顺次执行,直到执行,直到“结束结束”为止。为止。第9页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程10/1383.1 引言引言 然而,在实际应用中,更多的计算程然而,在实际应用中,更多的计算程序仅用顺序控制是远远不够的,还必序仅用顺序控制是远远不够的,还必

7、须用所谓的条件控制和循环控制。因须用所谓的条件控制和循环控制。因为在实际问题求解中通常都包含有顺为在实际问题求解中通常都包含有顺序行为、条件选择行为和循环行为,序行为、条件选择行为和循环行为,它们需要我们用程序或算法来描述或它们需要我们用程序或算法来描述或控制。控制。本章主要介绍本章主要介绍Java语言中各种条件控制语言中各种条件控制语句和循环控制语句。语句和循环控制语句。第10页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程11/138内容摘要内容摘要3.1 引言引言3.2 语句和块语句和块3.3 条件控制语句条件控制语句3.4 自顶向下,逐步求精自顶向下,逐步求精3.5

8、循环语句循环语句第11页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程12/1383.2 语句和块语句和块 在介绍条件控制语句和循环控制语句前,在介绍条件控制语句和循环控制语句前,我们先来介绍我们先来介绍Java语言的语句和块的语言的语句和块的概念。概念。在在Java语言中,语句可分两种语言中,语句可分两种:一种是用来表达操作的,例如,本章将介一种是用来表达操作的,例如,本章将介绍的各种条件语句和循环语句都属于这里绍的各种条件语句和循环语句都属于这里介绍的语句范畴;介绍的语句范畴;另一种是用来定义数据的,例如,各另一种是用来定义数据的,例如,各种变量声明语句等。种变量声明语句

9、等。第12页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程13/1383.2 语句和块语句和块 一般地,一般地,Java语句都使用分号(语句都使用分号(;)结)结束。例如,下列三条语句都是合法的语句:束。例如,下列三条语句都是合法的语句:int a,b;a=23;b=12;在在Java语言中,把什么都没有只有一语言中,把什么都没有只有一个分号的特殊情形称为个分号的特殊情形称为空语句空语句。例如,。例如,下列是空语句:下列是空语句:第13页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程14/1383.2 语句和块语句和块;许多时候,我们需要把多条语句当做一条语

10、许多时候,我们需要把多条语句当做一条语句来使用,此时就要使用花括号把它们括起句来使用,此时就要使用花括号把它们括起来。这种使用花括号括起来的多条语句称为来。这种使用花括号括起来的多条语句称为块块。例如,下列是一个块:。例如,下列是一个块:int a,b;a=23;b=12;第14页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程15/1383.2 语句和块语句和块 注:一个块是一条语句,所以,块中也可注:一个块是一条语句,所以,块中也可以包含其他块。以包含其他块。第15页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程16/138内容摘要内容摘要3.1 引言引言

11、3.2 语句和块语句和块3.3 条件控制语句条件控制语句3.4 自顶向下,逐步求精自顶向下,逐步求精3.5 循环语句循环语句第16页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程17/1383.3 条件控制语句条件控制语句 在在Java语言中条件语句可有三种形式:语言中条件语句可有三种形式:if语句语句if-else语句语句switch语句。语句。第17页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程18/1383.3.1 if语句语句 Java语言的语言的if语句格式为:语句格式为:if()其功能为:如果其功能为:如果为为true,那么执行,那么执行;否则

12、跳过;否则跳过(即不执行(即不执行),控制转到下一条),控制转到下一条语句。用流程图工具表示其执行流程如语句。用流程图工具表示其执行流程如图图3-2(a)所示。)所示。第18页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程19/1383.3.1 if语句语句 第19页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程20/1383.3.1 if语句语句 在在if语句格式中,语句格式中,具有一般性,具有一般性,即它可以表示空语句,例如:即它可以表示空语句,例如:if(a 0);上述语句如图上述语句如图3-2(b)所示。)所示。第20页,本讲稿共199页楚雄师范学院

13、计算机科学系 java程序设计课程21/1383.3.1 if语句语句 第21页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程22/1383.3.1 if语句语句 它也可以表示单个语句,例如:它也可以表示单个语句,例如:if(a!=0)x=-b/a;上述语句如图上述语句如图3-2(c)所示。)所示。第22页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程23/1383.3.1 if语句语句 第23页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程24/1383.3.1 if语句语句 它还可以表示块语句,例如:它还可以表示块语句,例如:if(a!

14、=0)Q=sqrt(b*b 4*a*c);x1=(-b+Q)/(2*a);x2=(-b-Q)/(2*a);上述语句如图上述语句如图3-2(d)所示。)所示。第24页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程25/1383.3.1 if语句语句 第25页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程26/1383.3.1 if语句语句 例例3-1 扩展例扩展例2-5,使求解一元一次方,使求解一元一次方程时包括无穷解和无解的情形。程时包括无穷解和无解的情形。解答:根据题意,求解一元一次方程需解答:根据题意,求解一元一次方程需要考虑三种情形:要考虑三种情形:a

15、不等于不等于0时、时、a等于等于0且且b等于等于0时以及时以及a等于等于0且且b不等于不等于0时,时,这三种情形都是互斥的,即任何时候只这三种情形都是互斥的,即任何时候只能有一种情形成立,而每一种情形成立能有一种情形成立,而每一种情形成立时采取的操作各不相同。使用的程序流时采取的操作各不相同。使用的程序流程图表示它的执行流程如图程图表示它的执行流程如图3-3所示所示第26页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程27/1383.3.1 if语句语句 第27页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程28/1383.3.1 if语句语句 第28页,本

16、讲稿共199页楚雄师范学院计算机科学系 java程序设计课程29/1383.3.1 if语句语句 对应的对应的Java程序如下:程序如下:1/*求解一元一次方程求解一元一次方程:ax+b=02 要求:分三种情形进行求解要求:分三种情形进行求解*/3 import javax.swing.JOptionPane;4 public class lineEquation45 6 public static void main(String args)第29页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程30/1383.3.1 if语句语句 7 8 double a,b,x;9 St

17、ring string_a,string_b,result;10 string_a=JOptionPane.showInputDialog(输入方程中的一次项系数输入方程中的一次项系数);11 a=Double.parseDouble(string_a);12 string_b=JOptionPane.showInputDialog(输入方程的常数项输入方程的常数项);13 b=Double.parseDouble(string_b);14 if(a!=0)/有解有解15 x=-b/a;第30页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程31/1383.3.1 if语句语句

18、 16 JOptionPane.showMessageDialog(null,方程方程+a+x+b+=0的解为的解为:x=+x,解方程解方程,JOptionPane.INFORMATION_MESSAGE);17 18 if(a=0&b=0)/有无穷解有无穷解19 JOptionPane.showMessageDialog(null,方程方程+a+x+b+=0的解为的解为:无穷解无穷解,解方程解方程,JOptionPane.INFORMATION_MESSAGE);20 第31页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程32/1383.3.1 if语句语句 21 if(a

19、=0&b!=0)/无解无解22 JOptionPane.showMessageDialog(null,方方程程+a+x+b+=0的解为的解为:无解无解,解方程解方程,JOptionPane.INFORMATION_MESSAGE);23 24 25 第32页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程33/1383.3.1 if语句语句 例子说明:例子说明:当当a不为不为0时(即第时(即第14句中布尔表达式为句中布尔表达式为true)执行第执行第15、16语句,此时方程有一个解;语句,此时方程有一个解;当当a为为0且且b也为也为0时(即第时(即第18句中布尔表达式为句中布尔

20、表达式为true)执行第)执行第19语句,此时方程有无穷个解;语句,此时方程有无穷个解;当当a为为0且且b不为不为0时(即第时(即第21句中布尔表达式为句中布尔表达式为true)执行第)执行第22语句,此时方程无解。语句,此时方程无解。例例3-2 求解一元二次方程。求解一元二次方程。解答:求解方程时,首先计算根的判别式,然解答:求解方程时,首先计算根的判别式,然第33页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程34/1383.3.1 if语句语句 后判断该判别式,如果大于后判断该判别式,如果大于0,则计算二,则计算二个不相等的解;个不相等的解;如果等于如果等于0,则计算二

21、个相等的解;,则计算二个相等的解;如果小于如果小于0,则无实数解。,则无实数解。使用流程图表示其执行流程如图使用流程图表示其执行流程如图3-4所示。所示。第34页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程35/1383.3.1 if语句语句 第35页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程36/1383.3.1 if语句语句 第36页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程37/1383.3.1 if语句语句 对应的对应的Java程序如下:程序如下:1 /*求解一元二次方程求解一元二次方程:ax2+bx+c=0*/2 imp

22、ort javax.swing.JOptionPane;3 public class quadratic_Equation4 5 public static void main(String args)6 7 double a,b,c,D,x1,x2;第37页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程38/1383.3.1 if语句语句 8 String string_a,string_b,string_c,result;9 string_a=JOptionPane.showInputDialog(输入方程中的二次项系数输入方程中的二次项系数);10 a=Double.p

23、arseDouble(string_a);11 string_b=JOptionPane.showInputDialog(输入方程中的一次项系数输入方程中的一次项系数);12 b=Double.parseDouble(string_b);13 string_c=JOptionPane.showInputDialog(输入方程的常数项输入方程的常数项);第38页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程39/1383.3.1 if语句语句 14 c=Double.parseDouble(string_c);15 D=b*b-4*a*c;/计算根的判别式计算根的判别式16 i

24、f(D 0)/有二个不相等的实数解有二个不相等的实数解17 x1=(-b+Math.sqrt(D)/(2*a);18 x2=(-bMath.sqrt(D)/(2*a);19 JOptionPane.showMessageDialog(null,方方程程+a+x*x+b+x+c+=0的解为的解为:x1=+x1+,x2=+x2,解方程解方程,JOptionPane.INFORMATION_MESSAGE);第39页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程40/1383.3.1 if语句语句 20 21 if(D=0)/有二个相等的实数解有二个相等的实数解22 x1=x2=-

25、b/(2*a);23 JOptionPane.showMessageDialog(null,方方程程+a+x*x+b+x+c+=0的解为的解为:x1=x2=+x1,解方程解方程,JOptionPane.INFORMATION_MESSAGE);24 第40页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程41/1383.3.1 if语句语句 25 if(D 0)/无实数解无实数解26 JOptionPane.showMessageDialog(null,方方程程+a+x*x+b+x+c+=0无实数解无实数解,解方程解方程,JOptionPane.INFORMATION_MESS

26、AGE);27 28 29 例子说明:例子说明:第41页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程42/1383.3.1 if语句语句 在在Math类中提供了许多方法,用于计类中提供了许多方法,用于计算数学函数,其中算数学函数,其中sqrt用来计算正平方用来计算正平方根;而本题第根;而本题第17、18行正是使用行正是使用sqrt计算平方根的具体例子。计算平方根的具体例子。第42页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程43/1383.3.2 if-else语句语句 Java语言的语言的if-else语句格式为:语句格式为:if()else 其功能为

27、:其功能为:第43页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程44/1383.3.2 if-else语句语句 如果如果为为true,那么执行,那么执行(不执行(不执行);否则执行);否则执行(不执行(不执行)。)。用流程图工具表示其执行流程如图用流程图工具表示其执行流程如图3-5(a)所示。)所示。第44页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程45/1383.3.2 if-else语句语句 第45页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程46/1383.3.2 if-else语句语句 与与if语句类似,在语句类似,在if-

28、else语句格式中,语句格式中,和和也具有一般性,它也具有一般性,它们既可以表示空语句,也可以表示单个们既可以表示空语句,也可以表示单个语句,还可以表示块语句。语句,还可以表示块语句。例如,下列三条例如,下列三条if-else语句都是合法的:语句都是合法的:if(D=0)DR=Math.sqrt(D);第46页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程47/1383.3.2 if-else语句语句 x1=(-b+DR)/(2*a);x2=(-b-DR)/(2*a);result=x1=+x1+,x2=+x2;else result=方程无实数解方程无实数解!;上述语句如图

29、上述语句如图3-5(b)所示。)所示。第47页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程48/1383.3.2 if-else语句语句 第48页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程49/1383.3.2 if-else语句语句 我们也可以使用两条我们也可以使用两条if语句来表示一条语句来表示一条if-else语句,语句,如图如图3-6所示。所示。第49页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程50/1383.3.2 if-else语句语句 例例3-3 编写一程序,当用户输入一个数编写一程序,当用户输入一个数时,它输出该数

30、的平方根。时,它输出该数的平方根。解答:当用户输入的是非负正数时,使解答:当用户输入的是非负正数时,使用用Math类中类中sqrt方法计算平方根;当方法计算平方根;当用户输入的是负数时,则提醒用户。使用户输入的是负数时,则提醒用户。使用流程图表示其执行流程如图用流程图表示其执行流程如图3-7所示所示第50页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程51/1383.3.2 if-else语句语句 第51页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程52/1383.3.2 if-else语句语句 相应程序如下:相应程序如下:1/*计算平方根计算平方根*/2

31、 import javax.swing.JOptionPane;3 public class print_Root4 5 public static void main(String args)6 7 double x,y;第52页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程53/1383.3.2 if-else语句语句 8 String string_x;9 string_x=JOptionPane.showInputDialog(输入一个数输入一个数);10 x=Double.parseDouble(string_x);11 if(x=0)12 y=Math.sqrt(

32、x);13 JOptionPane.showMessageDialog(null,平方根平方根:+y,计算平方根计算平方根,JOptionPane.INFORMATION_MESSAGE);第53页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程54/1383.3.2 if-else语句语句 14 15 else16 JOptionPane.showMessageDialog(null,你输入了一个负数你输入了一个负数,计算平方根计算平方根,JOptionPane.INFORMATION_MESSAGE);17 18 第54页,本讲稿共199页楚雄师范学院计算机科学系 java

33、程序设计课程55/1383.3.2 if-else语句语句 例例3-4 使用使用if-else语句改写语句改写2.10.3节的的问题求解。节的的问题求解。解答:求解程序如下:解答:求解程序如下:1 /*求规则图形面积。规则图形包括求规则图形面积。规则图形包括2 圆、三角形、矩形和梯形等圆、三角形、矩形和梯形等*/3 import javax.swing.JOptionPane;4 public class PlaneFigureArea35 6 public static void main(String args)7 final double PI=3.14159;8 int flag;第5

34、5页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程56/1383.3.2 if-else语句语句 9 double a,b,c,S;10 String str_a=,str_b=,str_c=,str_flag,result;11 str_flag=JOptionPane.showInputDialog(0.圆圆,1.三角形三角形,2.矩形矩形,3.梯形梯形);12 flag=Integer.parseInt(str_flag);13 if(flag=0)/需要计算圆面积需要计算圆面积14 str_a=JOptionPane.showInputDialog(输入输入圆的半径圆

35、的半径);15 a=Double.parseDouble(str_a);第56页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程57/1383.3.2 if-else语句语句 16 S=a*a*PI;/计算圆面积计算圆面积17 result=所求圆面积为所求圆面积为;18 19 else if(flag=1)/需要计算三角形面积需要计算三角形面积20 str_a=JOptionPane.showInputDialog(输入三角形底边长输入三角形底边长);21 str_b=JOptionPane.showInputDialog(输输入三角形的高度入三角形的高度);22 a=Dou

36、ble.parseDouble(str_a);第57页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程58/1383.3.2 if-else语句语句 23 b=Double.parseDouble(str_b);24 S=a*b/2;/计算三角形面积计算三角形面积25 result=所求三角形面积为所求三角形面积为;26 27 else if(flag=2)/需要计算矩形面积需要计算矩形面积28 str_a=JOptionPane.showInputDialog(输输入矩形长入矩形长);29 str_b=JOptionPane.showInputDialog(输入输入矩形宽矩形

37、宽);30 a=Double.parseDouble(str_a);第58页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程59/1383.3.2 if-else语句语句 31 b=Double.parseDouble(str_b);32 S=a*b;/计算矩形面积计算矩形面积33 result=所求矩形面积为所求矩形面积为;34 35 else /需要计算梯形面积需要计算梯形面积36 str_a=JOptionPane.showInputDialog(输入梯输入梯形上底长形上底长);37 str_b=JOptionPane.showInputDialog(输输入梯形下底长入梯

38、形下底长);第59页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程60/1383.3.2 if-else语句语句 38 str_c=JOptionPane.showInputDialog(输输入梯形高入梯形高);39 a=Double.parseDouble(str_a);40 b=Double.parseDouble(str_b);41 c=Double.parseDouble(str_c);42 S=(a+b)*c/2;/计算梯形面积计算梯形面积43 result=所求梯形面积为所求梯形面积为;44 第60页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程

39、61/1383.3.2 if-else语句语句 45 JOptionPane.showMessageDialog(null,result+S,求面积求面积,JOptionPane.INFORMATION_MESSAGE);46 47 第61页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程62/1383.3.3 条件语句的嵌套条件语句的嵌套 if和和if-else本身也是本身也是Java语句,而语句,而if或或if-else语句中的语句可以是任何语句中的语句可以是任何Java语言的合法语句,语言的合法语句,所以所以if和和if-else语句中的语句也可以是语句中的语句也可以是i

40、f或或if-else语句。这种条件语句中又包含其他条件语句语句。这种条件语句中又包含其他条件语句的情形称为的情形称为嵌套条件语句嵌套条件语句。例如,下列是一条合。例如,下列是一条合法的嵌套条件语句:法的嵌套条件语句:if(a!=0)x=-b/a;System.out.println(方程的解为方程的解为:x=+x);第62页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程63/1383.3.3 条件语句的嵌套条件语句的嵌套 else/此时,此时,a等于等于0 if(b=0)/此时,此时,a等于等于0且且b等于等于0 System.out.println(方程有无穷个解方程有无穷

41、个解);else/此时,此时,a等于等于0且且b不等于不等于0 System.out.println(方程无解方程无解);第63页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程64/1383.3.3 条件语句的嵌套条件语句的嵌套 注:由于注:由于if-else语句在语法上本身是作为语句在语法上本身是作为“一一条语句条语句”来使用的,所以,上述语句中后面的花来使用的,所以,上述语句中后面的花括号可以省略,而不影响其作用,即上述语句的括号可以省略,而不影响其作用,即上述语句的另一种等价形式为:另一种等价形式为:if(a!=0)x=-b/a;System.out.println(方

42、程的解为方程的解为:x=+x);第64页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程65/1383.3.3 条件语句的嵌套条件语句的嵌套 else/此时,此时,a等于等于0 if(b=0)/此时,此时,a等于等于0且且b等于等于0 System.out.println(方程有无穷个解方程有无穷个解);else/此时,此时,a等于等于0且且b不等于不等于0 System.out.println(方程无解方程无解);当当if-else语句中语句中else后面嵌套的是后面嵌套的是if-else语句,语句,且如此嵌套多次时,其书写使用特别形式,如图且如此嵌套多次时,其书写使用特别形

43、式,如图3-8所示,其中图(所示,其中图(a)是更好的书写方法。)是更好的书写方法。第65页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程66/1383.3.3 条件语句的嵌套条件语句的嵌套 第66页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程67/1383.3.3 条件语句的嵌套条件语句的嵌套 例例3-5 使用使用if-else求解一元二次方程。求解一元二次方程。解答:所求程序如下:解答:所求程序如下:1 /*求解一元二次方程求解一元二次方程:ax2+bx+c=0*/2 import javax.swing.JOptionPane;3 public cl

44、ass quadratic_Equation24 5 public static void main(String args)6 7 double a,b,c,D,x1,x2;第67页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程68/1383.3.3 条件语句的嵌套条件语句的嵌套 8 String string_a,string_b,string_c,result;9 string_a=JOptionPane.showInputDialog(输输入方程中的二次项系数入方程中的二次项系数);10 a=Double.parseDouble(string_a);11 string

45、_b=JOptionPane.showInputDialog(输入方输入方程中的一次项系数程中的一次项系数);12 b=Double.parseDouble(string_b);13 string_c=JOptionPane.showInputDialog(输输入方程的常数项入方程的常数项);14 c=Double.parseDouble(string_c);第68页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程69/1383.3.3 条件语句的嵌套条件语句的嵌套 15 D=b*b-4*a*c;/计算根的判别式计算根的判别式16 if(D 0)/有二个不相等的实数解有二个不相

46、等的实数解17 x1=(-b+Math.sqrt(D)/(2*a);18 x2=(-b Math.sqrt(D)/(2*a);19 JOptionPane.showMessageDialog(null,方程方程+a+x*x+b+x+c+=0的解为的解为:x1=+x1+,x2=+x2,解方程解方程,JOptionPane.INFORMATION_MESSAGE);20 21 else if(D=0)/有二个相等的实数解有二个相等的实数解第69页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程70/1383.3.3 条件语句的嵌套条件语句的嵌套 22 x1=x2=-b/(2*a);

47、23 JOptionPane.showMessageDialog(null,方程方程+a+x*x+b+x+c+=0的解为的解为:x1=x2=+x1,解方程解方程,JOptionPane.INFORMATION_MESSAGE);24 25 else/即即D 0,无实数解无实数解26 JOptionPane.showMessageDialog(null,方方程程+a+x*x+b+x+c+=0无实数解无实数解,解方程解方程,JOptionPane.INFORMATION_MESSAGE);27 28 第70页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程71/1383.3.4 s

48、witch语句语句 在许多实际情况中,条件判断是有多种情形的,在许多实际情况中,条件判断是有多种情形的,如上节中如上节中PlaneFigureArea3程序。程序。Java语言描语言描述这种条件判断,除上节所述的述这种条件判断,除上节所述的if_else条件语条件语句外,还可以用专门句外,还可以用专门switch多情形条件语句,它多情形条件语句,它根据表达式可能的多种结果,将控制转到不同语根据表达式可能的多种结果,将控制转到不同语句处开始执行,其一般形式为:句处开始执行,其一般形式为:switch()case :case :第71页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课

49、程72/1383.3.4 switch语句语句 case :default:其中其中结果值的类型只能是结果值的类型只能是char、byte、short或或int型;型;、等都是常量表等都是常量表达式(即它们不能包含变量),它们应与达式(即它们不能包含变量),它们应与结果值的类型相同;结果值的类型相同;第72页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程73/1383.3.4 switch语句语句、等可以等可以是空语句、单语句或块语句;是空语句、单语句或块语句;default表示默认表示默认情形,它可以没有。情形,它可以没有。switch语句执行时,首先计算语句执行时,首先计

50、算,然后由上往下顺次与,然后由上往下顺次与比较,如果相等,比较,如果相等,则将控制转到该处,开始往下执行;一般执行到则将控制转到该处,开始往下执行;一般执行到switch语句的末尾。如果没有与之相等的语句的末尾。如果没有与之相等的,则将控制转到,则将控制转到default处开始执行;如果没有处开始执行;如果没有default,则控制转移到,则控制转移到switch语句的后一条语语句的后一条语句处。图句处。图3-9是是switch语句的执行流程图。语句的执行流程图。第73页,本讲稿共199页楚雄师范学院计算机科学系 java程序设计课程74/1383.3.4 switch语句语句 第74页,本讲

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁