全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素。1. 一维数组1.1 一维数组的定义type arrayName;type arrayName;其中类型(type)可以为Java中任意的数据类型,包括简单类型组合类型,数组名arrayName为一个合法的标识符,指明该变量是一个数组类型变量。第二种形式对C+开发者可能觉得很奇怪,不过对JAVA或C#这样的开发语言来说,第二种形式可能更直观,因为这里定义的只是个变量而已,系统并未对其实例化,只需指明变量的类型即可,也不需在指定数组大小。(第一种形式是不是只是为了兼容以前的习惯,毕竟C语言的影响太大了?)例如:int intArray;声明了一个整型数组,数组中的每个元素为整型数据。与C、C+不同,Java在数组的定义中并不为数组元素分配内存,因此中不用指出数组中元素个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。我们必须为它分配内存空间,这时要用到运算符new,其格式如下:arrayName=new typearraySize;其中,arraySize指明数组的长度。如:intArray=new int3;为一个整型数组分配3个int型整数所占据的内存空间。通常,这两部分可以合在一起,格式如下:type arrayName=new typearraySize;例如:int intArray=new int3;1.2 一维数组元素的引用定义了一个数组,并用运算符new为它分配了内存空间后,就可以引用数组中的每一个元素了。数组元素的引用方式为:arrayNameindex其中:index为数组下标,它可以为整型常数或表达式。如a3,bi(i为整型),c6*I等。下标 从0开始,一直到数组的长度减1。对于上面例子中的in-tArray数来说,它有3个元素,分别为:intArray0,intArray1,intArray2。注意:没有intArray3。另外,与C、C+中不同,Java对数组元素要进行越界检查以保证安全性。同时,对于每个数组都有一个属性length指明它的长度,例如:intArray.length指明数组intArray的长度。view plaincopy to clipboardprint?1 public class ArrayTest2 public static void main(String args)3 int i;4 int a=new int5;5 for(i=0;i5;i+)6 ai=i;7 for(i=a.length-1;i=0;i-)8 System.out.println(a+i+=+ai);9 10 运行结果如下:C:/java ArrayTesta4=4a3=3a2=2a1=1a0=0该程序对数组中的每个元素赋值,然后按逆序输出。1.3 一维数组的初始化对数组元素可以按照上述的例子进行赋值。也可以在定义数组的同时进行初始化。例如:int a=1,2,3,4,5;用逗号(,)分隔数组的各个元素,系统自动为数组分配一定空间。与C中不同,这时Java不要求数组为静态(static),其实这里的变量类似C中的指针,所以将其作为返回值给其它函数使用,仍然是有效的,在C中将局部变量返回给调用函数继续使用是初学者很容易犯的错误。2. 多维数组与C、C+一样,Java中多维数组被看作数组的数组。例如二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。下面我们主要以二维数为例来进行说明,高维的情况是类似的。2.1 二维数组的定义二维数组的定义方式为:type arrayName;例如:int intArray;与一维数组一样,这时对数组元素也没有分配内存空间,同要使用运算符new来分配内存,然后才可以访问每个元素。对高维数组来说,分配内存空间有下面几种方法:1. 直接为每一维分配空间,如:int a=new int23;2. 从最高维开始,分别为每一维分配空间,如:int a=new int2;a0=new int3;a1=new int3;完成1中相同的功能。这一点与C、C+是不同的,在C、C+中必须一次指明每一维的长度。2.2 二维数组元素的引用对二维数组中每个元素,引用方式为:arrayNameindex1index2 其中index1、index2为下标,可为整型常数或表达式,如a23等,同样,每一维的下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校食品卫生安全管理制度
- 北师大版小学一年级数学下册期末质量监测试题及答案
- 湖北省鄂州市2026年某中学高一入学语文分班考试真题含答案
- 黑龙江省伊春市某中学高一入学数学分班考试真题含答案
- 2026年福建社区工作者考试真题及答案
- 2025年VSAT网络管理系统合作协议书
- 老年心血管慢病运动指导师岗位招聘考试试卷及答案
- 物业高空作业安全管控合同
- 舆情分析算法优化研究
- 仓储物流作业规范与标准(标准版)
- 2026春节后复工复产安全培训第一课
- 2026湖南衡阳日报社招聘事业单位人员16人备考题库完整参考答案详解
- 2026年1月浙江省高考(首考)历史试题(含答案)
- 借款合同2026年担保协议
- 2024年河北省中考化学真题及答案解析
- 2025年职业卫生试题试题及答案
- XX公司安全生产“开工第一课”活动实施方案
- 2025川渝地区雄激素性秃发中医外治法应用专家共识解读 课件
- 2026中国医疗数据中心建设标准与云计算应用前景预测
- 监理质量评估报告(自来水)
- 解除冻结限高申请书
评论
0/150
提交评论