java基础笔记(4)----数组

时间:2023-02-24 18:49:08
  1. 介绍:

    数组是一种数据类型,是引用类型,是一块连续的内存空间,用于存储和管理相同类型的多个数据。

  2. 定义:-- > 数组的声明方式
    1. 先声明,在开辟内存空间--> int [] a; a=new int[5];
    2. 声明的同时静态初始化    -- > int[] a={1,3,5}
    3. 声明并开辟内存空间    -- >int [] a=new int[5]
  3. 使用:-- >数组名[下标]:下标的有效范围是:0到长度-1;
    1. 存元素:
    2. 取元素:
    3. 遍历数组:

    代码如下:

package com.lvsling.test;

 

public class Test1 {

    public static void main(String[] args) {

        //定义一个数组

        int[] a=new int[5];

        //存数据

        a[0]=1;

        a[1]=3;

        a[2]=5;

        a[3]=7;

        a[4]=9;

        //取数据

        System.out.println(a[2]);

        System.out.println(a[4]);

        //遍历数组中的元素

        for (int i = 0; i < a.length; i++) {

            System.out.println(a[i]);

        }

        

    }

}

 

  1. 数组扩容
    1. 创建新数组,
    2. 把原数组中的内容复制到新数组中
    3. 返回新数组

    代码如下:

package com.lvsling.test;

/*

* 扩容

*/

public class Test2 {

    public static void main(String[] args){

        

            int[] b={1,2,3,4,5};    

            b=expand3(b);

             for(int i=0;i<b.length;i++){

                System.out.println(b[i]);

            }

        }

        //循环将原数组中所有元素逐一赋值给新数组。

        public static int[] expand1(int[] a){

            int[] b=new int[9];

            for(int i=0;i<a.length;i++){

                b[i]=a[i];

            }

            return b;

        }

        //System.arraycopy(元数组,原数组起始,新数组,新数组起始,长度);

        public static int[]expand2(int[] a){

            int[] b=new int[7];

            System.arraycopy(a,1,b,2,3);

            return b;

        }

        //java.util.Arrays.copyOf(原数组,新长度);

        public static int[]expand3(int[] a){

            return java.util.Arrays.copyOf(a,10);

        }

}

 

  1. 自我总结:

    以上说明了数组的声明,使用,遍历以及数组的扩容。核心就是开辟出内存空间用来存储我们所需的数据。

    拓展与提升:

    1. 数组元素是有默认值的。
      1. 在数组开辟内存空间后,不给元素指定的值,系统会默认分配值。
        1. 整数--------->0
        2. 小数--------->0.0
        3. 布尔--------->false
        4. 字符--------->'\u0000'
        5. 引用类型--------->null

    2,二维数组:

        1,是一维数组的数组

    2,开辟内存空间时,至少要指定 行的维数; 

    3,声明的同时 静态初始化 必须在同一行代码中完成;

    4,开辟内存+静态数据 开辟内存时行和列的维数 都不能指定。