- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 数组、容器和字符串 数组 数组中的各元素必须具有相同的类型,可以是基本数据类型,也可以是类类型,甚至还可以是数组类型。 如果数组中元素的类型又是数组的话,就形成了多维数组,即数组的数组。与多维数组相对的称为一维数组。 另外,在Java中,还允许定义不规则的数组。以二维数组为例,所谓不规则数组是指各行中元素的个数不完全相同。 一维数组的说明 数组说明也称为数组定义。在数组定义中,需要指明数组元素的类型是什么, Java语言的语法规则要求数组内的各个元素必须具有相同的类型,数组元素在数组中的排列是有次序的,这个次序称为数组的下标。下标从0开始计数。 一般地,把一维数组看作是一个向量,而不是集合。 访问数组中的元素时是需要指明它的次序的,即使用数组下标来访问数组元素。 一维数组的定义 一维数组的定义格式为: 类型 数组名[ ]; 类型可以为Java中任意的数据类型, 数组名必须是一个合法的标识符, [ ]指明该变量是一个数组类型变量。在定义时,方括号中不写具体的数字。 例6-1 数组定义 char charArray[ ]; //说明一个名字为charArray的字符数组 int intArray[ ]; //说明一个名字为intArray的int型数组 myPoint points[ ]; //说明一个名字为points的myPoint型的数组 一维数组的定义 数组定义的另一种格式: 类型[ ] 数组名; 例6-2 数组的另外一种定义格式 char[ ] charArray; int[ ] intArray; myPoint[ ] points; 这两种格式的说明完全等价。 一维数组的初始化 数组定义后还不能立即使用,需要进行初始化的步骤。 数组的初始化分为静态初始化和动态初始化两种,这两种方法都可以得到数组对象。 所谓静态初始化就是在定义数组的同时,直接列出各个元素的值,系统根据这些值的个数及类型,为数组分配相应的空间,并把这个内存块的首地址记录下来。数组在内存中对应着一片连续的存储空间,在访问数组元素时可以充分利用这个特点。所以只需要记录下首地址及每个元素所占内存的大小,就可以很方便地找到数组任一个元素的存储位置了。 一维数组的初始化 例6-3 基本数据类型数组的静态初始化 int intArray1[ ]={1, 2, 3, 4}; //定义了一个含有4个元素的int型数组 int[ ] ages2 = {34, 12, 45}; //定义了一个含有3个元素的int型数组 double[ ] heights = {4.5, 23.6, 84.124, 78.2, 61.5}; //含5个双精度型元素 boolean[ ] tired = {true, false, false, true}; //含4个布尔型元素 char vowels[ ] = {a, e, i, o, u}; //含5个字符型元素 char a[ ]={A,B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z}; //英文字母数组 一维数组的初始化 动态方式中必须使用运算符new为数组分配空间,同时还可以赋初值。这和对对象的操作是类似的。 设已经定义了数组,数组初始化的格式如下: 数组名 = new 类型[数组大小]; 数组定义与初始化语句合在一起,如下所示: 类型 数组名 [ ] = new 类型[数组大小]; 类型[ ] 数组名 = new 类型[数组大小]; 一维数组的初始化 现在初始化例6-1中定义的字符数组charArray,语句如下: charArray = new char[20]; 最多含有20个字符的数组,到目前为止还没有被赋值。 动态初始化时数组元素中的初始值是何时来赋?如何来赋呢? 使用new语句创建数组后,系统自动为数组元素赋予默认值。对数值类型的元素,默认值为相应类型的0;字符串类型非常特殊,系统自动为它赋初值null。 初始化示例 例6-5 数组的默认初值 String names[ ] = new String[4]; //含4个字符串 int a[ ] = new int[3]; //含3个整型数 System.out.println(names[0]); // 输出null System.out.println(a[0]); // 输出0 例6-5中,在输出names[0]之前,程序没有显式地给它赋任何值,而是由系统给它赋了默认值,输出的结
您可能关注的文档
- 新Java 程序设计项目教程(教育部高职高专计算机教指委规划教材) 教学课件 张兴科 季昌武 项目五.ppt
- 新JavaScript程序设计基础教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 阮文江 第七章 对象编程1.ppt
- 新JavaScript程序设计基础教程 教学课件 曾海 第9章 CSS+DIV技术.ppt
- 新JavaScript脚本程序设计 教学课件 吴以欣 陈小宁 第3章 JavaScript常用内置对象.ppt
- 新Java编程与应用教程 教学课件 张莉 java_03.ppt
- 新Java编程与应用教程 教学课件 张莉 java_11.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 1_ 第7章 Java的图形与用户界面.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 第3章 类、类的继承和接口.ppt
- 新Java程序设计教程 工业和信息化普通高等教育“十二五”规划教材 教学课件 段新娥 贾宗维 2_ chap9.ppt
- 新Java程序设计教程 教学课件 杨晓燕 java9.ppt
最近下载
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案).pdf VIP
- 2024届福建省莆田市高三第二次教学质量检测二模生物试卷.doc VIP
- 电梯维修及维护人员的安全知识与技能培训课件.pptx VIP
- 小学新教育实验实施方案(详细).docx
- 23中英文双语单片机车辆防碰撞外文文献翻译:基于超声波与单片机嵌入式系统开发集成应用的汽车防撞系统设计.doc VIP
- 八年级数学上册《分式》教案教材分析.pdf VIP
- 大华DSS5000系列-客户端操作手册-.docx
- 2013款上汽通用别克君越_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 人教版数学二年级下册全册教学课件(2023年新教材).pptx
- 越人歌-钢琴伴奏谱.pdf
文档评论(0)