- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
05第五课:数组
第五课:数组 学习目标 学习目标 1 数组的描述 数组是我们接触的第一个容器,数组是固定空间的容器,一但定义好大小,将不能改变。 由于JAVA中的数据类型分为两种:基本类型和引用类型。所以数组也有两种类型的:基本类型的数组和引用类型的数组(数组的数组也是引用类型的数组) 实例分析 1 问题的描述: 保存1到100之间的素数(除了1和它本身不能被其他整数整除的数) 解决方案: 1, 问题分析 2, 声明数组 3, 初始化数组 4, 放数据 5, 编写和运行 实例分析 1(续一) Step 1 : 问题分析 1到100之间的素数的问题好解决:用两个嵌套循环就可以做出来。现在的问题是用什么来放这些素数,就需要一个容器------数组。 算法: 1、素数不可被比自己小得数整除 2、可以被1和自身整除 实例分析 1(续二) Step 2 : 声明数组 语法: modifier type name[]; 或 modifier type[] name; 说明: modifier 目前可以用private,public或着默认的修饰,private是封装的访问权限。 type 可以是任何原始类型(基本类型)或其它类(引用类型)。 name:任何合法的标识符。它代表所声明属性的名称。 实例分析 1(续三) 结果: int num[]; 或 int[] num; Step 3 : 初始化数组 语法: name = new type[int]; 或 name = new type[]{}; 说明: name:任何合法的标识符。它代表所声明属性的名称。 type:可以是任何原始类型(基本类型)或其它类(引用类型)。 int: 一个整数值,数组的大小 实例分析 1(续四) 结果: num = new int[30]; 或 //初始化大小为7个 int[] num1 = new int[]{1,2,3,4,5,6,7} 实例分析 1(续五) Step 4 : 放数据 用下面的循环给数组放数据,数组的下标是从0开始的 int num = new int[30]; int k = 0;//记录数组下标 for(int i = 2; i = 100; i++) { for(int j = 2; j i;j++) { if(i%j == 0) break; } if(j == i) // 表示是素数 { num[k++] = i; } } 实例分析 1(续六) 编写和运行 * 课堂练习:斐波拉奇(Fibonacci)数列 练习描述: 斐波拉奇是中世纪数学家Fibonacci的名字命名的,他为了建立兔子数量增长模型而建了此数列,该数列可用同样于数值优化和其他很多领域。 简单的说, Fibonacci就是在数列中前2个数的和,而数列中前2个数为1。 如: 1,1,2,3,5,8,13 练习: 求10个数的斐波拉奇(Fibonacci)数列 实例分析 2 问题的描述: 数组的拷贝 解决方案: 1,问题分析 2,编写和实现 实例分析 2(续一) Step 1 : 问题分析 有时候我们需要把数据“克隆”一份,而不是复制一个变量,让两个变量来引用一个数组。保持数据的独立性。 实例分析 2(续二) Step 2 : 编写和实现 //声明数组并初始化,源数组 String str1[] = new String[]{a1,a2,a3,a4}; //拷贝的目的数组 String str2[] = new String[str1.length]; //完全拷贝,array方法参数的介绍看api System.arraycopy(str1,0,str2,0,str1.length); //打印原始数组,如果没有改变说明是两个数组 for(int i = 0; i str1.length; i++) { System.out.print(str1[i] + ); } 实例分析 3 问题的描述: 数组的数组拷贝 解决方案: 1,问题分析 2,编写和实现 实例分析 3(续一) Step 1 : 问题分析 有时候我们需要把数据“克隆“,但是象例2是一次拷贝,如果是数组的数组,那么要进行深拷贝。 实例分析 3(续二) Step 2 :编写和实现 //定义数组的数组 int[][] source = new i
文档评论(0)