二、我是菜鸟_5.Java数组基础

数组不管在任何一门语言中都有重要的位置,必会。
第一部分,语法。

  • 定义一个数组:int[] array = new int[]; 或者 int[] array = new int[]{ 1,2,3,4,5 };
  • 赋值:int[] array = new int[]{ 1,2,3,4,5 };
  • 常用属性:
    length:数组的长度。array.length, 返回值为int类型

    第二部分,常用操作。
    先创建一个空的数组

    int array[] = new int[10];
    

  • 1. 用 fill(数组名,要填充的内容)方法 填充数组

    // 1.用某一个数填充数组的所有元素(int为例)
            int array[] = new int[10];
            Arrays.fill(array, 7);
            for (int a : array) {
                System.out.print(a + "\t");
            }
            System.out.println();
    

    fill()还有另一个重载形态,Arrays.fill(数组名, 起始索引, 结束索引, 要填充的值);

    // 2.用某一个值填充某一个范围内的所有元素(int类型为例)
            //  这里要说明一下,第二个参数代表起始索引(包括这个索引的元素),第三个参数代表截止索引(不包含截止索引的元素)
            //  比如说Arrays.fill(array, 0, 4, 3);那么被操作的元素就是array数组中的第1,2,3,4个元素(因为不包括截止索引的元素)
            Arrays.fill(array, 0, 4, 9);
            for (int i : array) {
                System.out.print(i + "\t");
            }
            System.out.println();
            //  常见错误,数组越界。
            //  那么什么是数组越界呢,就是当索引大于数组最大索引时就会发生越界,程序会报ArrayIndexOutOfBoundsException异常
    

  • 2.对数组进行排序(升序排列)

    Arrays.sort(array);
        for (int i : array) {
            System.out.print(i + "\t");
        }
        System.out.println();
    //  排序的时候要注意,在Java语言中,String类型数组的排序算法是根据字典编排顺序排序的
    //  因此,数字排在字母前面,大写字母排在小写字母前面
    

  • 3.复制数组

    //  Arrays类的copyOf()方法 和 copyOfRange()方法
            //  copyOf(arr, int newlength)方法:arr代表数组名称,newlength代表新数组的长度
            int[] array2 = Arrays.copyOf(array, 13);
            for (int i : array2) {
                System.out.print(i + "\t");
            }
            System.out.println();
            int[] array3 = Arrays.copyOf(array, 5);
            for (int i : array3) {
                System.out.print(i + "\t");
            }
            System.out.println();
            //  写到这里可以发现,当新复制的数组的长度大于被复制的数组时,多出来的位置用0填充
            //  当新复制的数组的长度小于被复制的数组时,只复制从0到指定长度
            
            // 5.复制给定范围的数组
            //  这种模式更常用,必会
            //  Arrays.copyOfRange(数组名, 起始索引, 结束索引),和之前一样,结束索引位置的元素不被复制
            //  方法返回的一个新数组
            int[] array4 = Arrays.copyOfRange(array, 3, 5);
            for (int i : array4) {
                System.out.print(i + "\t");
            }
            System.out.println();
    
  • 你可能感兴趣的:(二、我是菜鸟_5.Java数组基础)