1.一维数组
静态创建:
数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据3};
数据类型[] 数组名 = {数据1,数据2,数据3};
动态创建:
数据类型[] 数组名 = new 数据类型[长度];
上面的语法语句做了两件事:
- 使用 数据类型[长度] 创建了一个数组。
- 把新创建的数组的引用赋值给变量数组名。
动态创建数组时:虚拟机默认给数组填充元素
整数:0
浮点数:0.0
字符:0 空字符
字符串:null
布尔类型:false
2.工具人:Arrays.toString(数组);在控制台直接输出数组的所有数据不用循环遍历;
3.java虚拟机的内存结构
1.寄存器: 由CPU直接使用(CPU执行代码时需要数据临时存储)
2.本地方法区: 由操作系统提供一些本地方法存储在其中
3.方法区: java编译好的class文件内容 (静态的数据 static)
4.栈 : 基本数据类型的局部变量,对象的引用(等号左边)
5.堆 : 对象的实例(new出来)
4.利用for循环遍历数组
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
1.5.ArrayIndexOutOfBoundsException 数组下标超出边界的异常
1.6.数组的长度:array.length
1.7.array[i];i就是数组的下标/角标/索引
1.8.数组的思想
-
累加的思想
在循环外面定义一个变量来接收每次要累加的数据,最后得到累加的结果
-
统计的思想
在循环外面定义一个变量来统计的数据,当满足条件时自增一下,最后得到统计结果
-
求最值的思想
设定一个变量(这个变量最好是从数组中取值,一般使用数组的第一个数据),将每一个元素都与变量进行比对,记录下较高的那个,将元素赋值给变量
1.9.数组的修改
-
元素的修改
根据下标获取元素之后直接改,arr[下标] = 新的值;
-
地址的修改
arr = array() arr = new int[5]; arr获取到的都只是后面数组的地址