- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数组与枚举
第6章 数组与枚举 6.1 一维数组 6.2 多维数组 6.3 访问数组 6.4 数组实用类:Arrays 6.5 枚举 6.6 enum的构造方法 6.7 综合实例 6.1 一维数组 1.一维数组的定义 一维数组的定义格式有如下两种。 方式1:类型数组名[]; 方式2:类型[] 数组名; 其中:类型可以是Java中任意的数据类型,数组名为用户自定义的一个合法的变量名,[]指明该变量是一个数组类型变量。Java在定义数组时并不为数组元素分配内存,仅为数组名分配一个引用变量的空间。例如下面的语句: int a[]; String [] person; int b[100]; // 错误,声明数组时不能指定其长度 6.1 一维数组 2.创建一维数组对象 和创建其他Java对象一样,同样使用new关键字创建一维数组对象,格式为: 数组名 = new 元素类型 [元素个数]; 例如下面的语句: int [] Array = new int[100]; // 创建一个int型数组,存放100个int类型的数据 Java虚拟机首先在堆区中为数组分配内存空间,如图6.1所示,创建了一个包含100个元素的int型数组,数组成员都是int类型,占4个字节,因此整个数组对象在堆区中占用400个字节。之后,就要给每个数组成员赋予其数据类型的默认值,int型的默认值是0。 图6.1 一维数组的内存布局 6.1 一维数组 3.一维数组初始化 定义数组的同时也可对数组元素进行显式初始化,有动态初始化和静态初始化。静态初始化指的是在定义数组的同时就为数组元素分配空间并赋值,它的格式如下。 类型[] 数组名 = {表达式1,表达式2,…}; 或者 类型 数组名[ ] = {表达式1,表达式2,…}; Java编译程序会自动根据表达式个数算出整个数组的长度,并分配相应的空间,例如下面的语句: int[ ] Array = {1,2,3,4}; 6.1 一维数组 数组成员是引用类型的也可静态初始化,如图6.2所示。 Point[ ] pa = {new Point(1,4),new Point(3,9),new Point(15,18)}; class Point { int x,y; Point(int a,int b){ x = a; y = b; } } 图6.2 引用类型数组的内存布局 6.1 一维数组 动态初始化指的是数组定义与为数组分配空间和赋值的操作分开进行,例如下面的语句: int a[ ] = new int[3]; a[0] = 1; a[1] = 5; a[2] = 9; 同样,数组成员是引用类型的也可动态初始化,例如下面的语句: Point[ ] pa = new Point[3 ]; pa[0]= new Point(1,4); pa[1]= new Point(3,9); pa[2]= new Point(15,18); // 或采用匿名数组写法 // Point[] pa = {new Point(1,4),new Point(3,9),new Point(15,18)}; class Point { int x,y; Point(int a,int b){ x = a; y = b; } } ? 6.1 一维数组 【例6.1】 输入一组非0整数到一维数组中,设计一个Java程序,求出这一组数的平均值,并分别统计出这一组数中正数和负数的个数。 右击“TestAverage.java”,选择“Run As”→“Run Configurations”,如图6.3所示,选择Main标签页,在“Project”栏中选择“MyProject_06”,在“Main class”栏中选择“Recurrence”, 选择“Arguments”标签页,在“Program arguments”栏中输入“3 8 4 -5 6 7 8 -4 11 12”,然后单击“Run”按钮,运行程序。 程序运行结果: 图6.3 计算平均值 6.2 多维数组 1.二维数组的定义 二维数组的定义格式如下。 格式1:类型[] [] 数组名; 格式2:类型 数组名[] []; 与一维数组的情形相类似,定义二维数组时不需要给出数组大小。 int a[][]; String [][] names; int b[100][100]; // 错误,声明数组时不能指定其长度 2.创建二维数组对象 和创建一维数组一样,创建二维数组同样使用new关键字,格式如下。 数组名 = new 数组元素类型 [数组元素个数] [数组元素个数]; 例如下面的语句: int [][] a = new int[
您可能关注的文档
- 北京城及近郊区环境结构对鸟类的影响-生态学报.PDF
- 收购舒适易佰布局大家居.PDF
- 北京城镇廉租住房申请登记表.DOC
- 改作二级生物滤池.PPT
- 改变材料形状的加工法-Mipaper.PDF
- 改变线圈中的电流方向.PPT
- 化石吟是一首科学诗.PPT
- 北京小龙门森林鸟类群落划分与生态分析-生态学杂志.PDF
- 北京平原区地质剖面的初步建立——太古宙结晶基底和元-中国地质.PDF
- 搞定你的南瓜马车.PDF
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
文档评论(0)