javaSE数组的应用

  • 数组的定义

静态初始化和动态初始化

/*
    静态初始化
    数据类型[] 变量名 = {x,x,x,x,...}
    */
        int[] arr1 = {1,2,3,4};
    /*
    动态初始化
    数据类型[] 变量名 = new 数据类型[数组长度];
    */
        int[] arr2 = new int[5];
        arr2[0] = 10;
        arr2[1] = 20;
  • 两个常见的问题
索引越界
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
	at Array.main(Array.java:17)
空指针
Exception in thread "main" java.lang.NullPointerException
	at Array.main(Array.java:19)
  • 通过for循环遍历数组
for (int i = 0; i<arr.length; i++){
            System.out.println(arr[i]);
        }
  • 通过for循环和if语句获得数组中的最大值和最小值
		int max = arr2[0];
        for (int i = 1; i < arr2.length; i++) {
            if (max < arr2[i]) {
                max = arr2[i];
            }
        }
        System.out.println("最大值为" + max);

        int mix = arr2[0];
        for (int i = 1; i < arr2.length; i++) {
            if (mix > arr2[i]) {
                mix = arr2[i];
            }
        }
        System.out.println("最小值为" + mix);
  • 数组元素累加
		/*数组元素累加*/
        int sum = 0;
        for (int i = 0; i < arr2.length; i++) {
            sum+=arr2[i];
        }
        System.out.println("数组元素累加为"+sum);

		/*数组元素中所有奇数累加*/
        int sum01 = 0;
        for (int i = 0; i < arr2.length; i++) {
            if (arr2[i]%2==1){
                sum01+=arr2[i];
            }
        }
        System.out.println("数组元素奇数累加为"+sum01);

        /*数组元素中所有偶数累加*/
        int sum02 = 0;
        for (int i = 0; i < arr2.length; i++) {
            if (arr2[i]%2!=1){
                sum02+=arr2[i];
            }
        }
        System.out.println("数组元素偶数累加为"+sum02);
  • 判断两个数组是否相等
/*判断两个数组是否相等*/
        boolean same = false;
        if (arr1.length == arr2.length){
            for (int i = 0; i < arr2.length; i++) {
                if (arr1[i] == arr2[1]){
                    same = true;
                }
            }
        }
        System.out.println("两个数组"+(same?"相等":"不相等"));
  • 查找数组中某个值的索引
/*查找数组中某个值的索引*/
        int a = 3;
        for (int i = 0; i < arr2.length; i++) {
            if (a==arr2[i]){
                System.out.println(a+"所在的索引为"+i);
                break;
            }
        }
  • 数组元素反转
/*数组元素反转*/
        for (int start = 0,end = arr1.length-1;start<=end;start++,end--){
            int temp = arr1[start];
            arr1[start] = arr1[end];
            arr1[end] = temp;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值