Java语言程序控制语句.ppt
《Java语言程序控制语句.ppt》由会员分享,可在线阅读,更多相关《Java语言程序控制语句.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 Java语言程序控制语句 简单语句和复合语句简单语句和复合语句简单语句和复合语句简单语句和复合语句 标准输入输出语句标准输入输出语句标准输入输出语句标准输入输出语句 3.13.1 选择语句选择语句选择语句选择语句 3.23.2 循环语句循环语句循环语句循环语句3.33.3 跳转语句跳转语句跳转语句跳转语句 数数数数 组组组组3.43.4 断言断言断言断言3.5 Java3.5 Java程序示例程序示例程序示例程序示例 简单语句和复合语句 语句是程序的基本组成单位。语句是程序的基本组成单位。1.简单语句简单语句 变量说明语句、赋值语句、方法调用语句、空语句等被称为简单语变量说明语句、赋值
2、语句、方法调用语句、空语句等被称为简单语句。句。在在JavaJava语言中,一个语言中,一个简单语句总是以分号结尾的。简单语句总是以分号结尾的。例:例:int a=1,b;/变量说明语句变量说明语句 b=2;/赋值语句赋值语句 ;/空语句空语句 System.out.print(b);/方法调用语句方法调用语句 2.复合语句复合语句 复合语句复合语句:由大括号:由大括号“”“”括起来的语句。括起来的语句。复合语句的复合语句的 内可放内可放0n0n个语句,每条语句都应该符合个语句,每条语句都应该符合JavaJava语句的语法。语句的语法。例例.if (a0).if (ab)min=b;3.1.1
3、 if 语句语句条条 件件布尔表达式布尔表达式语句语句if的后继语句的后继语句falsetrue 简单简单if语句的执行流程图语句的执行流程图 语法形式:语法形式:if (布尔表达式布尔表达式)语句语句1 else 语句语句2 注意:注意:条件必须是布尔表达式。语句条件必须是布尔表达式。语句1 1、语句、语句2 2可以是复合可以是复合语句。语句。例例.if(a0)if(check0)x1=(-b+(float)Math.sqrt(check)/(2*a);x1=(-b+(float)Math.sqrt(check)/(2*a);x2=(-b-(float)Math.sqrt(check)/(2
4、*a);x2=(-b-(float)Math.sqrt(check)/(2*a);System.out.println(x1=+x1);System.out.println(x1=+x1);System.out.println(x2=+x2);System.out.println(x2=+x2);else else /*/*请自己填写请自己填写*/*/练习:练习:编写一程序,运行后从键盘输入二个整数,输出编写一程序,运行后从键盘输入二个整数,输出 其中的最小数。其中的最小数。课堂练习:求最小数课堂练习:求最小数import java.io.*;import java.io.*;public c
5、lass Minpublic class Minpublic static void mainpublic static void main(String args)(String args)throws throws IOExceptionIOException byte buf=new byte20;byte buf=new byte20;String str;int a,b,min;String str;int a,b,min;System.out.println(System.out.println(请输入二个整数:请输入二个整数:););System.in.read(buf);Sys
6、tem.in.read(buf);/从键盘读一数字串存于从键盘读一数字串存于bufbuf中中str=new String(buf);str=new String(buf);/buf /buf 转换成字符串转换成字符串 a=Integer.parseInt(str.trim();a=Integer.parseInt(str.trim();/数字串转换成整数数字串转换成整数System.in.read(buf);str=new String(buf);System.in.read(buf);str=new String(buf);b=Integer.parseInt(str.trim();b=In
7、teger.parseInt(str.trim();min=a;min=a;if(minb)min=b;if(minb)min=b;System.out.println(System.out.println(最小数是最小数是+min);+min);3.1.2 switch 语句语句 switchswitch语句根据测试表达式的结果来执行多个可能操作中的一个,语句根据测试表达式的结果来执行多个可能操作中的一个,它的语法形式如下:它的语法形式如下:switchswitch语句的流程如下所示。语句的流程如下所示。switch(switch(测试表达式测试表达式)case case 常量常量1 1:语
8、句块:语句块1 1 break;break;case case 常量常量2 2:语句块:语句块2 2 break;break;case case 常量常量n n:语句块:语句块n n break;break;default:default:语句块语句块n+1 n+1 测试表达式语句块1break语句块2breakbreak语句块n语句块n+1后继语句常量2defaultswitch语句的流程图常量1常量n switchswitch语句中的每个语句中的每个“case“case常量常量:”:”称为一个称为一个casecase子句,代表一个子句,代表一个casecase分支的入口。分支的入口。swi
9、tch switch语句的注意点如下:语句的注意点如下:(1 1)测试表达式必须是)测试表达式必须是bytebyte、charchar、shortshort、intint类型的表达式类型的表达式,而而不能不能使用浮点类型或使用浮点类型或longlong类型类型,也也不能为一个字符串不能为一个字符串。(2 2)switchswitch语句将测试表达式的值依次与每个语句将测试表达式的值依次与每个casecase子句中的常量值相子句中的常量值相比较。如果匹配成功,则执行该比较。如果匹配成功,则执行该casecase子句中常量值后的语句,直到遇到子句中常量值后的语句,直到遇到breakbreak语句为
10、止。语句为止。(3 3)casecase子句中常量的类型必须与测试表达式的类型相容,而且每个子句中常量的类型必须与测试表达式的类型相容,而且每个casecase子句中常量的值必须是不同的。常量也可以是常量表达式子句中常量的值必须是不同的。常量也可以是常量表达式(不含变量、不含变量、方法的表达式方法的表达式)。(4 4)defaultdefault子句是可选的,当测试表达式的值与任一子句是可选的,当测试表达式的值与任一casecase子句中的值都子句中的值都不匹配时,就执行不匹配时,就执行defaultdefault后的语句。如果表达式的值与任一后的语句。如果表达式的值与任一casecase子句
11、中的子句中的值都不匹配且没有值都不匹配且没有defaultdefault子句,则程序不执行任何操作,而是直接跳出子句,则程序不执行任何操作,而是直接跳出switchswitch语句,进入后续程序段的执行。语句,进入后续程序段的执行。(5 5)breakbreak语句用来在执行完一个语句用来在执行完一个casecase分支后,使程序跳出分支后,使程序跳出switchswitch语句,语句,执行执行switchswitch语句的后续语句。因为语句的后续语句。因为casecase子句只是起到一个标号的作用,用子句只是起到一个标号的作用,用来查找匹配的入口,然后从此处开始执行,对后面的来查找匹配的入口
12、,然后从此处开始执行,对后面的casecase子句的值不再进子句的值不再进行比较,而是直接执行其后的语句。因此一般情况下,每个行比较,而是直接执行其后的语句。因此一般情况下,每个casecase分支后,分支后,要用要用breakbreak来终止后面的来终止后面的casecase分支语句的执行。分支语句的执行。(6 6)casecase分支中包括多个执行语句时,可以不用花括号括起。分支中包括多个执行语句时,可以不用花括号括起。(7 7)通过)通过if-elseif-else语句可以实现语句可以实现switchswitch语句所有的功能。但通常使用语句所有的功能。但通常使用switchswitch
13、语句更简练,且可读性强,程序的执行效率也高。语句更简练,且可读性强,程序的执行效率也高。(8 8)if-elseif-else语句可以基于一个范围内的值或一个条件来进行不同的操语句可以基于一个范围内的值或一个条件来进行不同的操作,但作,但switchswitch语句中的每个语句中的每个casecase子句都必须对应一个单值。子句都必须对应一个单值。class SwitchDemoclass SwitchDemo public static void public static void mainmain(String args)(String args)int month=7;int mont
14、h=7;String season;String season;switch(month)switch(month)case 12:case 12:case 1:case 1:case 2:case 2:season=season=冬季冬季;break;break;case 3:case 3:case 4:case 4:case 5:case 5:season=season=春季春季;break;break;case 6:case 6:case 7:case 7:case 8:season=case 8:season=夏季夏季;break;break;case 9:case 9:case 10
15、:case 10:case 11:season=case 11:season=秋季秋季;break;break;default:season=default:season=错错!;!;(month+(month+月是月是+season);+season);ss 例例.用用switchswitch语句判断一个月份属于一年中哪个季节语句判断一个月份属于一年中哪个季节(春春、夏夏、秋秋、冬冬)(方法一)(方法一)循环语句的作用是反复执行同一段代码直到满足结束条件。循环语句的作用是反复执行同一段代码直到满足结束条件。许多问题中需要用到循环控制。例如累加、累乘等。许多问题中需要用到循环控制。例如累加、累
16、乘等。Java循环语句有循环语句有while、do-while和和for三种。三种。3.2 循环语句循环语句3.2.1 while语句语句3.2.2 do-while语句语句3.2.3 for 语句语句u 循环嵌套循环嵌套循环嵌套循环嵌套 while while语句形式如下:语句形式如下:while(while(布尔表达式布尔表达式)语句语句 whilewhile语句执行的过程为:执行语句执行的过程为:执行whilewhile语句时,首先判断布尔表语句时,首先判断布尔表达式的值,当布尔表达式的值为达式的值,当布尔表达式的值为truetrue,则执行循环体,然后再判断,则执行循环体,然后再判断条
17、件,直到布尔表达式的值为条件,直到布尔表达式的值为falsefalse,停止执行语句。,停止执行语句。使用使用whilewhile语句应注意以下两点:语句应注意以下两点:(1 1)该语句是先判断后执行,若一开始条件就不成立,就不执行)该语句是先判断后执行,若一开始条件就不成立,就不执行循环体。循环体。(2 2)在循环体内一定要有改变条件的语句,否则是死循环。)在循环体内一定要有改变条件的语句,否则是死循环。whilewhile语句的流程图如下所示。语句的流程图如下所示。3.2.1 while 语句语句布尔表达式布尔表达式循环体循环体falsetrue while语句流程图class sum p
18、ublic static void main(String args)int n=100;/循环总数循环总数n=100 int i=1;/循环次数,初值为循环次数,初值为 float s=0;/和和s为实型为实型 while(i=n)/循环条件循环条件,循环总数循环总数100 s=s+1.0f/i;/s增加增加1/i,1.0f表示是表示是float型型 i+;/循环次数加循环次数加 System.out.println(s=+s);例例.用用whilewhile循环语句计算循环语句计算s=1+1/2+1/3+1/100s=1+1/2+1/3+1/100。JavaJava还提供了另一个与还提供了
19、另一个与whilewhile语句类似的语句语句类似的语句do-do-whilewhile语句。语句。do-whiledo-while语句的语法形式如下:语句的语法形式如下:dodo 语句语句 while(while(布尔表达式布尔表达式););do-whiledo-while语句执行的过程为:先执行一次循环体中的语句,然后测语句执行的过程为:先执行一次循环体中的语句,然后测试布尔表达式的值,如果布表达式的值为真,那就继续执行循环体,试布尔表达式的值,如果布表达式的值为真,那就继续执行循环体,do-whiledo-while语句将不断地测试布尔表达式的值并执行循环体中的内容,语句将不断地测试布尔
20、表达式的值并执行循环体中的内容,直到布尔表达式的值为假为止。直到布尔表达式的值为假为止。do-while do-while语句的流程图如下所示。语句的流程图如下所示。3.2.2 do-while 语句语句布尔表达式布尔表达式循环体循环体truefalseDo-while语句流程图 do-whiledo-while语句和语句和whilewhile语句的不同之处是语句的不同之处是:do-while:do-while语句总是先进入循环,语句总是先进入循环,执行一次循环体后才检测循环条件,以决定是否继续循环,执行一次循环体后才检测循环条件,以决定是否继续循环,而而while语句是语句是先测试条件,再决
21、定是否进入循环。所以,用先测试条件,再决定是否进入循环。所以,用do-while语句时,循环体至语句时,循环体至少执行一次。少执行一次。例例.用用do-whiledo-while循环语句计算循环语句计算s=1+1/2+1/3+1/4+1/100s=1+1/2+1/3+1/4+1/100。class sum class sum public static voidpublic static void main main(String args)(String args)int i=1;int i=1;/循环次数,初值为循环次数,初值为 float s=0;float s=0;/和和s s为实型为
22、实型 do do /循环条件循环条件 s=s+1.0f/i;s=s+1.0f/i;/s/s增加增加1/i,1.0f1/i,1.0f表示是表示是floatfloat型型 i+;i+;/循环次数加循环次数加 while(i=100);while(i=100);/要循环要循环100100次次 System.out.println(s=+s);System.out.println(s=+s);forfor语句是循环的另一种表示形式。语句是循环的另一种表示形式。forfor语句的语法形式为:语句的语法形式为:forfor(表达式(表达式1 1;表达式;表达式2 2;表达式;表达式3 3)语句语句 for
23、for是是forfor语句的关键字,语句为语句的关键字,语句为forfor语句的循环体,若有多个语句,语句的循环体,若有多个语句,需构成复合语句。需构成复合语句。for for语句中循环控制变量必须是有序类型,常用的有整型、字符型、语句中循环控制变量必须是有序类型,常用的有整型、字符型、布尔型。循环控制变量初值和终值通常是与控制变量类型相一致的一个布尔型。循环控制变量初值和终值通常是与控制变量类型相一致的一个常量,也可以是表达式。循环次数由初值和终值决定。执行过程:常量,也可以是表达式。循环次数由初值和终值决定。执行过程:(1 1)按表达式)按表达式1 1将初值赋给循环控制变量。将初值赋给循环
24、控制变量。(2 2)按表达式)按表达式2 2判断循环是否成立,即判断控制变量的值判断循环是否成立,即判断控制变量的值3.2.3 for 语句语句 是否越过终值(未越过终值为条件成立,越过终值为条件不是否越过终值(未越过终值为条件成立,越过终值为条件不成立),若条件不成立、转步骤(成立),若条件不成立、转步骤(6 6)。)。(3 3)若条件成立,则执行循环体。)若条件成立,则执行循环体。(4 4)按表达式)按表达式3 3修改控制变量。对于递增型为原控制变量值的后续;对修改控制变量。对于递增型为原控制变量值的后续;对于递减型为原控制变量值的前导。于递减型为原控制变量值的前导。(5 5)返回步骤()
25、返回步骤(2 2)。()。(6 6)结束循环。)结束循环。求解表达式求解表达式1表达式表达式2循环体循环体求解表达式求解表达式3for语句的下一语句语句的下一语句falsetruefor语句的流程图例例.求求FibonacciFibonacci数列的前数列的前4040个数项。个数项。Fibonacci Fibonacci数列:数列:1 1,1 1,2 2,3 3,5 5,8 8,1313,2121,3434,从数列看到:从数列看到:F1=1 F1=1 (n=1)(n=1)F2=1 (n=2)F2=1 (n=2)Fn=F Fn=Fn-1n-1+F+Fn-2n-2 (n3)(n3)forfor语句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言 程序控制 语句
限制150内