Java语言程序设计.ppt_第1页
Java语言程序设计.ppt_第2页
Java语言程序设计.ppt_第3页
Java语言程序设计.ppt_第4页
Java语言程序设计.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

Java 语言程序设计,第3章 基本控制结构,2019/4/23,2,上章回顾,标识符和关键字 数据类型、常量和变量 运算符和表达式,2019/4/23,3,本章总体纲要,第一部分:语句及程序结构 第二部分:顺序结构 第三部分:选择结构 第四部分:循环结构 第五部分:跳转语句,2019/4/23,4,学习目标,理解程序控制结构 掌握程序基本控制语句: 选择结构:if,switch 循环结构for,while,do-while, 了解跳转语句 break,continue.,2019/4/23,5,本章总体纲要,第一部分:语句及程序结构 第二部分:顺序结构 第三部分:选择结构 第四部分:循环结构 第五部分:跳转语句,2019/4/23,6,3.1 语句及程序结构,语句用来向计算机系统发出操作指令。 程序由一系列语句组成。 Java中常见语句有如下五种: 表达式语句: 表达式; 如:total=math+phys+chem; 空语句: ;,2019/4/23,7,语句及程序结构,复合语句: 用 “”将多条语句括起来,在语法上作为1条语句使用。 如:z=x+y; t=z/10; 方法调用语句:方法名(参数); 如:System.out.println(“Java Language”); 控制语句: 完成一定的控制功能,包括选择语句、循环语句和转移语句。如:break;,2019/4/23,8,本章总体纲要,第一部分:语句及程序结构 第二部分:顺序结构 第三部分:选择结构 第四部分:循环结构 第五部分:跳转语句,2019/4/23,9,3.2 顺序结构,顺序结构是最简单的一种程序结构,程序按照语句的书写次序顺序执行。,2019/4/23,10,例3-1:计算太阳和地球之间的万有引力,public class Force public static void main(String args) double g, mSun, mEarth, f; g=6.66667E-8; mSun = 1.987E33; mEarth = 5.975E27; f = g* mSun* mEarth /(1.495E13*1.495E13); System.out.println(“The force is “+f); ,程序运行结果如下: The force is 3.5413E27,2019/4/23,11,例3-2:将华氏温度转化为摄氏温度,public class Conversion public static void main(String args) float f, c; f=70.0f; c = 5* (f-32)/9; System.out.println(“Fahrenheit “+f); System.out.println(“Centigrade “+c); ,程序运行结果如下: Fahrenheit=70.0 Centigrade=21.11111,2019/4/23,12,例3-3:求解方程 的根x,public class Root public static void main(String args) float a, b, x; a=Float.parseFloat (args0); b=Float.parseFloat (args1); x=-b/a; System.out.println(“a=“+a); System.out.println(“b=“+b); System.out.println(“x=“+x); ,2019/4/23,13,如果在命令行键入: java Root 2.0 6.0 运行程序。2.0和6.0分别作为第1和第2个参数传递给a和b。屏幕输出结果如下: a=2.0 b=6.0 x=-3.0,2019/4/23,14,例3-3:求解方程 的根x,public class Root public static void main(String args) throws IOException float a, b,x; BufferedReader br=new BufferedReader(new InputStreamReader(System.in);/声明输入缓冲区 a=Float.parseFloat (br.readLine(); b=Float.parseFloat (br.readLine(); x =-b/a; System.out.println(“a= “+a); System.out.println(“b= “+b); System.out.println(“c= “+c); ,2019/4/23,15,本章总体纲要,第一部分:语句及程序结构 第二部分:顺序结构 第三部分:选择结构 第四部分:循环结构 第五部分:跳转语句,2019/4/23,16,3.3 选择结构,Java语句提供了两条基本的分支选择语句if和switch。if语句应用在“二选一”的条件下,而switch语句应用在“多选一”的条件下。它们都是对条件表达式进行判断,针对不同的结果,决定转向要执行的Java语句。,2019/4/23,17,3.3.1 if语句,if (布尔表达式) 语句 或者 if (布尔表达式) 语句1 else 语句2,2019/4/23,18,例3-4:通过命令行输入2个整数,输出较小者 public class MinNum public static void main(String args) int x, y, min; x=Integer.parseInt(args0); y=Integer.parseInt(args1); if(xy) min=x; else min=y; System.out.println(“x=“+x); System.out.println(“y=“+y); System.out.println(“min=“+min); ,2019/4/23,19,例3-5:求解方程 (a!=0)的根,public class Root3_5 public static void main(String args) float a, b, x; a=Float.parseFloat (args0); b=Float.parseFloat (args1); if (Math.abs(a)0.000001f) x=-b/a; System.out.println(“x=“+x); ,2019/4/23,20,if语句嵌套,if语句中可以包含if语句,形成if语句的嵌套。 if(布尔表达式1) 语句1 else if(布尔表达式2) 语句2 else if(布尔表达式n) 语句n,2019/4/23,21,例3-6 分段函数,public class Function public static void main(String args) float x, y; x=Float.parseFloat (args0); if ( x0 ,2019/4/23,22,3.3.2 Switch语句,switch(表达式) case 值1:语句块1; break; case 值2:语句块2; break; case 值n:语句块n; break; default: 语句块n+1; ,2019/4/23,23,例3-7:通过命令行输入112之间的1个整数,输出相应月份的英文单词 public class Month1 public static void main(String args) short month; month=Short.parseShort(args0); switch(month) case 1: System.out.println(“January”); break; case 2: System.out.println(“February”); break; case 3: System.out.println(“March”); break; case 4: System.out.println(“April”); break;,2019/4/23,24,case 5: System.out.println(“May”); break; case 6: System.out.println(“June”); break; case 7: System.out.println(“July”); break; case 8: System.out.println(“August”); break; case 9: System.out.println(“September”); break; case 10: System.out.println(“October”); break; case 11: System.out.println(“November”); break; case 12: System.out.println(“December”); ,2019/4/23,25,例3-8:将百分制成绩转化为优秀、良好、中等、及格和不及格的5级制成绩。,标准为: 优秀: 90100分; 良好: 8089分; 中等: 7079分; 及格: 6069分; 不及格: 60分以下。,2019/4/23,26,public class Level public static void main(String args) short newGrade, grade; grade=Short.parseShort(args0); switch (grade/10) case 10: case 9: newGrade = 1; break; case 8: newGrade = 2; break; case 7: newGrade = 3; break; case 6: newGrade = 4; break; default: newGrade = 5; ,2019/4/23,27,System.out.print(grade); switch (newGrade) case 1: System.out.println(“,优秀“); break; case 2: System.out.println(“,良好“); break; case 3: System.out.println(“,中等“); break; case 4: System.out.println(“,及格“); break; case 5: System.out.println(“,不及格“); break; ,2019/4/23,28,本章总体纲要,第一部分:语句及程序结构 第二部分:顺序结构 第三部分:选择结构 第四部分:循环结构 第五部分:跳转语句,2019/4/23,29,3.4 循环结构,循环语句的作用是在一定条件下,反复执行一段程序代码,被反复执行的程序称为循环体。 Java提供的循环语句有:while语句、dowhile语句和for语句。,2019/4/23,30,3.4.1 while语句,while(布尔表达式) 循环体 含义:布尔表达式表示循环执行的条件;循环体可以是一条简单语句,也可以是复合语句;当布尔表达式为true时,重复执行循环体。,2019/4/23,31,例3-9:计算10!,public class Factorial public static void main(String args) int i; double s; i=1; s=1; while (i=10) s=s*i; i=i+1; System.out.println(“10!=“+s); ,2019/4/23,32,3.4.2 dowhile语句,Do 循环体 while(布尔表达式); 含义:重复执行循环体,直到布尔表达式为false。至少执行一次循环体。,2019/4/23,33,例3-10:计算1+3+5+99,public class Sum1 public static void main(String args) int i=1, s=0; do s=s+i; i=i+2; while (i100); System.out.println(“sum=“+s); ,2019/4/23,34,例3-11:计算150之间的奇数和与偶数和,public class Sum2 public static void main(String args) int i,oddSum,evenSum; i=1; oddSum=0; evenSum=0; do if(i%2=0) /如果i是偶数 evenSum+=i; /求偶数和,2019/4/23,35,else /如果i是奇数 oddSum+=i; /求奇数和 i+; while(i=50); /判断i的值是否在150之间 System.out.println(“Odd sum=“+oddSum); System.out.println(“Even sum=“+evenSum); ,2019/4/23,36,3.4.3 for语句,for(表达式1;表达式2;表达式3) 循环体 表达式1:循环初值; 表达式2:布尔表达式,判断循环是否继续; 表达式3:修改循环变量值。,2019/4/23,37,例3-12:计算1100之间的整数和,public class Sum3 public static void main(String args) int i, s=0; for (i=1; i=100; i+) s+=i; System.out.println(“sum=“+s); ,2019/4/23,38,例3-13:求Fibonacci数列中的前20项,public class Fibonacci public static void main(String args) long f1=1, f2=1; for (int i=1; i=10; i+) System.out.print(f1+“ “+f2+“ “); f1=f1+f2; f2=f1+f2; ,2019/4/23,39,例3-14: 判断素数,素数是指除1及自身外,不能被其它数整除的自然数。对于一个自然数k,需要使用2k-1之间的每个整数进行测试,如果不能找到一个整数i,使k能被i整除,则k是素数;如果能找到某个整数i,使k能被i整除,则k不是素数。,2019/4/23,40,public class Prime public static void main(String args) short i, k; k=Short.parseShort(args0); for (i=2; i=k-1; i+) if (k % i=0) break; if (i=k) System.out.println(k+“ is a prime.“); else System.out.println(k+“ is not a prime.“); ,2019/4/23,41,3.4.4 多重循环,如果循环语句的循环体中又包含循环语句,就形成多重循环结构,称为循环嵌套。 例如: for( ; ; ) /外循环开始 . for( ; ; ) /内循环开始 /内循环结束 while(condition) /内循环开始 . /内循环结束 /外循环结束,2019/4/23,42,例3-15: 计算输出1!,2!,5!以及它们的和。,public class Factorials public static void main(String args) int i, j; long s = 0, k; for (i = 1; i = 5; i+) /外循环开始 k = 1; for (j = 1; j = i; j+) /内循环开始 k = k * j; /内循环体,内循环结束 System.out.println(i + “!=“ + k); s = s + k; /外循环结束 System.out.println(“Total sum=“ + s); ,2019/4/23,43,例3-16: 求250之间的所有素数。,public class Primes public static void main(String args) final int MAX=50; int i, k; boolean yes; for(k=2; kMAX; k+) yes=true; i=2;,2019/4/23,44,while (i=k-1 ,2019/4/23,45,本章总体纲要,第一部分:语句及程序结构 第二部分:顺序结构 第三部分:选择结构 第四部分:循环结构 第五部分:跳转语句,2019/4/23,46,跳转语句,break语句:使程序的流程从一个语句块内部跳转出来。通常在switch和循环语句中使用。 continue语句:只在循环语句中使用。其作用是终止当前这一轮的循环,跳过本轮循环剩余的语句,直接进入下一轮循环。,2019/4/23,47,break 语句,break 语句:提前结束循环。 用法一:,do 程序语句1; if (条件2) break; 程序语句2; while (条件1);,2019/4/23,48,break 语句例子:,int limit = 20 ; /Sum from 1 to this value int sum = 0 ; /Accumulate sum in this variable int i = 1 ; /Loop counter while (i =100) break; sum += i+; System.out.println (“sum=” + sum);,2019/4/23,49,break 语句,用法二:,标号:do 程序语句; if (条件2) break 标号; 程序语句; while (条件1);,2019/4/23,50,break 语句例子:,int limit = 20 ; /Sum from 1 to this value int sum = 0 ; /Accumulate sum in this variable int i = 1 ; /Loop counter loop:while (i =100) break loop; sum+=j; sum += i+; System.out.println (“sum=” + sum);,2019/4/23,51,continue 语句,continue 语句:跳过下面的语句,继续循环。 用法一:,While(条件1) 程序语句; if (条件2) continue; 程序语句; ,2019/4/23,52,continue 语句例子:,int limit = 20 ; /Sum from 1 to this value int sum = 0 ; /Accumulate sum in this variable int i = 1 ; /Loop counter while (i = limit ) if ( i % 3 = 0 ) i+; continue; sum += i+; System.out.println (“sum=” + sum);,2019/4/23,53,continue 语句,用法二:,标号:While(条件1) 程序语句; if (条件2) continue 标号; 程序语句; ,2019/4/2

温馨提示

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

评论

0/150

提交评论