

上期回顾: 【Java笔记】第5章:函数
个人主页:C_GUIQU
归属专栏:Java
前言
各位小伙伴大家好!上期小编给大家讲解了Java中的函数,接下来讲讲数组!
1. 数组概括
在Java中,数组是一种用于存储多个相同类型数据的集合。数组在内存中占据连续的空间,每个元素都可以通过索引来访问。
【数组的概念】
- 索引(或下标):Java中的数组索引从0开始,这意味着第一个元素的索引是0,第二个元素的索引是1,依此类推。
- 长度:数组的长度是数组中元素的数量,这个信息可以通过数组的
length属性获得。 - 元素:数组中的单个数据项称为元素,每个元素都可以通过其索引来访问。
- 多维数组:Java支持多维数组,即数组的数组。例如,一个二维数组可以看作是一行行的数组。
【数组的性质】
- 类型安全:Java数组是类型安全的,这意味着一个数组只能包含特定类型的元素。例如,一个
int类型的数组只能包含int类型的元素。 - 固定长度:在Java中,一旦数组被创建,其长度就固定不变。如果需要改变数组的长度,必须创建一个新的数组并将原数组的内容复制过去。
- 连续内存分配:Java数组中的所有元素都存储在连续的内存块中,这有助于提高访问效率。
- 默认初始化:Java中的数组在创建时会自动初始化。例如,整型数组默认初始化为0,对象数组默认初始化为
null。 - 遍历和访问:可以使用for循环、while循环或do-while循环遍历数组元素。也可以通过索引直接访问数组中的特定元素。
【创建数组】
在Java中,可以使用以下方式创建数组:
// 创建一个包含10个整数的数组
int[] numbers = new int[10];
// 创建一个并初始化一个字符串数组
String[] names = {
"Alice", "Bob", "Charlie"};
// 创建一个二维数组
int[][] matrix = new int[3][4];
【访问和修改数组元素】
// 访问第一个元素
int firstElement = numbers[0];
// 修改第三个元素
numbers[2] = 50;
// 输出数组长度
System.out.println("数组长度:" + numbers.length);
【 数组操作】
Java提供了Arrays类,该类包含了许多用于操作数组的静态方法,如排序、搜索、填充和复制等。
import java.util.Arrays;
// 对数组进行排序
Arrays.sort(numbers);
// 在数组中搜索元素
int index = Arrays.binarySearch(numbers, 50);
// 填充数组
Arrays.fill(numbers, 10);
【注意事项】
- Java数组在创建时必须指定类型,不能像某些动态语言那样存储不同类型的元素。
- 数组是引用类型,当将一个数组赋值给另一个数组时,实际上是将引用赋值,两个数组变量将指向同一块内存空间。
- 数组可以存储基本数据类型值,也可以存储对象引用,但不能直接存储对象本身。
Java数组是编程中非常基础且重要的数据结构,理解和掌握数组的这些概念和性质对于Java编程至关重要。
2. 数组的内存
在Java中,数组是一种引用数据类型,用于存储多个相同数据类型的元素。
Java中的数组内存分配可以分为两个部分:数组引用的存储和数组元素的存储。
- 数组引用的存储:数组引用是一个变量,存储在栈内存(Stack)中。当声明一个数组时,比如
int[] arr;,这时只是在栈上分配了一个引用变量arr,这个变量此时并没有指向任何实际的数组对象。 - 数组元素的存储:实际的数组元素存储在堆内存(Heap)中。当使用
new关键字创建数组时,如arr = new int[10];,会在堆上分配足够的空间来存储数组元素,并且栈上的数组引用arr指向这个堆内存中的数组。
在Java中,数组的创建是动态的,即数组的大小在运行时确定。一旦数组被创建,其大小就固定了,不能动态改变。
数组初始化:
- 静态初始化:在声明数组的同时初始化数组元素,例如
int[] arr = {1, 2, 3};。 - 动态初始化:在声明数组后,通过分配空间的方式进行初始化,例如
int[] arr = new int[3];,此时数组元素会自动初始化为该数据类型的默认值(如整型为0,布尔型为false等)。
数组的访问:
Java中的数组是通过索引来访问的,索引从0开始。例如,arr[0] 表示访问数组 arr 的第一个元素。
数组的遍历:
可以使用for循环或者增强for循环(foreach循环)来遍历数组。
数组的默认值:
- 整型数组元素的默认值为0。
- 浮点型数组元素的默认值为0.0。
- 字符型数组元素的默认值为’\u0000’。
- 布尔型数组元素的默认值为false

最低0.47元/天 解锁文章
1297

被折叠的 条评论
为什么被折叠?



