chapter3(My--Java教案).docx

上传人:scccc 文档编号:13039552 上传时间:2021-12-12 格式:DOCX 页数:17 大小:247.01KB
返回 下载 相关 举报
chapter3(My--Java教案).docx_第1页
第1页 / 共17页
chapter3(My--Java教案).docx_第2页
第2页 / 共17页
chapter3(My--Java教案).docx_第3页
第3页 / 共17页
chapter3(My--Java教案).docx_第4页
第4页 / 共17页
chapter3(My--Java教案).docx_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《chapter3(My--Java教案).docx》由会员分享,可在线阅读,更多相关《chapter3(My--Java教案).docx(17页珍藏版)》请在三一文库上搜索。

1、第三章 程序流程设计和控制3.1 算法、伪代码和流程图1、算法:解决问题的步骤或者过程 包括:1)需要采取的各个行动 2)这些行动的顺序2、伪代码:并非真正的Java语句,而是类似Java语句,用来描述问题的求解过程 “洗澡算法”可以用伪代码来描述:1)烧水2)宽衣3)如浴4)关水3、流程图:用图解的方式描述解决某个问题所需要的步骤和顺序计算16的流程图3.2 If语句 1)if ( 条件 )语句块;意义:如果条件成立,那么就执行语句块否则不执行。举例:int choice = 1;int num = 0;if ( choice = 1 ) num = 1;System.out.print(

2、num );结果:num = 1下面给出一个完整的程序:运行结果为:choice= 1 num= 1if 的语法格式还可以是:if ( 条件 )语句块;参见教材P54 例程If2.java 2)if ( 条件 )语句块1;else 语句块2;意义:如果条件成立,那么就执行语句块1否则执行语句块2。举例:int choice = 0/1/2; /分析当choice的值分别为0、1、2,程序的结果是什么?int num = 0;if ( choice = 1 ) num = 1;else num = 2;System.out.print( num );一个完整的Java程序:运行结果:choice

3、= 1 num= 1if 的语法格式还可以是:if ( 条件 ) 语句块1; else 语句块2;举例:int num = 0;if ( choice = 1 ) num = 1; choice = 0;else num = 2; choice = 3;注意:当choice = 1时,if ( choice = 1 ) num = 1;num = 2;System.out.print( num );与if ( choice = 1 ) num = 1;elsenum = 2; System.out.print( num );区别。3)if的嵌套格式 if ( 条件1 ) 语句块1; else

4、if ( 条件2 ) 语句块2; else if ( 条件3 ) 语句块3; .一个完整的Java程序: 从中我们可以看出: if ( 条件1 ) 语句块1; else if ( 条件2 ) 语句块2;等价于 if ( 条件1 ) 语句块1; else if ( 条件2 ) 语句块2;除了在else部分嵌套一个if语句外,我们也可以在if 部分嵌套一个if语句,如:3.3 switch语句语法格式:switch ( 表达式 ) case 值1: 语句块1; case 值2: 语句块2; . case 值n: 语句块n; default: 语句块n+1;举例:int num = 0;switch

5、 ( choice ) case 1: num = 1; break; case 2: num = 2; break; default: num = 0;一个完整的Java程序:运行结果:choice = 1 choice = 1 num = 1当去掉第一个break语句后:运行结果:choice = 1 choice = 2 choice = 1 num = 23.4 循环语句1、while 语句1)语法格式: while ( 条件 ) 循环体; 意义:当条件成立,即条件为真时,反复执行循环体,当条件为假时,不再执行循环体,即退出循环体 举例: int k =3 ; System.out.p

6、rintln( “program starts!” ); while ( k > 0 ) System.out.println( k ); k = k 1; System.out.println( “program ends!” ); 运行结果为: program starts! 3 2 1 program ends!把书翻到P62,参考另外一个程序一个完整的Java程序:注意:System.out.println( num+ ) 等价于 System.out.println( num ); num+; 2)死循环如果循环不能够结束,即循环的条件总是为true,那么这就是死循环。例子:i

7、nt num = 1;while ( num < 6 ) System.out.println( num ) ;System.out.println( “program ends” );相当于while( true ) System.out.println( num ) ; 3)注意事项条件表达式的值只能是布尔类型的值,不能是其他类型的值。例如:while ( 1 ) ,在某些语言里,认为非零值即为真值,而0为假值,但在Java里是非法的。2、do while 语句1)语法格式 do 循环体; while ( 条件 ) P65图3。52)举例 int k = 0; do System.o

8、ut.println( k ); k +;while ( k <3 )System.out.println( “program ends” ); 3) 比较while 和 do while 当第一次条件成立时,两种循环没有区别;若一开始,即第一次条件不成立,那么while的循环体一次都不执行,而do while的循环体却要执行一次。 int k = 6; while ( k <6 ) System.out.println( “running” ); 对比 int k = 6;do System.out.println( “running” );while ( k <6 ) 4

9、)一个完整的Java程序 3、for 语句 1)语法格式 for ( 开始条件;结束条件;改变循环条件 ) 循环体; 2)举例 for ( k = 0 ; k < 3 ; k+ ) System.out.println( k ); 一个完整的Java程序: 3)注意事项Ø for( k = 0 ; k < 3 ; k+ ) 等价于 k = 0; for( ; k < 3 ; k+ )Ø for( ; ; ) 相当于死循环 4)与while 比较 int k = 0; while ( k < 3 ) System.out.println( k ); k

10、+;等价于for ( int k = 0 ; k < 3 ; k+ ) System.out.println( k );当不知道确切循环的次数的时候,采用while循环,否则可以采用for循环,循环次数为:结束条件 开始条件 或者结束条件 开始条件 14、循环的综合实例 运行结果:3.5 多重循环 1、什么是多重循环?一个循环里嵌套里另一个循环,而且可以继续嵌套。例如:1)while ( ) for( ; ; ) 2)for( ; ; ) do while()3)for( ; ; ) for( ; ; ) 4)for( ; ; ) for( ; ; ) while( ) while( )

11、 2、举例 1)编写一个程序,输出一个有1 组成的三角形 1 11 111 1111 11111 111111 1111111 2)把上面的问题变化一下,输出的三角形右对齐 3)螺旋输出一个n×n矩阵的元素1 8 72 9 63 4 5输出的结果为:1 2 3 4 5 6 7 8 93.6 break、continue和标号语句在循环中的作用 1、break语句:会使循环提前终止,并退出循环 for ( k = 1 ; k < 5 ; k+ ) if ( k = 3 ) break; System.out.println( k ); System.out.println( “p

12、rogram ends” ); 输出结果为:1 2 program ends 2、continue语句:会使本次循环提前结束,直接进入下一次循环 for ( k = 1 ; k < 5 ; k+ ) if ( k = 3 ) continue; System.out.println( k ); System.out.println( “program ends” ); 输出结果为: 1 2 4 5 program ends 3、具体程序例子 1) 运行结果为: num1= 1 num1= 2num1= 3num1= 4-num1= 1num1= 2-num3= 1num3= 2num3=

13、 4 2)若break、continue语句在多重循环的内层循环里,那么他们的作用范围只是在他们所属的循环中。参考教材第72页例程BreakLoop2.java 3)在程序中的某个地方加上标号,break使程序能够退出标号所在的循环 for( num = 1 ; num < 3 ; num + ) for( count = 1 ; count < 3 ; count+ ) if ( count = 2 ) break; System.out.println( “num2=” + num + “ count2=” + count ); System.out.println(“num2

14、=” + num ); 运行结果为: num2=1 count2=1 num2=1 num2=2 count2=1num2=2 loop2: for( num = 1 ; num < 3 ; num + ) for( count = 1 ; count < 3 ; count+ ) if ( count = 2 ) break loop2; System.out.println( “num2=” + num + “ count2=” + count ); System.out.println(“num2=” + num ); 运行结果为:num2=1 count2=1 这时,bre

15、ak不仅仅是退出内层循环,而是要退到loop2的位置,即连外层循环也被推出。 把程序改为: for( num = 1 ; num < 3 ; num + ) loop2: for( count = 1 ; count < 3 ; count+ ) if ( count = 2 ) break loop2; System.out.println( “num2=” + num + “ count2=” + count ); System.out.println(“num2=” + num ); 运行结果为: num2=1 count2=1 num2=1 num2=2 count2=1n

16、um2=2 与不加loop2标号的结果是一样的。把程序再改为: for( num = 1 ; num < 3 ; num + ) for( count = 1 ; count < 3 ; count+ ) if ( count = 2 ) break loop2; System.out.println( “num2=” + num + “ count2=” + count ); System.out.println(“num2=” + num ); loop2: 编译时报错: 4)在程序中的某个地方加上标号,continue使程序能够直接跳到外层循环头部 for( num = 1

17、; num < 3 ; num + ) for( count = 1 ; count < 3 ; count+ ) if ( count = 2 ) continue; System.out.println( “num2=” + num + “ count2=” + count ); System.out.println(“num2=” + num ); 运行结果为: num2=1 count2=1 num2=1 num2=2 count2=1num2=2 loop2: for( num = 1 ; num < 3 ; num + ) for( count = 1 ; count < 3 ; count+ ) if ( count = 2 ) continue loop2; System.out.println( “num2=” + num + “ count2=” + count ); System.out.println(“num2=” + num ); 运行结果为:num2=1 count2=1 num2=2 count2=1 5)阅读分析教材第74的例程BreakLoop3.java总结P75

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

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


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