一、数组
1、只需起一个名字
2、数据统一存在一起,拿到其中一个数据,就能方便的拿到其他数据,方便管理
二、数组模型图
image.png三、数组中的相关概念
元素:数组的每一个“小格”,可以把一个元素理解为此前学过的一个变量,其作用就是存储一条数据,数组可以有多个元素,也就可以存多个数据
长度:元素的个数,可以用length表示
索引:元素的编号,也叫下标,从0开始,到length-1
四、数组的使用
想使用数组,需要经过声明和初始化两步
声明
元素的数据类型[] 数组名;
初始化
1、动态初始化:数组名 = new 元素的数据类型[长度];
2、静态初始化
(1)数据类型[] 数组名 = new 数据类型[]{元素列表};
(2)数据类型[] 数组名 = {元素列表};
五、数组内存图
jvm java虚拟机,java很多特性的“始作俑者”
jvm在程序运行过程中管理内存中很多区域,今天研究其中两块
见到new,都是在堆中开辟出一块空间
image.png
1、目前涉及到栈和堆两块内存区域
2、程序执行时,会把主方法中的代码,加载到栈中
3、int i = 1;1这个值是基本数据类型,因此直接把值送到栈中的变量i里
4、数组是引用数据类型,因此需要把值放到堆中,即真正的数组在堆中,当堆中创建好数组后,把地址送到栈中arr变量存储,外界像访问数组,就直接去栈中访问arr变量即可,注意,外界不能直接访问堆
六、数组的访问与赋值
1、访问
数组名[索引];
2、赋值
数组名[索引] = 值;
七、数组元素默认赋值
当采用动态初始化即没有给定元素初始值,jvm会默认给元素赋值,具体赋值根据数据类型确定
整型 0
浮点 0.0
字符型 空格字符
布尔 false
引用 null
八、数组的遍历
遍历,就是数组每个元素都访问一遍
一、一般,使用循环来帮助遍历数组
二、增强for循环遍历(书写简单,理论上也比普通循环遍历数组快,局限是增强for循环没法修改数组元素)
九、数组注意事项
1、数组元素要存放对应类型的值
2、数组长度只读不改,即数组长度一旦确定就不能更改
3、一定要访问实际存在索引的元素,否则将报出数组越界异常
作业:
1、int[] arr = {5,-1,8,-30,3,4};
//遍历这个数组,以[元素,元素,元素...]这种形式拼成串打印出来
2、int[] arr = {5,-1,8,-30,3,4};
基础版:把最大值放到整个集合右数第一个位置
进阶版作业,把第二大值,放到集合右数第二个位置
第三大值,放到集合右数第三个位置。。。一直把整个集合所有元素从小到大排序
网友评论