基于工作过程的Java程序设计-第2章查找素数.ppt

上传人:za****8 文档编号:16904237 上传时间:2020-11-02 格式:PPT 页数:25 大小:211.50KB
收藏 版权申诉 举报 下载
基于工作过程的Java程序设计-第2章查找素数.ppt_第1页
第1页 / 共25页
基于工作过程的Java程序设计-第2章查找素数.ppt_第2页
第2页 / 共25页
基于工作过程的Java程序设计-第2章查找素数.ppt_第3页
第3页 / 共25页
资源描述:

《基于工作过程的Java程序设计-第2章查找素数.ppt》由会员分享,可在线阅读,更多相关《基于工作过程的Java程序设计-第2章查找素数.ppt(25页珍藏版)》请在装配图网上搜索。

1、第 2章 查找素数 2.1 分支语句 2.1.1再谈找两数中较大数 知识要点 语句块 简单分支语句 实例 输入两个整数,输出其中最大 数。 1详细设计 程序用 if-else语句实现分支。 2编码实现 1) 读命令行参数 args0和 args1,分别保存在 num1和 num2中 语句: num1 = Integer.parseInt(args0); num2 = Integer.parseInt(args1); 分析:因为命令行参数保存在字符串数组,所以要用 Interger.parseInt()把 args0和 args1转换成 整数后保存在变量 num1和 num2中。 2) 判断 n

2、um1和 num2中的最大数,并输出 语句: if (num1 num2) System.out.println(“The max number is: ” + num1); else System.out.println(“The max number is: ” + num2); 分析: if.else 语句根据一个表达式的值,有条件地执行一组语句。 if (condition) statement1 else statement2 参数 condition是必选项。它是一个 Boolean 表达式。如果 condition 是 true就执行 statement1,如果 conditio

3、n 是 false 时就执行 statement2。 本段程序判断 num1num2为 true就输出 num1,反之就输出 num2。 3源代码 略。 4测试与运行 5技术分析 1) 语句块 语句是指定程序做什么和程序所处理的数据元 素的基本单元。 Java语句都以分号结尾。 2) if-else语句 if-else语句根据判定条件的真假来执行两种操作 中的一种操作 。 6问题与思考 编写程序,输入一个年份,判断是否闰年。 满足下列条件之一则为闰年: 当年年份能被 4整除但不能被 100整除时为闰年。 当年份能被 400整除时,为闰年。 2008是闰年,符合第一个条件; 2000年符 合条件

4、二,所以是闰年; 1900年不符合条 件一,也不符合条件二,所以不是闰年。 2.1.2 从三个数中找出最大数 知识要点 if语句的多分支形式 实例 输入三个数,找出其中最大数。 1详细设计 程序用 if . . . else语句实现分支。 2编码实现三个变量轮流比较 语句: if (ab) if (ac) System.out.println(a); else System.out.println(c); else if (bc) System.out.println(b); else System.out.println(c); 分析:先让 a和 b比较,根据结果分为两个分支,如果 a大于

5、b,再 让 a与 c比较找出起较大数。用同样的方法处理 a小于 b的分支,可 以实现找到三个数中输出其最大数的算法。这里用到了 if的嵌套。 3源代码 略。 4测试与运行 5技术分析 如同 C/C+, Java语言的 if语句也有 3种基本 形式。 If if-else if-else if 6. 问题与思考 用多组数据测试运行本节找出三个数中最 大数的实例程序。 2.1.3 判断某年某月的天数 知识要点 switch case语句 实例 输入某年、某月,判断该月的天数。 1详细设计 程序会用 switch . . . case语句实现多路分支。 2编码实现 switch语句的结构非常清晰。每

6、一个 case分支执行 完后程序会继续下一个 case分支。所以当 month值 为 1、 3、 5、 7、 8、 10、 12时, numDays就赋值为 30。 month如果为 4、 6、 9、 11时, numDays就赋值 为 31。当 month为 2时的情况要复杂一些,这时还 要判断当年是否闰年来决定 2月的天数。 每一个 case分支执行完后,如果希望退出 switch语 句,要用 break退出,否则程序会继续执行下一个 case分支。 3源代码 略。 4测试与运行 5技术分析 1) 表达式 expr的类型只能为 byte、 short、 char和 int 这 4种之一。

7、2) 值 c1、 c2cn只能为常数或常量,不能为变量。 3) break关键字的意思是中断,指结束 switch语句, break语句为可选。 4) case语句可以有任意多句,可以不用大括号。一 旦 case匹配,就会顺序执行后面的程序代码,而不 管后面的 case是否匹配,直到遇见 break,利用这一 特性可以让好几个 case执行统一语句。 5) default语句可以写在 switch语句中的任意位置, 功能类似于 if语句中的 else执行流程。 6问题与思考 判断下面程序输出的结果,并解释为什么? public class Switch public static void m

8、ain(String args) int x = 0; switch (x) case 0: System.out.println(0); case 1: System.out.println(1); case 2: System.out.println(2); default: System.out.println(default); 2.2 循环语句 2.2.1 判断一个正整数 n是否素数 知识要点 for循环 while循环 do-while循环 递归 实例 从命令行输入一个正整数,判断是否素 数。 1详细设计 本程序在一个 while循环中查找 2,n-1是否有 n的因子。 2编码实现

9、 1) 在 2,n-1中找 n的因子 语句: while (n%j)!=0 分析: (n%j)!=0表示 j不是 n的因子, jn表示还未找完。退出循环需满足下 面条件之一,一是找到了因子,表明 n不是素数;二是还找完了都为发现 因子,表明 n是素数。 2) 输出结果 语句: if (j = n ) /没找到可以被 i整除的数 System.out.print(n+ 是素数 ); else System.out.print(n+ 不是素数 ); 分析: j不断递增,第二种方式退出后, j = n。可以用此判断 n是否素数。 3源代码 略。 4测试与运行 5技术分析 1) for循环 2) wh

10、ile循环 3) do - while 循环 4) 递归 很多实际问题都存在一种递归关系,这种关系 把一个大型复杂的问题层层转化为一个与原问 题相似的规模较小的问题来求解。 6. 问题与思考 1) 分别用 for、 do-while两种循环实现本节实 例。 2) 用递归算法实现求某整数的阶乘 n!。 3) 编写程序,计算 1-1/2+1/3-1/4. . . 1/100。 3) 编写程序,计算 1+1/3+1/5-1/7. . . 1/99。 2.2.2 查找区间内的素数 知识要点 循环的嵌套 break语句 continue语句 实例 编写程序,输出 100以内的所有素数。 1详细设计 本程

11、序用 for循环判断 1,100区间内的所有素数。 2 编码实现 语句: for (i=2; i j) j+; if (j = i ) /没找到可以被 i整除的数 System.out.print( +i); 分析:上面的程序段只能判断具体的整数 i是否素数, 要找出 2, 100区间内的所有素数,只需在该程序段外 套一个 for循环,使 i的值在 2100之间递增。 3源代码 略。 4测试与运行 5技术分析 1) 循环嵌套 当循环语句的循环体中又出现循环语句时,就 称为循环嵌套。 2) break/continue label 语句控制多重嵌套循 环的跳转 在 Java中可以使用 break/continue label 语句来 控制多重嵌套循环的跳转。 6. 问题与思考 编写程序,输出以下的三角形。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!