基础之数组
数组
一维数组
概念
- 记录单个数据内容时,声明一个变量即可
- 在程序中记录多个类型相同的数据内容时,声明一个一维数组即可
- 一维数组的本质是在内存空间中申请一段连续的存储单元
- 数组是相同数据类型的多个元素的容器:::
- 元素按线性顺序排列,体现为一种 引用数据类型
格式
- 数据类型[] 数组名称 = new 数据类型[数组长度];
- 数组长度 在声明的时候进行设定及length属性进行获取
- 通过下标的方式访问数组中的每一个元素
数组的下标从 0 开始;对于长度为n的数组,下标的范围是 0 ~ n-1
内存结构分析
- 内存结构之栈区 【基本数据类型】
- 栈用于存放程序运行过程中所有的局部变量。 一个运行的java程序从开始到结束会有多次变量的声明
- 存放当前变量的值
int num = 2;
- 内存结构之堆区 【引用数据类型】
- jvm会在内存空间中开辟一个称为“堆”的存储空间,这部分空间用于存储使用new关键字创建的数组和对象
- 存放当前对象的内存地址
int[] num = int[2];
一维数组优缺点
-
优点
- 直接通过下标(索引)的方式访问指定位置的元素 快速
-
缺点
- 所有元素类型必须相同
- 内存空间必须连续,长度一点确定就不能修改
- 增加和删除元素时可能移动大量元素,效率低
实践出真理
1.基操
void BaseTest() {
//定义一个一维数组 int类型、长度为3
int[] array = new int[3];
//方式二 不推荐使用,容易与 变量的声明区分,提高代码可读性
//int array_1[] = new int[3];
//获取数组的长度
int array_Length = array.length;
System.out.println("数组的长度为: " + array_Length);
for (int i = 0; i < array_Length; i++) {
System.out.println("当前下标为: " + i + " 的内容是: " + array[i]);
}
//在声明的同时进行赋值 静态方式简化版
char[] chars = {
'a', 'b', 'c', 'd'};
//方式二 静态方式
boolean[] bool = new boolean[]{
false, true, true, false};
for (int i = 0; i < chars.length; i++) {
System.out.println("当前下标为: " + i + " 的内容是: " + chars[i] + "\tbool中的内容为: " + bool[i]);
}
}
运行结果:
2.增删改查操作
void AddDelChaIns() {
int[] arr = new int[5];
// 将 “11、22、33、44”按顺序从头(下标为0)进行赋值
// arr[0] = 11;
// arr[1] = 22;
// arr[2] = 33;
// arr[3] = 44;
//简化操作
for (int i = 0; i < arr.length - 1; i++) {
arr[i] = (i + 1) * 11;
}
System.out.print("赋值后--数组中的内容为: ");
for (int i = 0; i < arr.length; i++) {
System