《Java程序基础》PPT课件.ppt_第1页
《Java程序基础》PPT课件.ppt_第2页
《Java程序基础》PPT课件.ppt_第3页
《Java程序基础》PPT课件.ppt_第4页
《Java程序基础》PPT课件.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA程序设计 第三讲Java编程序基础 教学目标 掌握Java语言三种程序控制结构 能灵活运用控制语句编写程序 教学重点 Java的选择结构和循环结构 教学难点 跳转语句 概述 结构化程序设计的三种基本流程 1 自顶向下2 逐步求精3 模块化除了以上的原则 结构化程序设计还有一个重要的规定 那就是只能使用 顺序结构 选择结构 循环结构 这三种基本结构 或由它们派生出来的结构 来定义程序的流程 三种基本流程控制结构示意图分别如下图所示 2 4程序的控制结构 一般表达式 Java的一般表达式就是用运算符及操作元连接起来的符合Java规则的式子 简称表达式 一个Java表达式必须能求值 即按着运算符的计算法则 可以计算出表达式的值 例如 假如intx 1 y 2 n 10 那么 表达式x y n x y x 0 x 1 y 的值是int型数据 结果为17 返回 语句概述 Java里的语句可分为以下5类 1 方法调用语句在第4章将介绍类 对象等概念 对象可以调用类中的方法产生行为 如 nextInt nextInt 用法举例 2 表达式语句一个表达式的最后加上一个分号就构成了一个语句 称作表达式语句 分号是语句不可缺少的部分 例如 赋值语句 x 23 3 复合语句可以用 和 把一些语句括起来构成复合语句 一个复合语句也称作一个代码块 例如 z 23 x System out println hello 4 控制语句控制语句包括 条件分支语句 循环语句和跳转语句 5 package语句和import语句package语句和import语句与类 对象有关 将在后面讲解 importjava util publicclassLi2 publicstaticvoidmain String args System out println Inputtwonumbers Scannerr newScanner System in intx y x r nextInt y r nextInt if x y System out print 第一个数大 elseif x y System out print 第二个数大 elseSystem out print 相等 2 4 1顺序结构语句和语句块是构成Java程序的基本组成部分 1 语句是以分号作为结束符的一条完整命令 即表达式 分号 语句 如 inta b c 定义多个变量 空语句area width height 表达式语句 2 语句块又称为复合语句 以一对花括号为定界符形成的一个语句集合 如 publicclassBirth intday intmonth intyear 2 4程序的控制结构 Java中的主要流程控制语句 分支语句 用于构造分支结构的程序 关键字 if else switch case 循环语句 用于构造循环结构的程序 关键字 while do while for 跳转语句 用于构造跳转结构的程序 关键字 continue break return label 异常处理语句 用来构建程序的异常捕捉与处理机制 关键字 try catch finally throw等 2 4程序的控制结构 如图所示 选择结构又称为分支结构 是在两种或两种以上的多条执行路径中选择一条执行的控制结构 一 if else语句格式 if 条件表达式 语句组1 else 语句组2 2 4 2选择结构程序设计 2 4程序的控制结构 if语句的嵌套 其语法形式如下 if 条件表达式1 语句组1 elseif 条件表达式2 语句组2 elseif 条件表达式3 语句组3 elseif 条件表达式4 语句组4 2 4 2选择结构程序设计 2 4程序的控制结构 例 求三个数中的最大者 importjava util publicclassMax publicstaticvoidmain String args Scannerr newScanner System in intx r nextInt inty r nextInt intz r nextInt System out println Maxis getMax x y z publicstaticintgetMax inta intb intc intmax if a b max a elsemax b if c max returnc elsereturnmax 在if else语句中 else部分是选择性的 经常可以看到只有if语句 而没有else语句的情况 在这种情况下 当测试条件为假时如不需做任何事 else部分可被省略 这时 其语法形式如下 if 条件表达式 语句组 其流程如图所示 2 4程序的控制结构 2 4 2选择结构程序设计 二 switch语句switch语句 又称开关语句 是和case语句一起使用的 其功能是根据某个表达式的值在多个case引导的多个分支语句中选择一个来执行 它的一般格式如下 switch 表达式 case判断值1 语句块1 break case判断值2 语句块2 break case判断值3 语句块3 break case判断值n 语句块n break default 语句块n 1 2 4程序的控制结构 2 4 2选择结构程序设计 说明 switch后面括号中表达式的值必须是符合byte char short int类型的常量表达式 而不能用浮点类型或long类型 也不能为一个字符串 一个switch语句可以代替多个if else语句组成的分支结构 而switch语句从思路上显得更清晰 2 4程序的控制结构 2 4 2选择结构程序设计 例 求某一年月份的天数 publicclassDay publicstaticvoidmain String args intyear 2012 intmonth 2 System out println year 的 month 月是 countDay year month 天 staticintcountDay intyear intmonth intcount 0 switch month case1 case3 case5 case7 case8 case10 case12 count 31 break 大月case4 case6 case9 case11 count 30 break 小月case2 闰月判断if year 4 0 2 4 3循环结构控制循环结构是程序中一种重要的基本结构 是指在一定的条件下反复执行某段程序 被反复执行的这段程序称为 循环体 Java中有三种语句来实现循环结构 分别是while do while和for语句 它们的结构分别如下图所示 2 4程序的控制结构 一 for语句for语句是三个循环语句中功能最强 使用最广泛的一个 for语句的格式如下 for 表达式1 表达式2 表达式3 循环体语句 表达式1一般是一个或多个 逗号隔开 赋值语句 它用来给循环控制变量赋初值 表达式2是一个布尔类型的表达式 它决定什么时候退出循环 表达式3一般用来修改循环变量 控制变量每循环一次后按什么方式变化 这三个部分之间用 分开 for语句的结构如图 c 所示 2 4程序的控制结构 2 4 3循环结构控制 for语句的执行过程 1 在循环刚开始时 先计算表达式1 在这个过程中 一般完成的是初始化循环变量或其它变量 2 根据表达式2的值来决定是否执行循环体 表达式2是一个返回布尔值的表达式 若该值为假 将不执行循环体 并退出循环 若该值为真 将执行循环体 3 执行完一次循环体后 计算表达式3 在这个过程中一般会修改循环变量 4 转入第 2 步继续执行 classSum publicstaticvoidmain String args intsum 0 for inti 1 i 10 i sum sum i System out println 1 10的和为 sum 2 4 3循环结构控制 classFact publicstaticvoidmain String args intfact 1 for inti 1 i 5 i fact i System out println 5的阶乘为 fact 例 1 用for语句计算1 10的和2 用for语句计算5的阶乘 二 while语句while语句的格式如下 while 条件表达式 循环体语句 在循环刚开始时 会计算一次 条件表达式 的值 当条件为假时 将不执行循环体 直接跳转到循环体外 执行循环体外的后续语句 当条件为真时 便执行循环体 每执行完一次循环体 都会重新计算一次条件表达式 当条件为真时 便继续执行循环体 直到条件为假才结束循环 while语句的结构如图 a 所示 例 用while语句计算1 10的和 2 4 3循环结构控制 classsum publicstaticvoidmain String args intsum 0 i 1 while i 10 sum sum i i System out println 1 10的和为 sum 三 do while语句do while语句的格式如下 do 循环体语句 while 条件表达式 do while循环与while循环的不同在于 它先执行循环中的语句 然后再判断条件是否为真 如果为真则继续循环 如果为假 则终止循环 因此 do while循环至少要执行一次循环语句 do while语句的结构如图 b 所示 例 用do while语句计算5的阶乘 2 4 3循环结构控制 classfact1 publicstaticvoidmain String args intfact 1 i 1 do fact fact i i while i 5 System out println 5的阶乘为 fact 1 三种循环的比较 三种循环事实上是可以互相代换的 通常 while和do while用于循环次数未确定的情况 而for用于循环条件确定的情况 从他们的执行流程可以看出 for和while可能一次也不执行 但是do while至少会执行一次 2 循环嵌套三类循环既可嵌套自身 也可互相混合嵌套 2 4 4循环嵌套 例 计算1 5的阶乘 classFact publicstaticvoidmain String args intfact 1 i 1 for i 5 i for fact 1 j 1 j i j fact j System out println i 的阶乘为 fact 思考 此处为何不用j 的阶乘为 2 4 5控制转移语句跳转语句用来实现循环执行过程中的流程转移 在switch语句中使用过的break语句就是一种跳转语句 在Java语言中 有两种跳转语句 break语句和continue语句 在Java语言中 可用break和continue控制循环的流程 其中 break用于强行退出循环 不执行循环中剩余的语句 而continue则停止执行当前的循环 开始新的循环 break语句和continue语句都有两种使用的形式 一种是不带标号的break语句和continue语句 一种是带标号的break语句和continue语句 一 不带标号的break语句和continue语句 例 使用break语句跳出循环体 例 使用continue语句终止当前循环 二 带标号的break语句和continue语句标号应该定义在某一个循环语句之前 紧靠在循环语句的前方 用来标志这个循环结构 在标号和循环之间置入任何语句都是不明智的行为 而在循环之前设置标号的唯一理由是 我们希望在其中嵌套另一个循环或者一个开关 break和continue关键字若随同标号使用 它们就会中断到存在标号的地方 例 使用break语句跳出循环体 不带标号的break的用法publicclasstt publicstaticvoidmain String args for inti 1 i 10 i 内层循环的结束条件与外层循环变量有关for intj 1 j 10 j if j i break System out print j 打印 System out println 换行 返回 显示的结果是 112123123412345123456123456712345678 带标号的break的用法publicclasstt publicstaticvoidmain String args flag for inti 1 i 10 i 内层循环的结束条件与外层循环变量有关for intj 1 j 10 j if j i breakflag System out print j 打印 System out println 换行 返回 显示的结果是 112123123412345123456123456712345678 不带标号的continue的用法publicclasstt publicstaticvoidmain String args

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论