⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Java 数组

学习数组 · 难度:入门 · +10XP

Java 数组详解

数组是 Java 中最基本的容器类型,用于存储固定数量相同类型元素。数组在内存中是连续分配的,这使得它的访问速度非常快(通过索引 O(1) 访问),但大小一旦确定就无法改变。掌握数组是学习更高级集合类(ArrayList、HashMap 等)的基础。

数组的声明与初始化

Java 数组的声明使用 类型[] 变量名 语法。数组可以用 new 关键字创建(元素为默认值),也可以在声明时直接初始化(静态初始化)。

public class ArrayDemo {
    public static void main(String[] args) {
        // 方式一:声明后分配空间(元素默认值: int -> 0)
        int[] scores = new int[5];
        scores[0] = 90;
        scores[1] = 85;
        scores[2] = 78;

// 方式二:声明时直接初始化 String[] names = {"张三", "李四", "王五", "赵六"};

// 方式三:先声明再赋值 double[] prices; prices = new double[]{19.99, 29.99, 9.99};

// 获取数组长度 System.out.println("names 数组长度: " + names.length); } }

数组的遍历方式

遍历方式语法适用场景
for 循环for (int i=0; i<arr.length; i++)需要访问索引时
增强 for / for-eachfor (int x : arr)只读取值,不关心索引
Arrays.toString()System.out.println(Arrays.toString(arr));快速打印数组内容
Stream API(Java 8+)Arrays.stream(arr).forEach(System.out::println);链式操作、过滤、映射
import java.util.Arrays;

int[] numbers = {5, 2, 8, 1, 9, 3};

// 排序 Arrays.sort(numbers); System.out.println(Arrays.toString(numbers)); // [1, 2, 3, 5, 8, 9]

// 二分查找(数组必须已排序) int index = Arrays.binarySearch(numbers, 5); System.out.println("5 的索引: " + index);

// 填充 int[] arr = new int[5]; Arrays.fill(arr, 100); System.out.println(Arrays.toString(arr)); // [100, 100, 100, 100, 100]

// 比较 int[] arr1 = {1, 2, 3}; int[] arr2 = {1, 2, 3}; System.out.println(Arrays.equals(arr1, arr2)); // true

多维数组

Java 的多维数组本质上是「数组的数组」。二维数组可以看作是一个表格(行 + 列),三维则是立体的数据模型。Java 的多维数组允许每一行的长度不同(锯齿数组)。

// 二维数组:矩阵
int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9},
};

// 遍历二维数组 for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[i].length; j++) { System.out.print(matrix[i][j] + " "); } System.out.println(); }

  1. 创建长度为 10 的整数数组,用 1-100 的随机数填充,找出最大值和最小值
  2. 将上一步的数组排序后,使用二分查找搜索某一个值的位置
  3. 用二维数组表示 3x3 的井字棋棋盘,编写方法判断是否有玩家获胜
  4. 实现 reverseArray 方法,反转数组中的元素顺序(不创建新数组)
  5. 创建长度为 6 的字符串数组,去除其中所有重复的元素
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 133 篇
0 完成
🔥 0