数组
1. 数组定义格式
-
格式一:数据类型[] 变量名
- 范例: int[] arr
-
定义了一个int类型的数组,数组名是arr
-
格式二:数据类型 变量名[]
- 范例 int arr[]
-
定义了一个int类型的变量,变量名是arr数组
2. 数组初始化之动态初始化
Java中的数组必须先初始化,然后才能使用
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值
2.1 数组初始化方式
- 静态初始化
- 动态初始化
2.2 动态初始化
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = new int[3];
/*
左边:
int:说明数组中的元素类型是int类型
[]:说明这是个数组
arr:数组名称
右边:
new:为数组申请内存空间
int:说明数组中的元素类型是int
[]:说明这是一个数组
3:数组长度,数组中元素个数
*/
}
}
3. 数组元素访问
4. 内存分配
Java程序在运行时,需要在内存中分配空间、为了提高运行效率,就对空间进行了不同区域的划分,
因为每一片区域都有特定的处理数据方式和内存管理方式。
4.1 Java中内存分配
int[] arr = new int[3];
//赋值:将arr指向开辟的int[3]内存空间
System.out.println(arr);
//输出:001(内存地址)
System.out.println(arr[0]);
//arr[0]:先找到arr的内存地址,再找到索引位置[0]的值
System.out.println(arr[1]);
//arr[0]:先找到arr的内存地址,再找到索引位置[1]的值
System.out.println(arr[2]);
//arr[0]:先找到arr的内存地址,再找到索引位置[2]的值
4.2 栈内存和堆内存
)]
4.3 单个数组内存图
略
4.4 多个数组内存图
略
4.5 多个数组指向相同内存图
因为指针相同,所以一个数组元素改变,其它所以数组元素都会被改变
5. 数组初始化之静态初始化
6. 数组操作的两个常见小问题
7. 数组常见操作
7.1 遍历
for循环
7.2 获取数组元素数量
- 格式:数组名.length
- 范例:arr.length
7.3 获取最值
package test_05;
//最大值
public class ArrayDome02 {
public static void main(String[] args) {
//定义数组
int[] arr = {12, 45, 98, 73, 60};
//定义一个变量,用于保存最大值
//取数组中第一个数据作为变量初始值
int max = arr[0];
//与数组中数据逐个对比,每次保留最大值
for(int x=1; x<arr.length; x++){
if(max < arr[x]){
max = arr[x];
}
}
//循环结束后打印变量的值
System.out.println(max);
}
}