您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > linux/Unix相关 > Java语言程序设计_基础篇_中文ppt_第六章
Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321308071第6章一维数组Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321308072开放问题读取一百数字,计算它们的平均值,然后找出有多少个数大于平均值。Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321308073解决方案AnalyzeNumbersRunRunwithpreparedinputLiang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321308074学习目标描述数组在程序设计中的必要性(第6.1节)。声明数组引用变量、创建数组(第6.2.1-6.2.2节)。初始化数组中的值(第6.2.3节)。使用下标变量访问数组元素(第6.2.4节)。利用一条数组初始化语法声明、创建和初始化数组(第6.2.5节)。编写程序实现常用的数组操作(显示数组、对所有元素求和、求最大和最小元素、随意打乱、移动元素)(第6.2.6节)。使用for-each循环简化程序设计(第6.2.7)。在LottoNumbers和DeckOfCards问题中应用数组(第6.3-6.4节)。将一个数组的内容复制到另一个数组(第6.5节)。开发和调用带数组参数和返回值的方法(第6.6–6.7节)。定义带变长参数列表的方法(第6.8节)。使用线性查找算法(第6.9.1节)或二分查找算法(第6.9.2节)查找数组的元素。使用选择排序法对数组排序(第6.10.1节)。使用插入排序算法使排序数组(第6.10.2节)。使用Arrays类中的方法(第6.11节)。Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321308075介绍数组数组是一种数据结构,它表示一组相同类型的数据。5.64.53.313.2434.333445.4599.99311123double[]myList=newdouble[10];myListreferencemyList[0]myList[1]myList[2]myList[3]myList[4]myList[5]myList[6]myList[7]myList[8]myList[9]元素值数组引用变量下标5处的数组元素Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321308076声明数组变量datatype[]arrayRefVar;举例:double[]myList;datatypearrayRefVar[];//这种风格是允许的,但不推荐使用举例:doublemyList[];Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321308077创建数组arrayRefVar=newdatatype[arraySize];举例:myList=newdouble[10];myList[0]引用数组中的第一个元素。myList[9]引用数组中的最后一个元素。Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321308078一步完成声明和创建datatype[]arrayRefVar=newdatatype[arraySize];double[]myList=newdouble[10];datatypearrayRefVar[]=newdatatype[arraySize];doublemyList[]=newdouble[10];Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.01321308079数组的大小一旦数组被创建就不能再修改它的大小。可以通过使用arrayRefVar.length来求得数组的大小。举例:myList.lengthreturns10Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080710默认值当数组被创建后,它的元素被赋予默认值数值型基本数据类型的默认值是0,char类型的默认值为'\u0000',而boolean类型默认值为false。Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080711下标变量数组元素可以通过下标来访问。数组下标是基于0的,就是说它从0开始到arrayRefVar.length-1结束。在图6.1中的例子中,数组myList包含10个double值而下标是从0到9。数组中的每个元素都可以使用下面一般被称为下标变量的语法表示:arrayRefVar[index];Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080712使用下标变量创建数组后,可以采用和一般变量相同的方法使用下标变量。例如:下面的代码是将myList[0]和myList[1]的值相加赋给myList[2]。myList[2]=myList[0]+myList[1];Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080713数组初始化语法一步完成数组的声明、创建、初始化:double[]myList={1.9,2.9,3.4,3.5};这种缩略语法必须用在一条语句中。Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080714使用缩略符号声明、创建、初始化数组double[]myList={1.9,2.9,3.4,3.5};这里的缩略符号相当于以下面的语句:double[]myList=newdouble[4];myList[0]=1.9;myList[1]=2.9;myList[2]=3.4;myList[3]=3.5;Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080715注意使用缩略符号时,你必须将声明、创建和初始化数组都放在一条语句中。将它们分开会引起语法错误。例如:下面的语句就是错误的:double[]myList;myList={1.9,2.9,3.4,3.5};Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080716跟踪数组程序publicclassTest{publicstaticvoidmain(String[]args){int[]values=newint[5];for(inti=1;i5;i++){values[i]=i+values[i-1];}values[0]=values[1]+values[4];}}声明数组变量value,创建一个数组并将它的引用赋值给valuesAfterthearrayiscreated0123400000动画Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080717跟踪数组程序publicclassTest{publicstaticvoidmain(String[]args){int[]values=newint[5];for(inti=1;i5;i++){values[i]=i+values[i-1];}values[0]=values[1]+values[4];}}i变为1Afterthearrayiscreated0123400000动画Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080718跟踪数组程序publicclassTest{publicstaticvoidmain(String[]args){int[]values=newint[5];for(inti=1;i5;i++){values[i]=i+values[i-1];}values[0]=values[1]+values[4];}}i(=1)小于5Afterthearrayiscreated0123400000动画Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080719跟踪数组程序publicclassTest{publicstaticvoidmain(String[]args){int[]values=newint[5];for(inti=1;i5;i++){values[i]=i+values[i-1];}values[0]=values[1]+values[4];}}这一行被执行后,values[1]是1Afterthefirstiteration0123401000动画Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.013213080720跟踪数组程序publicclassTest{publicstaticvoidmain(String[]args){int[]values=newint[5];for(inti=1;i5;i++){values[i]=i+values[i-1];}values[0]=values[1]+values[4];}}i++后,i变
本文标题:Java语言程序设计_基础篇_中文ppt_第六章
链接地址:https://www.777doc.com/doc-7028460 .html