zoukankan      html  css  js  c++  java
  • Java 数组的定义和遍历

    1、一维数组

    • 数组是用来存储一组相同数据类型数据的数据结构
    • 数组的元素可以是简单数据类型的数据,也可以是引用数据类型的数据
    • 无论数组内容是简单类型还是引用类型,数组自己本身都是一种引用类型
    • 每个数组元素都有下标,下标从0开始

    定义一维数组

    int array1[ ];
    int [ ] array2,array3;

    在数组定义中,不能指定数组的长度,需要在数组的创建阶段来指定

    符号“[]”说明声明的是一个数组对象。这两种声明方式没有区别,但是第二种可以同时声明多个数组

    // 创建大小为10个整型的数组
    int[] array = new int[10];
    
    // 创建大小为5个整型的数组并初始化
    int[] array = {1, 2, 3, 4, 5};
    
    // 等号右边的中括号不能填大小,有大括号中的具体数值决定
    int[] array = new int[]{1,2,3,4,5};

    2、length实例变量

    int[] arr = new int[10];

    arr.length 表示数组长度

    3、一维数组复制

    // 从 src 数组 srcPos 位置开始拷贝 length 长度到 dest 数组 destPos 开始的位置

    // 参数1:原数组

    // 参数2:复制原数组的起始位置

    // 参数3:目标数组

    // 参数4:目标数组存放的起始位置

    // 参数5:复制的长度

    System.arraycopy(src, srcPos, dest, destPos, length);

    int[] arr1 = new int[5];
    int[] arr2 = new int[5];
    
    // 该语句会把 arr1 也指向 arr2 数组,改变 arr2 数组的值,arr1 数组的值也会改变
    //arr1 = arr2;
    
    // 该语句会把 arr2 数组中的值复制到 arr1 数组中,改变 arr2 中的值,不会影响 arr1 数组
    //System.arraycopy(arr2, 0, arr1, 0, arr2.length);

    4、二维数组

    int[][] two = new int[5][6];

    two.length表示数组的行数,two[i].length表示数组的列数。

    5、不规则数组

    int[][] two = new int[4][];            // 数组有4行

    two[0] = new int[1];  // 第1行有1列

    two[0] = new int[2];      // 第1行有2列

    two[0] = new int[3];      // 第1行有3列

    two[0] = new int[3];      // 第1行有4列

    6、for-each循环:用来遍历数组

    for (数据类型 变量x : 遍历对象) {

      应用x的语句

    }

    // for-each 访问一维数组
    public class Array {
        public static void main(String[] args) {
            int sum = 0;
            int[] arr = {1, 2, 3, 4, 5};
            for (int i : arr) {
                sum += i;
            }
            System.out.println(sum);
        }
    }

    结果:15

    // for-each 访问二维数组
    public class Array {
        public static void main(String[] args) {
            int sum = 0;
            int[][] arr = {{1, 2},{3, 4}};
            for (int i[] : arr) {
                for (int j : i) {
                    sum += j;
                }
            }
            System.out.println(sum);
        }
    }

    结果:10

  • 相关阅读:
    sqlserver数据导入导出问题
    关于数据库冗余设计的思考
    cordova插件开发注意事项
    阿里云旺集成问题
    aspnet webapi 跨域请求 405错误
    跨域无法获取自定义header的问题
    angular input标签只能单向传递数据的问题
    android audio无法自动播放
    jquery mobile 问问多多
    mysql 表表连接的问题。
  • 原文地址:https://www.cnblogs.com/lialong1st/p/7805268.html
Copyright © 2011-2022 走看看