




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习导读 数组和向量是Java语言编制程序要经常使用的数据结构,因此,熟练掌握这些数据结构是进一步学习Java程序设计的必要阶段。本章介绍Java语言中一维数组、二维数组和向量编程基础知识,为后续章节学习编程做准备。,第6章 数组及常用类,本章学习目标,掌握一维数组的定义及使用。 掌握二维数组的定义及使用。 掌握向量类的一般用法。,6.1 一维数组,数组是由一组类型相同的元素组成的有顺序的数据集合。数组中每个元素的数据类型都相同,它们可以是基本数据类型、复合数据类型和数组类型。数组中所有元素都共用一个数组名,因为数组中的元素是有序排列的,所以用数组名附加上数组元素的序号可惟一确定数组中每一个元素的位置,我们称数组元素的序号为下标。 Java数组是一个独立的对象,要经过定义、分配内存及赋值后才能使用。,数组的特点主要有以下几点: 数组中的元素类型必须相同。 数组的长度一旦指定即不能改变。 数组中的值通过数组名和下标组合起来进行访问。,6.1.1一维数组的定义 在Java中,数组可以是任何类型的原始类型或类类型,也就是说,数组元素可以是原始类型的量,也可以是某一个类的对象。 数组元素类型 数组名 ; 数组元素类型 数组名; 6.1.2 一维数组的初始化 1直接指定初值的方式 int sa=8,-11,11,92,35; 2用关键字new初始化数组 (1)先声明数组,再初始化数组。这实际上由两条语句构成,格式如下: 类型标识符 数组名 ; 数组名=new 类型标识符数组长度; (2)在声明数组的同时用new关键字初始化数组。这种初始化实际上是将上面所述的两条语句合并为一条语句。格式如下: 类型标识符 数组名 =new 类型标识符数组长度; 或 类型标识符 数组名=new 类型标识符数组长度;,6.1.3 一维数组的使用 当数组初始化后就可通过数组名与下标来引用数组中的每一个元素。一维数组元素的引用格式如下: arrayNameindex 【例6_1】在屏幕上显示出4月份的天数 【例6_2】数组的声明、初始化和其长度的测定。 6.1.4 对象数组 当数组元素的类型是某种对象类型时,则构成对象数组。因为数组中每一个元素都是一个对象,故可以使用成员运算符“”访问对象中的成员。 【例6_3】使用对象数组示例。,6.2 多维数组 Java中只有一维数组,却不存在称为“多维数组(multidimensional arrays)”的明确结构。然而对一个一维数组而言,其数组元素可以是数组,这就是概念上的多维数组在Java中的实现方法。也就是说,在Java语言中,把二维数组实际上看成是其每个数组元素是一个一维数组的一维数组。其实,这里面的最根本原因是计算机存储器的编址是一维的,即存储单元的编号从0开始一直连续编到最后一个最大的编号。在Java 中,多维数组实际上是数组的数组。定义多维数组变量要将每个维数放在它们各自的方括号中。,6.2.1 二维数组的定义 二维数组的定义与一维数组类似,只是需要给出两对方括号,其格式如下: 类型说明符 数组名 ; 或 类型说明符 数组名; 例如: int niu ; int bing; 其中:类型说明符可以是Java的基本类型、类或接口;数组名是用户遵循标识符命名规则给出的一个标识符;两个方括号中前面的方括号表示行,后面的方括号表示列。,6.2.2 二维数组的初始化 1. 静态初始化 int intArray =1,2,2,3,3,4,5; 2. 动态初始化 (1) 直接为每一维分配空间,格式如下: arrayName = new typearrayLength1arrayLength2; (2) 从最高维开始,分别为每一维分配空间: arrayName = new typearrayLength1 ; arrayName0 = new typearrayLength20; arrayName1 = new typearrayLength21; (3) 二维简单数据类型数组的动态初始化如下: int a = new int2 ; a0 = new int3; a1 = new int5; 对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。而且,必须为每个数组元素单独分配空间。,6.2.3 二维数组的使用 二维数组元素访问格式如下: 数组名行下标列下标 其中,行下标和列下标都由0开始,最大值为每一维的长度减1。 与一维数组一样,也可以用.length成员方法测定二维数组的长度,即元素的个数。只不过当使用“数组名.length”的形式测定的是数组的行数;而使用“数组名i.length”的形式测定的是该行的列数。 【例6_4】 在程序中测定数组的长度,6.3 Vector类 Java的数组具有很强的功能,但它并不总是能满足我们的要求。数组一旦被创建,它的长度就固定了。但是,有时我们在创建数组时并不确切地知道有多少项需要加进去。解决这一问题的办法是,创建一个尽可能大的数组,以满足要求,但这势必会造成空间的浪费。Java提供了一个好的办法:使用java.util包中的向量类Vector。E表示Element(泛型)。 Vector v = new Vector( ); 表示该集合只允许容纳String类型的元素。 Vector类提供了实现可增长数组的功能,随着更多元素加入其中,数组变的更大。在删除一些元素之后,数组变小。,1字段 protected int capacityIncrement (向量的大小大于其容量时,容量自动增加的量。) protected int elementCount (Vector 对象中的有效组件数。) protected Object elementData (存储向量组件的数组缓冲区。) 2构造方法 Vector( ) 构造一个空向量,使其内部数据数组的大小为 10,其标准容量增量为零。 Vector(Collection c) 构造一个包含指定集合中的元素的向量,这些元素按其集合的迭代器返回元素的顺序排列。 Vector(int initialCapacity) 使用指定的初始容量和等于零的容量增量构造一个空向量。 Vector(int initialCapacity, int capacityIncrement) 使用指定的初始容量和容量增量构造一个空的向量。 Vector运行时创建一个初始的存储容量initialCapacity,存储容量是以capacityInc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年经济师职业资格考试 经济基础知识重点难点卷
- 2025年英语专四阅读理解模拟试题 原版文章与真题风格
- 玩具生产培训知识内容课件
- 王安石详解课件
- 江西省南昌外国语学校2026届化学高一第一学期期中学业水平测试模拟试题含解析
- 玉露养殖知识培训总结
- 玉米大豆种植培训课件
- 玉米健康养生知识培训内容课件
- 2025年度豪华轿车4S店保养维修服务协议书
- 2025年度矿山采石场场地及配套设施租赁与维护管理合同
- 通信工程施工现场临时用电方案
- 宁夏2025年中国农业银行宁夏回族自治区分行春季招聘58人笔试历年参考题库附带答案详解
- 陕西省西安市高新一中、交大附中2025届高三第四次模拟考试化学试卷含解析
- 老年病科科室制度
- 机房整改方案
- 2023年福建中考语文试卷真题及答案解析
- 未成年人保护法普法宣传教育课件
- 智慧车辆管理系统解决方案
- 《泌尿系统护理》课件
- 《化工仪表知识培训》课件
- DB21T 2655-2016 花生节本增效栽培技术规程
评论
0/150
提交评论