




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一维数组3.10数组(重点)之前在讲解数据类型的时候,java的数据类型分为基本数据类型和引用数据类型,那么实际上数组就属于数据类型,所以,在这里就首先观察一下什么叫做引用。3.10.1基本概念例如,要定义100个整形变量,按照原始的方式是:i1,i2,i3 .i100,这样做不好管理,所以,这样就可以使用数组来完成操作了,数组是一组相关的变量集合。在java中可以使用如下的语法格式定义数组:数据类型 数组名称 = new 数据类型 长度;其中,也可以将以上的语法,变为以下的形式:数据类型 数组名称 = new 数据类型 长度;只是,个人已经习惯与第一种写法,所以采用那种方式由个人自行决定。范例:定义一个整形数组。此时,数组已经声明完毕,那么下面就可以使用数组,使用的形式如下,通过“数组名称小标”的形式进行访问。在进行访问的时候一定要注意的是,下标从0开始,10个大小的数组,小标是09范例:访问数组中的一个、第三个元素。编译运行后:因为现在的都是整形数据,默认的都是0,但是在进行数组操作的时候,一定要注意,数组的下标一定绝对不能超过数组的界限,如果超过规定的界限之后,将会出现以下错误:编译运行后:出现了数组越界异常“ArraylndexxoutofBoundsException”。另外,在数组的操作中,为了方便起见,可以通过“数组.length”,取得一个数组的长度。编译运行:以上所进行的数组操作中,因为使用到了关键字“new”,所以在数组使用的时候已经为其开辟好了新的空间。数组的使用分为两个部分:1. 声明数组:声明数组的时候一般都栈内存中声明的。2. 为数组开辟空间,使用关键词new进行空间的开辟,在堆内存中声明。将以上的操作化成图形,如下所示:所以有时候,如果为了更好的观察清楚以上的图形,就可以将数组的使用分为两个步骤:1. 声明一个数组:数据类型 数组名称 = null; /因为数组是引用的数据类型,引用的数据类型默认值都是null。2. 开辟数组:数组名称 = new 数据类型长度; /使用关键字new完成。编译运行:数组声明的时候,所有的内容都是默认值0,下面想可以声明一个3个元素的数组,之后为数组里的每一个元素设置的内容都是是奇数,并通过此程序,观察内存的分配操作。编译运行:以下是定义数组的步骤:虽然现在操作的是数组名称,但是实际上是改变的都是堆内存中的内容。所以这样的操作在java中就称为引用数据类型。如果现在假设把栈内存空间保存的内容当作一个人的名字,那么堆内存实际上就表示具体的一个人,也就是说实际上在栈中存放的只是一个标记而已。所以此时,可以为一个堆内存空间同时设置多个栈的引用。之后,由数组y修改堆空间的内容。编译运行后:输出的时候发现,现在输出的是x,但是x2的内容已经改变了。因为x和y指向了同一个空间。那么这样的操作就表示引用数据类型的操作,也可以成为引用传递。重点回顾数组属于引用数据类型,使用的时候需要开辟内存空间。数组的定义格式:1. 声明时直接开辟内存空间:数据类型 数组名称 = new 数据类型 长度;数据类型 数组名称 = new 数据类型 长度;2. 分部声明:声明数组:数据类型 数组名称 = null;实例化数组:数组名称 = new 数据类型;关键字new只要一出现,则肯定表示数据类型是引用数据类型,要进行堆栈空间开辟。范例:声明一个数组。编译运行:开辟的内容都使用默认值表示,如果要想为数组的元素赋值,则需要通过下标的方式访问。编译运行后:开辟栈内存空间:int score = null;开辟栈内存空间的意义在于,就相当于表示一个人的名字。开辟堆内存:score = new int3;数组只有开辟了堆内存空间以后才可以使用。之前的代码,数组的操作属于动态初始化,因为在开辟数组的时候并不知道数组中的具体内容是多少,而只是使用了默认值表示,所以,此时可以按照如下的格式进行静态初始化操作。数据类型 数组名称 = 若干取值.;范例:使用静态初始化操作。编译运行:之前的数组都属于一维数组,在数组中使用二维数组。动态初始化:数据类型 数组名称 = new 数据类型长度;静态初始化:数据类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业技术考试套题及答案
- 网站管理授权委托协议
- 专四模拟考试题目及答案
- 专业挖掘机考试题及答案
- 安全生产费用九大类规定
- 2025年城市规划年度城市交通规划可行性研究报告
- 乡镇消防工作总结范文
- 消防安全生产月
- 2025年智能家居产品在智能家居家居健康生活方式中的应用可行性研究报告
- 环保设备购买合同协议(详细)5篇
- 《涂料树脂合成及应用》课件-04聚酯树脂
- 高三物理放射性元素的衰变省公开课一等奖全国示范课微课金奖
- 医院保洁服务投标方案(技术方案)
- 信息安全与知识产权保护课件
- 新概念英语第二册+Lesson+46+A+clear+conscience+讲义
- 【获奖教学课件】小学综合实践活动创建自己的阅读银行-“阅读存折”设计方案2
- 中北大学简介
- GB/T 5656-2008离心泵技术条件(Ⅱ类)
- 原发性肝癌规范化病理诊断指南课件
- 剑桥少儿英语三级 词汇表
- (完整版)污水处理厂施工组织设计
评论
0/150
提交评论