Java数组

数组的声明

public class Infine {
    public static void main(String[] args) {
        int[] nums;//声明一个数组,栈中操作
//        int nums[]; //也可以,但是不是Java风格,不建议使用

        nums = new int[5];//给数组分配堆的空间
        //int[] nums = new int[5];也可以写成这个

        nums[0] = 1;
        nums[1] = 2;
        nums[2] = 3;
        nums[3] = 4;
        nums[4] = 5;

        System.out.println("数组长度为:" + nums.length);

        int sum = 0;
        for (int num : nums) {
            sum += num;
        }
        System.out.println("数组的和为:" + sum);
    }
}

数组的初始化

public class Infine {
    public static void main(String[] args) {
        //静态初始化:创建 + 赋值
        int[] a = {1,2,3,4,5};
        
        //动态初始化:包含默认初始化
        int[] b = new int[10];//数组也是引用类型的,这里其实已经默认隐式初始化为0了
        b[0] = 10;
    }
}

数组中元素可以是任何数据类型,包括基本类型和引用类型。

数组的使用

  • 数组传参

    public class PassParam {
        public static void main(String[] args) {
            int[] arrays = {1, 2, 3, 4, 5};
            //传递数组名字
            printArray(reverse(arrays));
            System.out.println("");
            printArray(arrays);
        }
        //反转数组
        public static int[] reverse(int[] arrays) {
            int[] result = new int[arrays.length];
    
            for (int i = 0, j = result.length - 1; i < arrays.length; i++, j--) {
                result[j] = arrays[i];
            }
            //return数组名字
            return result;
        }
        public static void printArray(int[] arrays) {
            for (int num : arrays) {
                System.out.print(num + " ");
            }
        }
    }
    

Arrays类

在Idea中可以ctrl点进相关类中,再点击右侧structure中,可以选择看相应的方法细节,更好的利用合理的方法使用。

//如,数值排序
int[] a = {2, 1, 3};
Arrays.sort(a);
System.out.println(Arrays.toString(a));

image

posted @ 2025-01-14 22:05  韩熙隐ario  阅读(9)  评论(0)    收藏  举报