【Java笔记】第6章:数组

目录

  • 前言
  • 1. 数组概括
  • 2. 数组的内存
  • 3. 数组扩容
  • 4. 二维数组
  • 5. 数组的排序
  • 结语

在这里插入图片描述
在这里插入图片描述

#include
int main {
上期回顾:【Java笔记】第5章:函数
个人主页:C_GUIQU
归属专栏:【Java学习】
return 一键三连;
}

前言

各位小伙伴大家好!上期小编给大家讲解了Java中的函数,接下来讲讲数组!

1. 数组概括

在Java中,数组是一种用于存储多个相同类型数据的集合。数组在内存中占据连续的空间,每个元素都可以通过索引来访问。

【数组的概念】

  1. 索引(或下标):Java中的数组索引从0开始,这意味着第一个元素的索引是0,第二个元素的索引是1,依此类推。
  2. 长度:数组的长度是数组中元素的数量,这个信息可以通过数组的length属性获得。
  3. 元素:数组中的单个数据项称为元素,每个元素都可以通过其索引来访问。
  4. 多维数组:Java支持多维数组,即数组的数组。例如,一个二维数组可以看作是一行行的数组。

【数组的性质】

  1. 类型安全:Java数组是类型安全的,这意味着一个数组只能包含特定类型的元素。例如,一个int类型的数组只能包含int类型的元素。
  2. 固定长度:在Java中,一旦数组被创建,其长度就固定不变。如果需要改变数组的长度,必须创建一个新的数组并将原数组的内容复制过去。
  3. 连续内存分配:Java数组中的所有元素都存储在连续的内存块中,这有助于提高访问效率。
  4. 默认初始化:Java中的数组在创建时会自动初始化。例如,整型数组默认初始化为0,对象数组默认初始化为null
  5. 遍历和访问:可以使用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中的数组内存分配可以分为两个部分:数组引用的存储和数组元素的存储。

  1. 数组引用的存储:数组引用是一个变量,存储在栈内存(Stack)中。当声明一个数组时,比如 int[] arr;,这时只是在栈上分配了一个引用变量 arr,这个变量此时并没有指向任何实际的数组对象。
  2. 数组元素的存储:实际的数组元素存储在堆内存(Heap)中。当使用 new 关键字创建数组时,如 arr = new int[10];,会在堆上分配足够的空间来存储数组元素,并且栈上的数组引用 arr 指向这个堆内存中的数组。
    在Java中,数组的创建是动态的,即数组的大小在运行时确定。一旦数组被创建,其大小就固定了,不能动态改变。

数组初始化

  • 静态初始化:在声明数组的同时初始化数组元素,例如 int[] arr = {1, 2, 3};
  • 动态初始化:在声明数组后,通过分配空间的方式进行初始化,例如 int[] arr = new int[3];,此时数组元素会自动初始化为该数据类型的默认值(如整型为0,布尔型为false等)。
  • <

你可能感兴趣的:(Java,java,笔记,学习)