Java程序设计-流程控制.ppt

上传人:scccc 文档编号:12933598 上传时间:2021-12-07 格式:PPT 页数:29 大小:114.50KB
返回 下载 相关 举报
Java程序设计-流程控制.ppt_第1页
第1页 / 共29页
Java程序设计-流程控制.ppt_第2页
第2页 / 共29页
Java程序设计-流程控制.ppt_第3页
第3页 / 共29页
Java程序设计-流程控制.ppt_第4页
第4页 / 共29页
Java程序设计-流程控制.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Java程序设计-流程控制.ppt》由会员分享,可在线阅读,更多相关《Java程序设计-流程控制.ppt(29页珍藏版)》请在三一文库上搜索。

1、单击此处编辑母版标题样式单击此处编辑母版副标题样式Java程序设计-流程控制1Java程序设计n第三章 流程控制n理解程序控制的概念n运用条件语句,使用if, switch来控制程序的不同执行路径n掌握for、while和do句型结构控制程序的循环执行n理解并能应用break和continue调整程序中的流程控制结构。n理解并使用断言对程序进行调试n掌握Java语言中不同注释形式的区别n掌握利用Scanner类实现基本的输入方法n理解并能使用System.out对象中的不同输出方法n掌握基本的编程技巧。Java程序设计-流程控制3.1 句、块和空白n构成Java程序的最小单位是类,而类则是由属

2、性和方法构成。方法代表了某个具体的能力,具体的一个方法就是由为完成某个功能而编写的若干条语句组成。Java程序设计-流程控制3.1.1 语句n在Java编程语言中,语句是一行由分号(;)终止的代码,它是一个完整的可执行单元。n 例如n totals = a + b + c + d + e + f;n 与下式相同n total = a + b + c +n d + e + f;Java程序设计-流程控制n在Java中,主要有以下的语句类型 u 声明语句uint a=0; /声明了一个整型变量uStudent stu;/声明了一个类型是Student的对象u 表达式语句 u赋值表达式,自增表达式、

3、方法调用、对象创建都可以和分号一起构成“表达式语句”uSystem.out.println(“Welcome”); /输出字符串ua=Math.abs(-3.1); /返回绝对值uvalue=100; /为变量赋值ua+; /a自增uStudent stu = new Student(“张华”); /创建一个Student类的实例,实例引用名为stuu 控制语句Java程序设计-流程控制3.1.2 语句块n一个块(block)或一个复合语句是以上括号和下括号 为边界的语句集合;n块语句也被用来组合属于某个类的语句。n语句块可被嵌套。n/ a block 语句 uu x = y + 1;u y

4、= x + 1;u Java程序设计-流程控制n/类声明所包含的块语句 npublic class MyDate n int day;n int month;n int year;nJava程序设计-流程控制n/ 一个嵌套块语句的例子nwhile ( i large ) /循环语句快开始,用表示n a = a + i; -n if ( a = max ) /判断语句快开始,用表示n b = b + a;n a = 0;n /判断语句块结束,用表示 n /循环语句快结束,用表示Java程序设计-流程控制3.1.3空白n在源代码元素之间允许空白,空白的数量不限。空白(包括空格、tabs和新行)可以

5、改善你的对源代码的视觉感受。u uint x;ux = 23 + 54;un u u int xu x = 23 + 54;u Java程序设计-流程控制3.2逻辑判断和循环控制n程序控制可以定义为对程序语句的执行顺序进行的规定。nJava提供了条件语句在两种或更多的情况中做出选择,根据情况执行不同的程序语句;nJava也提供了更有效的循环语句以控制那些需要重复执行的语句。 Java程序设计-流程控制3.2.1 条件判断与决策 n1 if, else语句uif (布尔表达式)u 语句或块;u else u 语句或块;u Java程序设计-流程控制n嵌套的 if ,elseuif (布尔表达式)

6、u 语句或块;u else if(布尔表达式) u 语句或块;u elseu 语句或块;u Java程序设计-流程控制n2 switch语句n switch语句允许程序员更多情况下选择不同的程序逻辑,当情况发生时,按照事先准备好的方法执行。switch语句的句法是:u switch (expr1)u case expr2:u statements;u break;u case expr3:u statements;u break;u default:u statements;u Java程序设计-流程控制n在switch (expr1) 语句中,expr1必须与int类型是赋值兼容的;byte

7、, short或char类型可被升级;不允许使用浮点或long表达式。n变量或表达式的值不能与任何case值相匹配时,可选缺省符(default)指出了应该执行的程序代码。n如果没有break语句作为某一个case代码段的结束句,则程序的执行将继续到下一个case,而不检查case表达式的值。n在switch (expr1) 语句中,expr1也可以是枚举类型npublic enum Month JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER Jav

8、a程序设计-流程控制3.2.2 循环n循环语句使语句或块的执行得以重复进行。Java编程语言支持三种循环构造类型:for, while和do 循环。nfor和while循环是在执行循环体之前测试循环条件,而do 循环是在执行完循环体之后测试循环条件。这就意味着for和while循环可能连一次循环体都未执行, 而do循环将至少执行一次循环体。 Java程序设计-流程控制nfor循环的句法是:u for (init_expr; boolean testexpr; alter_expr)ustatement or blocku u 例如:u for (int i = 0; i 10; i+) uSy

9、stem.out.println(i = +i);u Java程序设计-流程控制n增强的for循环upublic class ForEnhancedDemo u public static void main(String args) u int arrayOfInts = 32, 87, 3, 589, 12,u 1076, 2000, 8, 622, 127 ;u for (int element : arrayOfInts) u System.out.print(element + );u u System.out.println();u u Java程序设计-流程控制nwhile循环u

10、 while循环的句法是:u while (布尔表达式) u 语句或块 u u 例如:u int i = 0;u while (i 10) uSystem.out.println(i = + i); ui+; u u System.out.println(Finally!);Java程序设计-流程控制ndo循环u do循环的句法是:u do u 语句或块;u while (布尔测试)u 例如:u int i = 0;u do uSystem.out.println(i = +i); ui+; u while (i 10); u System.out.println(Finally!); Jav

11、a程序设计-流程控制3.2.3 跳转n下列语句可被用在更深层次的控制循环语句中:ubreak 标注;ucontinue标注;ulabel: 语句;nbreak语句被用来从switch语句、for语句等循环语句的块中退出到预先设定的label处。ncontinue语句被用来略过并跳到循环体的结尾。nLabel: 被用来标识循环构造的复合语句。当程序运行到break 标注处时,程序跳出整个循环体的结尾处。Java程序设计-流程控制nloop: while (true) ufor (int i=0; i 2)u if ( y 2)u int z = x + y;u System.out.printl

12、n(“z is ” + z); u else u System.out.println(“x is ” + x); u Java程序设计-流程控制n指出输出结果u x = 2;u y = 3;u if( x 2)u if ( y 2)u int z = x + y;u System.out.println(“z is ” + z); u u else u System.out.println(“x is ” + x); u Java程序设计-流程控制n执行下列switch语句后y是多少?n x = 3;n switch (x + 3)n case 6: y =1;n default: y +

13、= 1; n Java程序设计-流程控制n下面循环输出i+4值的程序有什么错误upublic class ShowErrorsu public static void main(String args)u for(int i=0;i10;i+);u System.out.println(i+4);u uJava程序设计-流程控制基本的输入输出控制 n控制台的输入 表3-2 Scanner类nextByte()将输入信息的下一个标记扫描为一个 byte。nextDouble()将输入信息的下一个标记扫描为一个 doublenextFloat()将输入信息的下一个标记扫描为一个 floatnext

14、Int()()将输入信息的下一个标记扫描为一个 intnextLine()此扫描器执行当前行,并返回跳过的输入信息nextLong()将输入信息的下一个标记扫描为一个 longnextShort()将输入信息的下一个标记扫描为一个 shortJava程序设计-流程控制n Scanner reader =new Scanner(System.in);n程序Java程序设计-流程控制字符界面的输出 nprint uprint是PrintStream类提供的一种输出方法,支持boolean、char、char、double、float、int、long、short、String、Object的直接输

15、出nprintln uprintln方法不同于print的主要之处在于将输出信息打印完之后,还要写出行分割字符串,默认情况下,这个行分割字符串是n,即输出一个换行回车。 nPrintfuprintf则是一种格式化输出,类似于c语言的printf(),实现了对布局对齐和排列的支持,以及对数值、字符串和日期/时间数据的常规格式和特定于语言环境的输出的支持 Java程序设计-流程控制表3-2 主要的对应格式转换 参数类别 说明 b, B 常规 如果参数 arg 为 null,则结果为 false。如果 arg 是一个 boolean 值或 Boolean,则结果为 String.valueOf()

16、返回的字符串。否则结果为 true。 h, H 常规 如果参数 arg 为 null,则结果为 null。否则,结果为调用 Integer.toHexString(arg.hashCode() 得到的结果。 s, S 常规 如果参数 arg 为 null,则结果为 null。如果 arg 实现 Formattable,则调用 arg.formatTo。否则,结果为调用 arg.toString() 得到的结果。 c, C 字符 结果是一个 Unicode 字符 d 整数 结果被格式化为十进制整数 o 整数 结果被格式化为八进制整数 x, X 整数 结果被格式化为十六进制整数 e, E 浮点 结果被格式化为用计算机科学记数法表示的十进制数 f 浮点 结果被格式化为十进制数 g, G 浮点 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。 a, A 浮点 结果被格式化为带有效位数和指数的十六进制浮点数 t, T 日期/时间 日期和时间转换字符的前缀。请参阅日期/时间转换。 % 百分比 结果为字面值 % (u0025) n 行分隔符 结果为特定于平台的行分隔符 Java程序设计-流程控制

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1