Java基础语法之数组

在上一篇文章中,我们介绍了Java基础语法之控制流(Java基础语法之控制流),数组是Java中用来存储固定大小的相同类型元素的容器。它是存储在连续内存位置的一种数据结构。通过数组,我们可以很方便地使用一个变量名来引用多个元素。

1. 数组的声明与初始化

在Java中,数组的声明与初始化有多种方式。

  • 声明数组

    int[] array1; // 推荐方式
    int array2[]; // 合法但不推荐
    
  • 初始化数组

    int[] array1 = new int[5]; // 创建一个长度为5的int型数组
    int[] array2 = {1, 2, 3, 4, 5}; // 直接初始化
    
  • 注意事项

    • 数组的大小在创建后不可改变。
    • 数组索引从0开始,最大索引为数组长度-1
    • 访问越界索引会抛出ArrayIndexOutOfBoundsException异常。
2. 数组的使用
  • 访问数组元素

    public class ArrayExample {
        public static void main(String[] args) {
            int[] array = {1, 2, 3, 4, 5};
            System.out.println("第一个元素: " + array[0]);
            System.out.println("第三个元素: " + array[2]);
        }
    }
    
  • 修改数组元素

    public class ArrayModifyExample {
        public static void main(String[] args) {
            int[] array = {1, 2, 3, 4, 5};
            array[2] = 10; // 将第三个元素修改为10
            System.out.println("修改后的第三个元素: " + array[2]);
        }
    }
    
3. 数组的遍历
  • 使用for循环遍历数组

    public class ArrayTraversal {
        public static void main(String[] args) {
            int[] array = {1, 2, 3, 4, 5};
            for (int i = 0; i < array.length; i++) {
                System.out.println("元素 " + i + ": " + array[i]);
            }
        }
    }
    
  • 使用增强型for循环遍历数组

    public class EnhancedForLoopTraversal {
        public static void main(String[] args) {
            int[] array = {1, 2, 3, 4, 5};
            for (int element : array) {
                System.out.println("元素: " + element);
            }
        }
    }
    
  • 注意事项

    • 在遍历数组时,注意不要越界访问。
4. 多维数组
  • 声明和初始化二维数组

    int[][] array = new int[3][4]; // 创建一个3x4的二维数组
    int[][] array2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 直接初始化
    
  • 访问二维数组元素

    public class MultiDimensionalArray {
        public static void main(String[] args) {
            int[][] array = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
            System.out.println("第一行第二个元素: " + array[0][1]);
        }
    }
    
  • 遍历二维数组

    public class MultiDimensionalArrayTraversal {
        public static void main(String[] args) {
            int[][] array = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
            for (int i = 0; i < array.length; i++) {
                for (int j = 0; j < array[i].length; j++) {
                    System.out.println("元素 [" + i + "][" + j + "]: " + array[i][j]);
                }
            }
        }
    }
    
  • 注意事项

    • 多维数组可以是不规则的(即每行可以有不同的列数)。
5. 数组与方法
  • 将数组作为方法参数

    public class ArrayAsParameter {
        public static void main(String[] args) {
            int[] array = {1, 2, 3, 4, 5};
            printArray(array);
        }
    
        public static void printArray(int[] array) {
            for (int element : array) {
                System.out.println("元素: " + element);
            }
        }
    }
    
  • 从方法中返回数组

    public class ArrayAsReturnValue {
        public static void main(String[] args) {
            int[] array = createArray();
            for (int element : array) {
                System.out.println("元素: " + element);
            }
        }
    
        public static int[] createArray() {
            return new int[]{1, 2, 3, 4, 5};
        }
    }
    
6. 知识结构图解
Java基础语法之数组
声明与初始化
声明数组
初始化数组
数组的使用
访问数组元素
修改数组元素
数组的遍历
for 循环遍历
增强型 for 循环遍历
多维数组
声明和初始化二维数组
访问二维数组元素
遍历二维数组
数组与方法
将数组作为方法参数
从方法中返回数组
7. 示例代码整合

以下示例代码展示了数组的各种使用方法:

public class ArrayExamples {
    public static void main(String[] args) {
        // 声明和初始化数组
        int[] array1 = new int[5];
        int[] array2 = {1, 2, 3, 4, 5};

        // 访问和修改数组元素
        System.out.println("第一个元素: " + array2[0]);
        array2[2] = 10;
        System.out.println("修改后的第三个元素: " + array2[2]);

        // 遍历数组
        for (int i = 0; i < array2.length; i++) {
            System.out.println("元素 " + i + ": " + array2[i]);
        }

        // 使用增强型 for 循环遍历数组
        for (int element : array2) {
            System.out.println("元素: " + element);
        }

        // 声明和初始化二维数组
        int[][] array3 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

        // 访问和遍历二维数组
        System.out.println("第一行第二个元素: " + array3[0][1]);
        for (int i = 0; i < array3.length; i++) {
            for (int j = 0; j < array3[i].length; j++) {
                System.out.println("元素 [" + i + "][" + j + "]: " + array3[i][j]);
            }
        }

        // 将数组作为方法参数
        printArray(array2);

        // 从方法中返回数组
        int[] array4 = createArray();
        for (int element : array4) {
            System.out.println("元素: " + element);
        }
    }

    public static void printArray(int[] array) {
        for (int element : array) {
            System.out.println("元素: " + element);
        }
    }

    public static int[] createArray() {
        return new int[]{1, 2, 3, 4, 5};
    }
}
注意事项总结
  • 数组的大小在创建后不可改变。
  • 数组索引从0开始,最大索引为数组长度-1
  • 访问越界索引会抛出ArrayIndexOutOfBoundsException异常。
  • 多维数组可以是不规则的(即每行可以有不同的列数)。
结语

数组是Java中重要的基础数据结构,通过掌握数组的声明、初始化、访问、修改和遍历,可以更加高效地处理数据。在接下来的文章中,我们将继续探讨Java中的方法这一概念以及更多Java编程的基础知识,敬请期待!

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值