




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数组,2.3数组,在Java语言中,数组是一种最简单的复合数据类型(引用数据类型)。数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。数组有一维数组和多维数组。我们将在后面的课程中介绍。,2.3数组一维数组:定义,一维数组的定义方式为:typearrayName;其中类型(type)可以为Java中任意的数据类型,包括简单类型和组合类型,数组名arrayName为一个合法的标识符,指明该变量是一个数组类型变量。例如:intintArray;声明了一个整型数组,数组中的每个元素为整型数据。,我们还可以定义一个复合类型的数组,例如:DatedateArray;声明了一个容纳复合数据类型Date的数组。与C、C+不同,Java在数组的定义中并不为数组元素分配内存,因此中不用指出数组中元素的个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。必须经过初始化后,才能应用数组的元素。,2.3数组一维数组:定义,除了这种定义数组的方式之外,java语言还提供了其他的定义形式,如下所示:TypearrayName;对于以上举出的例子,我们也可以这样定义:intintArray;DatedateArray;,2.3数组一维数组:定义,一维数组定义之后,必须经过初始化才可以引用。数组的初始化分为静态初始化和动态初始化两种:静态初始化:在定义数组的同时对数组元素进行初始化,例如:intintArray=1,2,3,4;/定义了一个含有4个/元素的int型数组。,2.3数组一维数组:初始化,动态初始化:使用运算符new为数组分配空间,对于简单类型的数组,其格式如下:typearrayName=newtypearraySize;typearrayName=newtypearraySize;对于复合类型的数组,需要经过两步空间分配。首先:typearrayName=newtypearraySize;然后:arrayName0=newtype(paramList);arrayNamearraySize-1=newtype(paramList);,2.3数组一维数组:初始化,例如:StringstringArrar;/定义一个String类型的数组stringArray=newString3;/给数组stringArray分配3个应用/空间,初始化每个引用值为nullstringArray0=newString(“how”);stringArray1=newString(“are”);stringArray2=newString(“you”);,初始化各数组元素,2.3数组一维数组:初始化,当定义了一个数组,并用运算符new为它分配了内存空间后,就可以引用数组中的每一个元素了。元素的引用方式为:arrayNameindexindex为数组下标,可以是整型常数或表达式,如:arrayName1,arrayNamei,arrayName6*i等。下标是0序的,即从0开始,一直到数组长度减1。,2.3数组一维数组:引用,另外,与C、C+中不同,Java对数组元素要进行越界检查以保证安全性。同时,对于每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。,2.3数组一维数组:边界检查,publicclassArrayTestpublicstaticvoidmain(Stringargs)inti;inta=newint5;for(i=0;i=0;i-)System.out.println(a+i+=+ai);,该程序对数组中的每个元素赋值,然后按逆序输出。,2.3数组一维数组:示例,运行结果为:C:javaArrayTesta4=4a3=3a2=2a1=1a0=0,2.3数组一维数组:示例,在任何语言中,多维数组都被看作数组的数组。比如二维数组是一个特殊的一维数组,其每一个元素又是一个一维数组。我们主要以二维数组为例来说明,高维数组与此类似。,2.3数组多维数组,Stringstr=newString34;,Str0,Str1,Str2,二维数组的定义方式typearrayName;例如:intintArray;也可以采用另一种定义方式:typearrayName;与一维数组一样,这时对数组元素也没有分配内存空间,同样要使用运算符new来分配内存,然后才可以访问每个元素。,2.3数组二维数组:定义,二维数组的初始化也分为静态和动态两种。静态初始化:在定义数组的同时为数组分配空间。intintArray=1,2,2,3,3,4;不必指出数组每一维的大小,系统会根据初始化时给出的初始值的个数自动算出数组每一维的大小。,2.3数组二维数组:初始化,动态初始化:对高维数组来说,分配内存空间有下面两种方法:1.直接为每一维分配空间,如:typearrayName=newtypearraylength1arraylength2例如:inta=newint23;,2.3数组二维数组:初始化,2.从最高维开始(而且必须从最高维开始),分别为每一维分配空间,如:Strings=newString2;s0=newString2;s1=newString3;s00=newString(“Good”);s01=newString(“Luck”);s10=newString(“to”);s11=newString(“you”);s12=newString(“!”);,2.3数组二维数组:初始化,课堂练习,找出一个int数组中的平均值找出一个int数组中和平均值最接近的那个值1+1*2+1*2*3+1*2*3*4+10!,随机函数,随机数Math.random()newRandom().nex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版桥梁梁板运输工程配套设施建设与供应合同
- 纪念白求恩图文课件
- 语音管理知识培训总结课件
- 2025专卖店装修租赁经营合同
- 语言文件基础知识培训课件
- 2025合同履行规定
- 2025年解除汽车租赁合同范例
- 2025科技公司股权转让合同模板
- 营销团队激励计划设计模板
- 企业文化建设方案策划及实施跟踪工具
- 服装厂质检知识培训内容课件
- 2025年潍坊市中考物理真题卷(含答案)
- 酒管专业导论考试题及答案
- 2025外研社小学英语四年级上册单词表(带音标)
- 2025至2030中国体育赛事行业市场发展分析及发展前景与投资报告
- 重点金融政策解读
- 工贸行业安全管理和企业现场常见隐患排查解读(1)精
- 2025年注册核安全工程师执业资格考试(核安全专业实务·核技术)历年参考题库含答案详解(5套)
- 养老规划师理论知识考核试题及答案
- 燃气综合考试题及答案
- 应急预案评估管理办法
评论
0/150
提交评论