版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JAVA面向对象程序设计,第三章 控制流程,本章的内容与目标 选择结构语句 循环结构语句 跳转语句 常用java集成开发平台介绍,控制语句概述,控制语句概述 Java程序通过控制语句来执行程序流,完成一定的任务。 Java中的控制语句有以下几类: 分支语句:if-else, switch 循环语句:while, do-while, for 跳转语句:break, continue, return 例外处理语句:try-catch-finally, throw,选择结构语句,选择结构语句,条件语句 if-else 基本形式 if(boolean-expression) statement1; e
2、lse statement2; 当布尔表达式为true时,执行statement1,否则执行statement2 else为可选 良好的编程风格:if后面无论是一句还是多句代码,都加,选择结构语句,条件语句 if-else if括号中的结果应该为布尔值,否则编译不会通过 例如 int x,y=1; if(x=y) ;是错的 x与y是int类型,x=y是赋值语句,其结果不是布尔值,不能充当布尔表达式;但是 boolean x,y=true; if(x=y) ;是对的 它们的类型本身为boolean,则x=y可以充当if中的条件。,选择结构语句,条件语句 if-else if-else的嵌套 if
3、 (布尔表达式1)语句块1 else if(布尔表达式2)语句块2 else if(布尔表达式3)语句块3 空悬:在当if 子句多于else 子句时, else 子句如何跟if 子句匹配 else 默认匹配最后出现的未被匹配的if,选择结构语句,条件语句 if-else,public class Test public static void main(String args) int x,y; x=7;y=1; if(x6) if(y6) System.out.println(设备正常); else System.out.println(“设备出错”); ,public class Test
4、 public static void main(String args) int x,y; x=7;y=1; if(x6) if(y6) System.out.println(设备正常); else System.out.println(“设备出错”); ,设备出错,无输出,选择结构语句,switch开关语句 适用于单条件多分支的选择结构 格式: switch (expression)case value1 : statement1; break;case value2 : statement2; break;case valueN : statemendN; break; default
5、: defaultStatement; ,选择结构语句,switch开关语句 表达式expression的返回值类型必须是这几种类型之一:byte, short , int, char以及枚举,不能是long及浮点类型。 case子句中的值valueN必须是常量,而且所有case子句中的valueN应是不同的。 default子句可选,expression不与任何case相等时执行 break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行 一些罕见的情况下,多个不同的case值要执行一组相同的操作,这时可以不用break,选择结构语句,编程练习 以
6、下程序的输出,循环结构语句,循环结构语句,Java中提供的循环语句 while do while for,循环结构语句,while循环 基本结构: while (布尔表达式) 循环体 执行顺序: 先判断布尔表达式的值 若为假跳过循环体,执行后面的语句; 若为真则执行循环体,再返回判断布尔表达式的值,循环结构语句,while循环 以下程序的输出 Math.random()产生一个0-1之间的随机数,double类型,循环结构语句,do-while循环 基本结构: do 循环体 while (布尔表达式) 执行顺序: 先执行循环体,再判断布尔表达式的真假,循环结构语句,do-while循环 编程练
7、习:利用do-while循环输出1-100之间的所有质数(素数),循环结构语句,do-while与while 说明 循环条件的值必须是布尔值,不能是算术值 do-while与while的区别在于, do-while的循环体至少执行一次 循环体中应包含循环变量控制语句,否则会造成死循环 实际应用中。while比do-while更常用一些,循环结构语句,for 循环 基本结构 for(表达式1;表达式2; 表达式3) 循环体 表达式1为初始条件,表达式2为结束条件,表达式3为循环变量控制 执行顺序如右图,循环结构语句,for 循环 for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如
8、果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。 初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。 在初始化部分和迭代部分可以使用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。 如果循环变量在for中定义,变量的作用范围仅限于循环体内,循环结构语句,for 循环 以下程序的输出,循环结构语句,for 循环 编程练习:公鸡5元/只,母鸡3元/只,小鸡3只/元,问100元买100只鸡,公鸡、母鸡、小鸡各多少只,循环结构语句,for 循环的增强和扩充 为更好的遍历数组,for循环进行了增强和扩充 格式: fo
9、r( 声明循环变量:数组名) 含义:循环变量依次取数组中的每一个元素的值,执行循环体 注意:循环变量类型为数组元素的类型 例: for (int i:a) ; i是循环变量,a是数组名,循环结构语句,for 循环 写出以下程序的等价for循环形式,循环结构语句,for 循环的增强和扩充 for 循环针对枚举类型进行了扩充 枚举类型可用以下形式返回一个数组,该数组元素对应于枚举类型中的常量 枚举类型名.values(); 例: enum Season春,夏,秋,冬 Season a=Season.values();,循环结构语句,for 循环的增强和扩充 以下程序的输出,跳转语句,跳转语句,跳转
10、语句 跳转语句的功能是改变程序当前的执行流程。 Java语言提供了4种转移语句:break,continue,return和throw。 break语句可以独立使用,而continue语句只能用在循环结构的循环体中。,跳转语句,break语句 强制退出 通常有下述不带标号和带标号的两种形式: break; break Lab; 其中:break是关键字;Lab是用户定义的标号。 标号Lab: 满足java合法标识符的定义 语句加标号的格式为: Lab:语句,跳转语句,break语句 break语句用在switch语句中,其作用是强制退出switch结构,执行switch结构后的语句。 brea
11、k语句用在单层循环结构的循环体中,其作用是强制退出循环结构。 若程序中有内外两重循环,而break语句写在内循环中,则执行break语句只能退出内循环。 break lab语句用在循环语句中,必须在外循环入口语句的前方写上lab标号,可以使程序流程退出标号所指明的外循环。,跳转语句,break语句 以下程序的输出,跳转语句,continue语句 continue语句只能用于循环结构中,其作用是使循环短路。 它有下述两种形式: continue; 或 continue lab; 其中:continue是关键字;Lab为标号。,跳转语句,continue语句 continue语句也称为循环的短路语
12、句。用在循环结构中,使程序执行到continue语句时回到循环的入口处,执行下一次循环,而使循环体内写在continue语句后的语句不执行。 当程序中有嵌套的多层循环时,为从内循环跳到外循环,可使用带标号的continue lab语句。此时应在外循环的入口语句前方加上标号。,跳转语句,continue语句 分析右边程序的控制过程, 写出系统输出 两个红色的i+的作用?,跳转语句,return语句 return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。 返回语句有两种格式: return expression ; return; return语句通
13、常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中。,跳转语句,return语句 分析下面的代码段是否正确,跳转语句,说明 一般的continue退回当前循环的开头继续执行 一般的break会中断并跳出当前循环 带标号的continue会到达标号的位置,并继续执行后面的循环 带标号的break会中断并跳出标号所指的循环; Java尽管保留了任意跳转语句goto关键字,但不能使用,Java集成开发平台,Java集成开发平台,常见的Java开发平台 JDK Borland JBuilder Eclipse NetBeans Symantec Visual Cafe for J
14、ava Microsoft Visual J+ ,Java集成开发平台,Borland JBuilder 老牌的Java开发平台 是Borland公司开发的针对java的开发工具,对jdk做了较多的修改 JBuilder环境开发程序方便,功能强大,它是纯的Java 开发环境,适合企业的J2EE开发; 缺点是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,比较吃内存,这时运行速度显得较慢 最新版为2008版,近年来发展比较缓慢,Java集成开发平台,Eclipse 是一个免费、开放的Java可扩展开发平台 由IBM牵头发起,已经发展成为了一个包括150多家公司的Eclips
15、e联盟,其中不乏Borland、Rational Software、Red Hat及Sybase等 Eclipse本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性 许多软件开发商以Eclipse为基础开发自己的IDE,如jbuilder2006, myeclipse等 “一切接插件”,通过插件可以支持c+等其他语言的开发,Java集成开发平台,NetBeans Sun自己的开发集成环境,同样是一个免费、开源的可扩展开发平台 通过插件同样可以用于c+等其他语言的开发 与eclipse相比, 在图形界面开发方面较为方便,容易上手 近几年oracle一直在针对NetBeans持续更新,性能上比以前大有改进,最新版本7.2 本课程使用NetBeans,Java集成开发平台,NetBeans 下载地址:/ 选择容量较小的Java SE版本下载安装,Java集成开发平台,NetBeans 警告及错误提示,点击错误行,alt+enter提示,Java集成开发平台,Java代码的编写规范 有多个import语句时,先写java包(按字母先后顺序排序),后写javax(java扩展),最后写其它公司的包和自定义包。 复杂程序应注意命名规则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级下数学期末七大必考专项练习
- 2026年搞怪的心理测试题及答案
- 2026年车间无尘室测试题及答案
- 2026年和平精英测试题目及答案
- 2026年纲要上编综述测试题及答案
- 2026生物安全自查报告(3篇)
- 2026年新西兰考learner测试题及答案
- 2026年少年班天才测试题及答案
- 2026年文理思维取向测试题及答案
- (2026)学校食堂食材采购管理制度(3篇)
- 2026年四川省安全员-A证每日一练试卷1套附答案详解
- 代理记账行业内部规章制度
- 《TSG08-2026特种设备使用管理规则》培训课件
- (2025年)汽车电工电子技术试题+参考答案
- GB/T 44693.4-2026危险化学品企业工艺平稳性第4部分:开工过程管理规范
- 电梯维保工薪资奖惩制度
- 化工厂设备卫生管理制度
- 备用金借支与核销管理制度
- (2025年)南昌市红谷滩区社区工作人员《网格员》考试全真模拟易错、难点汇编题库(附答案)
- 国家管网集团安全生产管理暂行办法
- 2025年河南生地会考答案及试卷
评论
0/150
提交评论