数组
# 数组
数组变量名中存储的是数组在内存中的地址,数组是引用类型(不同于基本类型)。
提示
数组一旦定义出来,程序执行的过程中,长度、类型就固定了。
# 1. 数组定义格式【记忆】
第一种
数据类型[] 数组名
示例:
int[] arr;
double[] arr;
char[] arr;
1
2
3
2
3
第二种
数据类型 数组名[]
示例:
int arr[];
double arr[];
char arr[];
1
2
3
2
3
# 2. 数组初始化【应用】
# 2.1 静态初始化数组
定义数组的时候直接给数组赋值。
# 2.1.1 格式:
- 完整版格式
数据类型[] 数组名 = new 数据类型[]{元素1,元素2 ,元素3… };
int[] ages = new int[]{12, 24, 36}
1
2
2
- 简化版格式
数据类型[] 数组名 = { 元素1,元素2 ,元素3,… };
int[] ages = {12, 24, 36};
1
2
2
# 2.2 动态初始化数组
定义数组的时候只确定元素的类型和数组的长度,之后再存入具体数据。
# 2.2.1 格式:
数据类型[] 数组名 = new 数据类型[长度];
int[] arr = new int[3];
1
2
2
# 2.2.2 动态初始化数组的元素默认值
两种数组初始化的特点和场景区别
- 当前已经知道存入的元素值,用静态初始化。
- 当前还不清楚要存入哪些数据,用动态初始化。
# 3. 数组元素访问【应用】
数组的长度:
数组名称.length
获取数组的最大索引:
数组名称.length - 1
⚠️ 此方法获取数组的最大索引,需要元素个数大于0的前提。
遍历数组元素时,注意判断是否为null,或是否长度为0。
int[] nums = null; // 数组为 null int[] nums2 = {}; // 数组长度为 0 public static int getMax(int[] arr) { if (arr != null && arr.length > 0) { // 方法的逻辑 } else { // 数组为空或长度为0的处理 } }
1
2
3
4
5
6
7
8
9
10
# 4. Java 内存分配【理解】
# 4.1 内存概述
内存是计算机中的重要原件,临时存储区域,作用是运行程序。
我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。
必须放进内存中才能运行,运行完毕后会清空内存。
Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。
# 4.2 java中的内存分配
- 目前我们只需要记住两个内存,分别是:栈内存和堆内存
区域名称 | 作用 |
---|---|
寄存器 | 给CPU使用,和我们开发无关。 |
本地方法栈 | JVM在使用操作系统功能的时候使用,和我们开发无关。 |
方法区 | 存储可以运行的class文件。 |
堆内存 | 存储对象或者数组,new来创建的,都存储在堆内存。 |
方法栈 | 方法运行时使用的内存,比如main方法运行,进入方法栈中执行。 |
编辑 (opens new window)
上次更新: 2023/01/24, 15:21:13