《JAVA语言程序设计》课程教学课件(PPT讲稿)J07_数组与枚举

第7章数组与枚举 王绍卿
1 第7章 数组与枚举 王绍卿

导读 主要内容 数组的基本语法 ● 遍历数组 复制数组 排序与二分查找 枚举 难点 枚举 2025/4/2
2025/4/2 2 导读

§7.1创建数组 数组是相同类型的变量按顺序组成的一种复合数据 类型,称这些相同类型的变量为数组的元素或单元。数 组通过数组名加索引来使用数组的元素。 数组属于引用型变量,创建数组需要经过声明数组 和为数组分配变量两个步骤。 2025/4/2
2025/4/2 3 §7.1 创建数组 数组是相同类型的变量按顺序组成的一种复合数据 类型,称这些相同类型的变量为数组的元素或单元。数 组通过数组名加索引来使用数组的元素。 数组属于引用型变量,创建数组需要经过声明数组 和为数组分配变量两个步骤

§7.1.1声明数组 声明数组包括数组变量的名字(简称数组名)、数组的类型。 声明一维数组有下列两种格式: 数组的元素类型数组名: 数组的元素类型0数组名; 声明二维数组有下列两种格式: 数组的元素类型数组名0 数组的元素类型门数组名; 例如: float boy[]; char cat[][]; 注与C/C++不同,Jva不允许在声明数组中的方括号内指定数组元素的 个数。若声明:inta[12];或int[12]a,将导致语法错误。 2025/4/2
2025/4/2 4 §7.1.1 声明数组 声明数组包括数组变量的名字(简称数组名)、数组的类型。 声明一维数组有下列两种格式: 数组的元素类型 数组名[]; 数组的元素类型 [] 数组名; 声明二维数组有下列两种格式: 数组的元素类型 数组名[][]; 数组的元素类型 [][] 数组名; 例如: float boy[]; char cat[][]; 注 与C/C++不同,Java不允许在声明数组中的方括号内指定数组元素的 个数。若声明: int a[12]; 或 int [12] a; 将导致语法错误

§7.1.2 为数组分配元素一维数组 声明数组后,还必须为它分配内存空间,即创建数组。 为一维数组分配内存空间的格式如下: 数组名字=new数组元素的类型[数组元素的个数]: 例如:float boyl川,∥声明数组 boy=new float[4]; 声明数组和创建数组可以一起完成,例如: float boy=new float[4]; boy[0] 0x785BA boy[1] boy boy[2] boy[31 图7.1数组的内存模型
5 §7.1.2 为数组分配元素_一维数组 声明数组后,还必须为它分配内存空间,即创建数组。 为一维数组分配内存空间的格式如下: 数组名字 = new 数组元素的类型[数组元素的个数]; 例如:float boy[]; //声明数组 boy= new float[4]; float boy[]=new float[4];

§7.1.2 为数组分配元素二维数组 维数组和一维数组一样,在声明之后必须用new运算符为 数组分配内在空间。 例如:int mytwol如D; mytwo new int [3][4]; 声明数组和创建数组可以一起完成,例如: int mytwo=new int[3][4]; Java采用“数组的数组”来声明多维数组. 上述创建的二维数组mytwo就是由3个长度为4的一维数组: mytwo[0]、mytwo[1刂和mytwo[2]构成的。 构成二维数组的一维数组不必有相同的长度,在创建二维数 组时可以分别指定构成该二维数组的一维数组的长度,例如: int a=new int[3]0; 注:和C语言不同的是,Java允许使用int型变量的值指定数组的元素的 个数,例如: int size=30; double number[]=new double[size];
6 §7.1.2 为数组分配元素_二维数组 二维数组和一维数组一样,在声明之后必须用new运算符为 数组分配内在空间。 例如:int mytwo[][]; mytwo = new int [3][4]; 声明数组和创建数组可以一起完成,例如: int mytwo[][] = new int[3][4]; Java采用“数组的数组”来声明多维数组. mytwo 3 4 mytwo[0] mytwo[1] mytwo[2] int a[][]=new int[3][]; 注:和C语言不同的是,Java允许使用int型变量的值指定数组的元素的 个数,例如: int size=30; double number[]=new double[size];

§7.1.3数组元素的使用 维数组通过索引符访问自己的元素,如boy[0], boy[1]等。需要注意的是索引从0开始 0 二 维数组也通过索引符访问自己的元素,如a[0][1], a[1][2]等;需要注意的是索引从0开始。 比如声明创建了一个二维数组a: int a=new int[2][3]; 那么第一个索引的变化范围为从0到1,第二个索引 变化范围为从0到2。 2025/4/2
2025/4/2 7 §7.1.3 数组元素的使用 一维数组通过索引符访问自己的元素,如boy[0], boy[1]等。需要注意的是索引从0开始 。 二维数组也通过索引符访问自己的元素,如a[0][1], a[1][2]等;需要注意的是索引从0开始。 比如声明创建了一个二维数组a: int a[][] = new int[2][3] 那么第一个索引的变化范围为从0到1,第二个索引 变化范围为从0到2

§7.1.41 ength的使用 数组的元素的个数称作数组的长度。 对于一维数组,“数组名.lengthi”的值就是数组中 元素的个数。 对于二维数组“数组名.length”的值是它含有的一 维数组的个数。 例如,对于 float a=new float[12]; int b]=new int[3][6]; a.length的值12;而b.1 ength的值是3
8 §7.1.4 length的使用 数组的元素的个数称作数组的长度。 对于一维数组,“数组名.length”的值就是数组中 元素的个数。 对于二维数组“数组名.length”的值是它含有的一 维数组的个数。 例如,对于 float a[] = new float[12]; int b[][] = new int[3][6]; a.length的值12;而b.length的值是3

§7.1.5 数组的初始化 创建数组后,系统会给数组的每个元素一个默认的值,如, f1oat型是0.0。 在声明数组的同时也可以给数组的元素一个初始值,如: f1 oat boy[]={21.3f,23.89f,2.0f,23f,778.98f」: 也可以直接用若干个一维数组初始化一个二维数组,这些一 维数组的长度不尽相同, 例如: inta[][]={{1J,{1,1},{1,2,1),{1,3,3,1},{1,4,6,4,1}); 2025/4/2
2025/4/2 9 §7.1.5 数组的初始化 创建数组后,系统会给数组的每个元素一个默认的值,如, float型是0.0。 在声明数组的同时也可以给数组的元素一个初始值,如: float boy[] = { 21.3f,23.89f,2.0f,23f,778.98f}; 也可以直接用若干个一维数组初始化一个二维数组,这些一 维数组的长度不尽相同, 例如: int a[][]= {{1}, {1,1},{1,2,1}, {1,3,3,1},{1,4,6,4,1}};

§7.1.6数组的引用 数组属于引用型变量,因此两个相同类型的数组如果具有相 同的引用,它们就有完全相同的元素。 例如,对于int a=1,2,3,b[]=(4,5;数组变量a和b分别存放着 引用0x35ce36和0x757aef。 如果使用了下列赋值 0x35ce36 a[] Ox757aef a 语句(a和b的类型必须相同) 3 a[2] a=b;那么,a中存放 图7.2 数组a、b的内存模型 的引用和b的相同,这时 系统将释放最初分配给 b 数组a的元素,使得a的 0x757aef b[O Ox757aef 元素和b的元素相同。 b a、b的内存模型变成如图 7.2,图7.3所示。 图7.3ab后的数组a、b的内存模型 10
10 §7.1.6 数组的引用 数组属于引用型变量,因此两个相同类型的数组如果具有相 同的引用,它们就有完全相同的元素。 例如,对于int a[] = {1,2,3}, b[ ]= {4,5};数组变量a和b分别存放着 引用0x35ce36和0x757aef。 如果使用了下列赋值 语句(a和b的类型必须相同) a=b;那么,a中存放 的引用和b的相同,这时 系统将释放最初分配给 数组a的元素,使得a的 元素和b的元素相同。 a、b的内存模型变成如图 7.2,图7.3所示
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J08_内部类与异常类.ppt
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J09_常用实用类.ppt
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J10_输入、输出流.ppt
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J11_JDBC操作Derby数据库.ppt
- 《编译原理》课程教学课件(PPT讲稿)cha2 文法和语言(文法实例小C语言).ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha1 引论 修订.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha2_1 文法和语言——讲授 修订.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha2_2 文法和语言_短语直接短语句柄——讲授.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha3 词法分析 修订 讲授.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha3 词法分析 阅读.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha4 自顶向下语法分析方法.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha5 自底而上语法分析.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha6 LR分析 修订教材页码.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha7-8 语法制导翻译和中间代码生成 修订增加继承属性简介.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha10_1 代码优化 讲授.ppt
- 《编译原理》课程教学课件(PPT讲稿,2018)cha10_2 代码生成 讲授.ppt
- 《编译原理》课程教学资源(习题答案)编译原理习题答案,第二版,清华.pdf
- 《编译原理》课程教学课件(PPT讲稿)第一章引言.ppt
- 《编译原理》课程教学课件(PPT讲稿)运行时存储空间组织.ppt
- 《编译原理》课程教学课件(PPT讲稿)第三章 词法分析.ppt
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J06_接口与多态.ppt
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J05_子类与继承.ppt
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J04_类与对象.ppt
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J03_运算符、表达式和语句.ppt
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J03_数据编码.ppt
- 《JAVA语言程序设计》课程教学课件(PPT讲稿)J02_初识对象和简单数据类型.ppt
- 山东理工大学:《数据结构》课程教学资源(数据结构自编习题集).doc
- 《数据结构》课程教学资源(参考资料)数据结构实验指导书.doc
- 《数据结构》课程教学资源(参考资料)线索二叉树提高.ppt
- 《数据结构》课程教学资源(参考资料)数据结构学习方法.doc
- 清华大学出版社:《数据结构基础》课程教材书籍PDF电子书(C语言版,第2版,Ellis Horowitz Sartaj Sahni 著,Susan Anderson-Freed 朱仲涛 译).pdf
- 清华大学出版社:《计算机绘图AutoCAD》课程教学资源(PPT课件)第8章 AutoCAD绘制机械装配图.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学资源(PPT课件)第7章 AutoCAD绘制机械零件图.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学资源(PPT课件)第6章 AutoCAD绘制标准件与常用件.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学资源(PPT课件)第5章 AutoCAD绘制机械图样.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学资源(PPT课件)第4章 AutoCAD尺寸标注.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学资源(PPT课件)第3章 AutoCAD绘制形体视图.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学资源(PPT课件)第2章 AutoCAD绘图平面图形.ppt
- 清华大学出版社:《计算机绘图AutoCAD》课程教学资源(PPT课件)第1章 AutoCAD设计基础.ppt
- 《微机技术与仪器系统设计》课程教学资源(芯片手册)8259A-中断控制器.pdf
