数组

数组

数组是把相同类型的变量放在一组数据中.

数组的长度一经设定便无法改变,所以增删难度较大.

格式:数组类型[] 数组变量名 = new 数组类型[长度];
// 定义了一个长度为 3 的 int 类型数组
int[] ages = new int[3];
// 格式:数组类型[] 数组变量名 = new 数组类型[]{数据1, 数据2, 数据3,...}
// 创建了一个长度为 3 的 int 类型数组       
int[] ages2 = new int[]{18, 20, 30};
// 格式:数组类型[] 数组变量名 = {数据1, 数据2, 数据3,...}
        int[] ages3 = {18, 20, 30};// 创建了一个长度为 3 的 int 类型数组

数组越界异常

数组的长度是不可变的,如果获取超出数据界限会发生数组越界异常

//数组的下标从0开始 所以数组下标最大值为ages2[2];
System.out.println("ages2[3] = " + ages2[3]);
//运行结果:
//Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 //out of bounds for length 3

空指针异常

//创建一个长度为5的int类型的数组
int[] arr = new int[5];
arr = null;
System.out.println(arr[0]);
//运行结果:Exception in thread "main" java.lang.NullPointerException

取数组中的最大值与最小值

public static int getArrMax(int[] arrays) {
        // 定义一个临时变量,假设是最大值
        int max = arrays[0];

        for (int i = 1; i < arrays.length; i++) {
            // 使用 max 和数组的下一位进行比较
            if (arrays[i] > max) {
                // 如果大于 max 重新赋值给 max
                max = arrays[i];
            }
        }

        // 最终返回这个最大值
        return max;
    }
//求数组中的最小值
 public static int ArrayMin(int[] arrays){
     // // 定义一个临时变量,假设是最小值
        int min = arrays[0];
        for (int i = 1; i < arrays.length; i++) {
            // 使用 min 和数组的下一位进行比较
            if (arrays[i]<min){
                // 如果小于 min 重新赋值给 max
                min = arrays[i];
            }
        }
     //返回结果
        return min;
    }

数组的遍历

普通for

 for (int i = 0; i <ages2.length ; i++) {
            System.out.println(ages2[i]);
        }

增强for

 for(int arr : ages2){
            System.out.println(arr);
        }

Arrays数组工具类

java.util.Arrays

  int[] arrNum = {3, 7, 6, 9, 2, 1, 8};
        // sort 排序 从小到大
        Arrays.sort(arrNum);
        // 将数据中的数据返回字符串
        System.out.println(Arrays.toString(arrNum));

        // 替换全部
         Arrays.fill(arrNum, 50);
         System.out.println(Arrays.toString(arrNum));
        // 替换区间
        Arrays.fill(arrNum, 2, 4, 100);// 左闭右开
        System.out.println(Arrays.toString(arrNum));

        // 拷贝数组指定拷贝的索引从0开始到newLength结束
        int[] result = Arrays.copyOf(arrNum, 5);
        System.out.println(Arrays.toString(result));

        result = Arrays.copyOfRange(arrNum, 2, 5);
        System.out.println(Arrays.toString(result));

二维数组

第一维数组的元素都是一个单独的数组

// 格式:数据类型[][] 数组变量名 = new 数据类型[][];
 int[][] arrs = {{1, 2}, {5, 6, 7}, {9, 0, 1, 2}};

		// 如何获取数组中的数据
        // 格式:数组变量名[索引][索引];
        int num = arrs[1][2];
        System.out.println("num = " + num);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值