数组基础用法

1. 数组的基本概念

定义:数组是一个数据容器,用于存储一批同类型的数据。


2. 数组的静态初始化

语法格式

// 简写格式  
数据类型[] 数组名 = {元素1, 元素2, 元素3, ...};  
int[] arr = {12, 24, 36};  

// 完整格式  
数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, 元素3, ...};  
int[] arr = new int[]{12, 24, 36};  

注意事项

  • 数据类型[] 数组名数据类型 数组名[] 均可声明数组,但前者更规范。

3. 数组的访问与操作
  1. 通过索引访问元素

    • 索引从 0 开始,最大索引为 数组长度 - 1
    int[] arr = {12, 24, 36};
    System.out.println(arr[0]); // S输出:12
    System.out.println(arr[1]); // 输出:24
    
  2. 修改元素值

    arr[1] = 100; // 修改后数组变为 {12, 100, 36}
    
  3. 获取数组长度

    System.out.println(arr.length); // 输出:3
    

内存表示示例

| 内存地址  | 元素值 | 索引 |
|-----------|--------|------|
| 0x4c873330 | 12     | 0    |
| 0x4c873334 | 24     | 1    |
| 0x4c873338 | 36     | 2    |

4. 动态初始化数组

语法格式

数据类型[] 数组名 = new 数据类型[长度];  
int[] arr = new int[3]; // 初始化一个长度为3的int数组

元素默认值规则

数据类型默认值
byte, short, int, long0
float, double0.0
booleanfalse
引用类型(如 Stringnull

示例

double[] scores = new double[5]; // 所有元素初始化为0.0
String[] names = new String[3];  // 所有元素初始化为null

5. 二维数组
  1. 定义与初始化

    // 静态初始化  
    int[][] arr = {{12, 24, 36}, {666, 888}, {10, 20, 30}};  
    
    // 动态初始化  
    int[][] arr = new int[3][2]; // 3行2列的二维数组
    
  2. 访问元素

    // 访问第二行第一列的元素  
    int val1 = arr[1][0]; // 666  
    
    // 修改第三行第一列的值  
    arr[2][0] = 111; // 第三行变为 {111, 20, 30}
    
  3. 遍历二维数组

    for (int i = 0; i < arr.length; i++) {       // 遍历行
        for (int j = 0; j < arr[i].length; j++) { // 遍历列
            System.out.print(arr[i][j] + "\t");
        }
        System.out.println();
    }
    

    输出示例
    12 24 36
    666 888
    111 20 30


6. 注意事项
  • 索引越界:访问超出索引范围会导致 ArrayIndexOutOfBoundsException
  • 内存分配:数组在内存中连续存储,长度固定,不可动态扩展。
  • 引用类型特性数组是对象,赋值操作传递的是引用地址

总结
  • 静态初始化适合已知具体元素的场景,动态初始化适合先定义长度后赋值的场景。
  • 二维数组通过嵌套循环遍历,行和列的索引均从 0 开始。
  • 合理选择初始化方式,避免索引越界和内存浪费。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值