JavaEE - 03数组
(1)概述
(1.1)数组常见概念
- 数组名
- 下标(或索引)
- 元素
- 数组的长度
(1.2)数组的分类
(2)一维数组的使用
(3)多维数组的使用
Java语言提供了支持多维数组的语法。
一维数组当成几何中的线性图形,二维数组相当于一个表格。二维数组的元素是一维数组。
从数组底层的运行机制来看,其实没有多维数组。
(4)数组中涉及的常见算法
数组中的每一个元素都是有下标的,有索引的,从 0 开始。
length 属性 获取 数组中元素的个数。
数组最后一个元素的下标 是 数组长度 -1 [a1.length -1]
获取第一个元素 a1[0]
获取最后一个元素 a1[a1.length -1]
元素占用的内存空间是固定的,
知道第一个元素的内存地址,Add + 偏移量 【(第几个元素)* 元素占用的内存空间】。
100元素 1000 元素 查找某个元素
消耗的时间 差不多
在数组中,插入一个元素。 删除一个元素。保持地址的连续性。挪动元素。
遍历元素 for(int i=0; i<=a.length-1; i++){a1[i];}
修改元素 a1[1] = 100;
动态初始化数组 最多存储4个元素。
int[] a1 = new int[4];
public class ArrayTest {
public static void main(String[] args){
// 声明一维数组,存储int类型。
int[] a1 = {100,200,11,21,2132,400,6666}; //静态初始化
boolean[] b1 = {true, false, true};
String[] strs = {"ASS", "DASF","ADSF"};
byte[] b2 = {1,2,3};
char[] c1 = {'a','b','c'};
Object o1 = new Object();
Object o2 = new Object();
Object o3 = new Object();
Object[] o = {o1, o2,o3};
}
}
JVM
栈 堆
mian方法栈帧 创建对象100 200 150 300
int[] a1 = 0x1234
Object[] objs = 0x5689 O1地址 o2 地址 o3地址
Object对象 Object对象 Object对象
数组拿 首元素的内存地址 作为 数组对象的内存地址。
a1 引用 保存的是 一维数组的首元素的内存地址。