数组相关内容

数组简单使用

  1. 数组可以用来存储多个类型一致的元素。(任意类型)

  2. 引用类型和基本类型变量创建的不同

    • 基本类型变量声明出来不管是否赋值,都已经分配了内存。
    • 引用变量类型的创建分为两步:声明和初始化
      • 声明只在栈内分配内存(存储引用,或者说存储地址)
      • 初始化在堆或者方法区分配内存(存储实际的数据)
        • new出来的东西放在堆里面
        • 程序运行常量放在方法区里面
    • 关于栈
      • 所有局部变量都存放在栈里面(在方法里面创建的变量都是局部变量,因为只在这个方法内有效)

    一维数组的声明初始化和使用

    1. 声明

      • 数组元素类型[] 数组名;
      • 数组元素类型 数组名 [];
    2. 初始化

      • 初始化的时间
        • 可以在声明的时候直接初始化
        • 也可以先声明后初始化
      • 初始化的方法(初始化的时候必须确定数组的长度)
        • String[] arr = new String[3];(动态初始化,指定长度)
        • int [] arr = new int [] {2,1,6,4};(静态初始化,指定内容)
        • int [] arr = {3 ,4 ,68,23,12};静态初始化,指定内容)
      • 数据类型的默认值
        • 整数类型(byte,short,int,long)的基本类型变量的默认值为0
        • 单精度浮点型(float)的基本数据类型变量的默认值为0.0f
        • 双精度浮点型(double)的基本类型变量的默认值为0.0d
        • 字符型(char)的基本类型变量的默认值为“\u0000”
        • 布尔型(boolean)的基本类型变量的默认值为false
        • 引用类型的变量是默认值为null
        • 数组引用类型的变量的默认值为null,除关键数组变量的实例后,如果没有显式的为每个元素赋值,Java就会把该数组的所有元素初始化为其相应类型的默认值。
    3. 使用

      1. 通过索引访问数组里面的成员,索引是从0开始,

        • 访问方式:数组名[索引] //可以访问值,也可以设置值
      2. 获取数组长度

        • 数组名:length 这里的length是属性,不是方法,不需要加括号
      3. 注意事项
        • 下标超出范围
        • 空引用
      4. 填充数组

        1. Arrays.fill(数组名,值); //使用指定的值填充指定的数组

    二维数组的声明,初始化和使用

    1. 声明

      • 声明第一种方式:数据类型[] [] 数组名
      • 声明第二种方式:数据类型 数组名 [] []
    2. 初始化

      • 初始化第一种方式:数组名 = new 数据类型 [m] [n]

      • 初始化第二种方式:

        1
        数组名 = {{234,54,75},{43,34,23},{2,3,5}};
可以把二维数组当作多个以为数组组成的一维数组,不如这里的就是一个长度为m的一维数组,这个数组里面每一个元素都是长度为n的一维数组。

+ 初始化第三种方式:`数据类型 [] []  数组名 = new  数据类型[] [];`

m表示里面有多少个一维数组,但是没有给出这个一维数组的长度,这里的每一个一维数组的长度是可以不一样的。
  1. 使用

    • 格式:数组名 [索引] [索引];
    • 通过数组名 [索引] ;得到的是一维数组,完全可以当作一维数组来使用
Thanks!