《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表达式必须能求值,即按着运算符的计算法则,可以计算出表达式的值。 例如,假如int x=1,y=-2,n=10;那么,表达式 x+y+(-n)*(xy&x0?(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语句与类、对象有关,将在后面讲解。,import java.util.*; public class Li2 public static void main(String args) System.out.println(“Input two numbers:“); Scanner r=new Scanner(System.in); int x,y; x=r.nextInt(); y=r.nextInt(); if(xy) System.out.print(“第一个数大!“); else if(xy) System.out.print(“第二个数大!“); else System.out.print(“相等!“); ,2.4.1顺序结构 语句和语句块是构成Java程序的基本组成部分。 (1)语句是以分号作为结束符的一条完整命令;即表达式+分号=语句; 如: int a,b,c;/定义多个变量 ; /空语句 area=width*height;/表达式语句 (2)语句块又称为复合语句,以一对花括号为定界符形成的一个语句集合。 如: public class Birth int day; int month; int year; ,2.4 程序的控制结构,Java中的主要流程控制语句, 分支语句,用于构造分支结构的程序;关键字:if-else、switch-case; 循环语句,用于构造循环结构的程序;关键字:while、do-while、for; 跳转语句,用于构造跳转结构的程序;关键字:continue、break、return、label; 异常处理语句,用来构建程序的异常捕捉与处理机制;关键字:try-catch-finally、throw等。,2.4 程序的控制结构,如图所示,选择结构又称为分支结构,是在两种或两种以上的多条执行路径中选择一条执行的控制结构。 一、ifelse语句 格式: if(条件表达式) 语句组1; else 语句组2; ,2.4.2 选择结构程序设计,2.4 程序的控制结构,if语句的嵌套, 其语法形式如下: if(条件表达式1) 语句组1; else if(条件表达式2) 语句组2; else if(条件表达式3) 语句组3; else if(条件表达式4) 语句组4;,2.4.2 选择结构程序设计,2.4 程序的控制结构,【例】 求三个数中的最大者,import java.util.*; public class Max public static void main(String args) Scanner r=new Scanner(System.in); int x=r.nextInt(); int y=r.nextInt(); int z=r.nextInt(); System.out.println(“Max is:“+getMax(x,y,z); public static int getMax(int a,int b,int c) int max; if(ab)max=a; else max=b; if(cmax) return c; else return max; ,在ifelse语句中,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语句可以代替多个ifelse语句组成的分支结构,而switch语句从思路上显得更清晰。,2.4 程序的控制结构,2.4.2 选择结构程序设计,例:求某一年月份的天数。,public class Day public static void main(String args) int year=2012; int month=2; System.out.println(year+“的“+month+“月是“+countDay(year,month)+“ 天“); static int countDay(int year,int month) int count=0; switch(month) case 1:case 3:case 5: case 7:case 8:case 10:case 12:count=31;break;/ 大月 case 4:case 6: case 9:case 11:count=30;break;/小月 case 2:/闰月判断 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)步继续执行。,class Sum public static void main(String args) int sum=0; for (int i=1;i=10;i+) sum=sum+i; System.out.println(“110的和为:“+sum); ,2.4.3 循环结构控制,class Fact public static void main(String args) int fact=1; for (int i=1;i=5;i+) fact*=i; System.out.println(“5的阶乘为:“+fact); ,【例】1、用for语句计算110的和 2、用for语句计算5的阶乘,二、while语句 while语句的格式如下: while(条件表达式) 循环体语句; 在循环刚开始时,会计算一次“条件表达式”的值。当条件为假时,将不执行循环体,直接跳转到循环体外,执行循环体外的后续语句;当条件为真时,便执行循环体。每执行完一次循环体,都会重新计算一次条件表达式,当条件为真时,便继续执行循环体,直到条件为假才结束循环。while语句的结构如图(a)所示。 【例】 用while语句计算110的和,2.4.3 循环结构控制,class sum public static void main(String args) int sum=0,i=1; while(i=10) sum=sum+i; i+; System.out.println(“110的和为:“+sum); ,三、do-while语句 do-while语句的格式如下: do 循环体语句; while(条件表达式) do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断条件是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。 do-while语句的结构如图 (b)所示。 【例】 用do-while语句计算5的阶乘,2.4.3 循环结构控制,class fact1 public static void main(String args) int fact=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循环嵌套,【例】 计算15的阶乘,class Fact public static void main(String args) int fact=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的用法 public class tt public static void main(String args) for(int i=1;i10;i+) /内层循环的结束条件与外层循环变量有关 for(int j=1;j10;j+) if(j=i) break; System.out.print(j+“ “); /打印 System.out.println(); /换行 ,返回,显示的结果是: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 1 2 3 4 5 6 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8,/带标号的break的用法 public class tt public static void main(String args) flag: for(int i=1;i10;i+) /内层循环的结束条件

温馨提示

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

评论

0/150

提交评论