Java 2简明教程(第2版) 教学课件 ppt 作者 Java2-3

上传人:E**** 文档编号:89346043 上传时间:2019-05-23 格式:PPT 页数:28 大小:102.50KB
返回 下载 相关 举报
Java 2简明教程(第2版) 教学课件 ppt 作者 Java2-3_第1页
第1页 / 共28页
Java 2简明教程(第2版) 教学课件 ppt 作者 Java2-3_第2页
第2页 / 共28页
Java 2简明教程(第2版) 教学课件 ppt 作者 Java2-3_第3页
第3页 / 共28页
Java 2简明教程(第2版) 教学课件 ppt 作者 Java2-3_第4页
第4页 / 共28页
Java 2简明教程(第2版) 教学课件 ppt 作者 Java2-3_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《Java 2简明教程(第2版) 教学课件 ppt 作者 Java2-3》由会员分享,可在线阅读,更多相关《Java 2简明教程(第2版) 教学课件 ppt 作者 Java2-3(28页珍藏版)》请在金锄头文库上搜索。

1、第3章 控制语句,28,2,本章主要讲述内容,Java的分支语句; 循环控制语句; break和continue语句; 带标号的break和continue语句。,28,3,3.1 分支语句,if-else语句; switch-case语句 。,28,4,3.1.1 if 语句,if语句的语法格式 同C/C+; 条件表达式必须是布尔类型,例如:,下面的写法在C/C+中是合法的,但在Java中却是非法的 : int i=10; if ( i ) .,程序3-1描述了用applet从文本框获取数据,然后将比较的结果显示出来。 / 程序 3-1 import java.awt.*; import j

2、ava.applet.*; public class compareNumbers extends Applet Label lab1,lab2; TextField input1,input2; int num1,num2;,public void init( ) lab1=new Label(“输入第1个整数“); input1=new TextField(10); lab2=new Label(“输入第2个整数“); input2=new TextField(10); add(lab1); add(input1); add(lab2); add(input2); ,public bool

3、ean action(Event e , Object o) if (e.target=input1 | e.target=input2) num1=Integer.parseInt(input1.getText( ); num2=Integer.parseInt(input2.getText( ); if(num1num2) showStatus(num1+“ “+num2); else showStatus(num1+“ = “+num2); return true; ,28,8,3.1.2 switch 语句,switch语句的语法结构 同C/C+; switch后面的表达式类型必须是字

4、符类型或整形 ; case后面的常量不能重复 ;,28,9,3.1.2 switch 语句(续),对程序3-2 的提示:(char)(Math.random( )*26+a) 是产生一个a z之间的随机字符; 程序3-3采用小程序实现将学生的百分制成绩转换为优、良,中、及格和不通过五个等级:,/ 程序3-3 import java.awt.*; import java.applet.*; public class scoreConvert extends Applet Label prompt; TextField input; int Excellent,Good,Middle,Pass,F

5、ailure;,public void init( ) prompt=new Label(“输入成绩“); input=new TextField(2); add(prompt); add(input); public void paint(Graphics g) g.drawString(“各等级的人数:“,25,40); g.drawString(“优秀 : “+Excellent,25,55); g.drawString(“良好 : “+Good,25,70); g.drawString(“中等 : “+Middle,25,85); g.drawString(“及格 : “+Pass,2

6、5,100); g.drawString(“不通过: “+Failure,25,115); ,public boolean action(Event e , Object o) int score=Integer.parseInt(o.toString( ) ; showStatus(“); input.setText(“); switch(score/10) case 10: case 9: Excellent+; break; case 8: Good+; break; case 7: Middle+; break; case 6: Pass+; break; case 5: case 4

7、: case 3: case 2: case 1: case 0: Failure+; break; default: showStatus(“输入有误,重新输入!“); repaint( ); return true; ,28,13,程序3-3需要注意的地方,在action()方法中调用的repaint( )方法,是一个系统方法,它具有自动调用paint( )方法的能力,从而实现对网页的刷新。,28,14,3.2 循环控制语句,Java中的循环控制语句有三种,分别是:while,do-while和for语句; 循环体内的语句会反复执行,直到控制布尔表达式的值变为false为止。,28,15,

8、3.2.1 while语句,while语句格式: while ( Boolean-Expression ) StatementS 程序示例3-4 略,28,16,3.2.2 do-while语句,do-while语句的语法格式如下: do Statement while (Boolean-Expression ) ; 程序3-5 如下:,/ 产生一个大于0.9的随机数为止 public class GenerateDoubleNumbers public static void main(String args ) double d; do d=Math.random( ); System.o

9、ut.println(d); while (d0.9); ,28,18,3.2.3 for语句,for语句语法格式如下: for ( ForInitopt ; Boolean-Expression ; ForUpdateopt ) Statement,/ 程序3-6输出一个?三角形 public class printGraphics extends Applet public void paint(Graphics g) int xpos,ypos=0; for(int row=6;row=1;row-) xpos=25; ypos+=15; for(int column=1;column=

10、row;column+) g.drawString(“*“,xpos,ypos); xpos+=7; ,28,20,3.3 break语句和continue语句,不带标号的break和continue语句; 带标号的break和continue语句。,28,21,3. 3.1 不带标号的break语句和continue语句,break语句可以跳出包含它的最内层的循环,不再执行剩余的语句; continue语句停止执行当前的循环,回到循环处,开始执行下一轮的循环。这些特性和C/C+的功能一样。,28,22,3. 3.2 带标号的break语句和continue语句,当在循环中执行带标号的brea

11、k语句时,可以立即退出任意多个嵌套循环。语法格式: break Identifier; 当在循环中执行带标号的continue语句时,可以将控制转移到标号的地方,开始下一轮的循环。语法格式:continue Identifier; 程序3-8 给出了带标号的break语句用法。,/ 程序3-8 public class hello public static void main(String args ) int i,j=0; outer: for(i=0;i3;i+) for(j=0;j5;j+) System.out.println(i+“ “+j); if(j=1) break oute

12、r; System.out.println(“最终值:“+i+“ “+j); ,程序运行结果: 0 0 0 1 最终值:0 1,如果将上述程序中的break outer修改为continue outer,再次运行该程序,结果如下: 0 0 0 1 1 0 1 1 2 0 2 1 最终值:3 1,28,25,这两个带标号语句的共同点,都必须用在循环中,用于流程控制; 执行这两个语句时,若后面还有其它语句,将不在继续执行。,28,26,这两个带标号语句在用法上的区别,continue语句的标号必须位于封闭的循环语句的前面。如下用法就是错误的:,outer: i=0; for(i=0;i3;i+) for(j=0;j3;j+) System.out.println(i+“ “+j); if(j=1) continue outer; ,28,27,用法区别(续),break语句的标号也必须位于封闭语句的前面,但不一定是循环语句。 例如:,outer : i=0; for(i=0;i3;i+) for(j=0;j3;j+) System.out.println(i+“ “+j); if(j=1) break outer; ,上机作业: P43 17,

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号