04 Java数组

作者: acc8226 | 来源:发表于2017-01-25 10:45 被阅读4次

    在计算机语言中数组是非常重要的集合类型,大部分计算机语言中数组具有如下三个基本特性:

    1. 一致性:数组只能保存相同数据类型元素,元素的数据类型可以是任何相同的数据类型。
    2. 有序性:数组中的元素是有序的,通过下标访问。
    3. 不可变性:数组一旦初始化,则长度(数组中预分配的元素个数)不可变

    一维数组: 声明数组,创建数组空间,初始化三步.

    格式1: 元素类型[] 数组名(推荐采用) ;
    格式2: 元素类型 数组名[] ;
    其中,数组元素的类型可以是基本类型,也可以是类或接口。

    数组初始化

    声明完成就要对数组进行初始化,数组初始化的过程就是为数组每一个元素分配内存空间,并为每一个元素提供初始值。初始化之后数组的长度就确定下来不能再变化了。

    数组初始化可以分为静态初始化和动态初始化。

    静态初始化

    静态初始化就是将数组的元素放到大括号中,元素之间用逗号(,)分隔。
    使用场景: 在已知数组的每一个元素内容情况下使用的,这样一次到位。
    示例代码如下:String[] strArray = {"张三","李四","王五"}; //静态初始化Stirng数组

    动态初始化

    动态初始化使用new运算符分配指定长度的内存空间,
    语法如下:new 元素数据类型[数组长度] ;

    new分配数组内存空间后,不同类型都会有默认值,如下图。


    数据类型默认值

    多维数组

    二维数组声明

    当数组中每个元素又可以带有多个下标时,这种数组就是“多维数组”。
    Java中声明二维数组需要有两个中括号,具体有三种语法如下:

    元素数据类型[][] 数组变量名;
    元素数据类型 数组变量名[][];
    元素数据类型[] 数组变量名[];
    

    二维数组的初始化

    二维数组的初始化也可以分为静态初始化和动态初始化。

    静态初始化

    int intArray[][] = { { 1, 2, 3 }, { 11, 12, 13 }, { 21, 22, 23 }, { 31, 32, 33 } };

    提示 严格意义上说Java中并不存在真正意义上的多维数组,只是一维数组,不过数组中的元素也是数组,以此类推三维数组就是数组的数组的数组了,例如{ { {1, 2}, {3} }, { {21}, {22, 23} } }表示一个三维数组。

    动态初始化

    语法: new 元素数据类型[高维数组长度] [低维数组长度] ;

    3. 不规则数组

    由于Java多维数组是数组的数组,因此会衍生出一种不规则数组
    动态初始化不规则数组比较麻烦,不能使用new int[4][3]语句,而是先初始化高维数组,然后再分别逐个初始化低维数组。代码如下:

    int intArray[][] = new int[4][]; //先初始化高维数组为4
    //逐一初始化低维数组
    intArray[0] = new int[2];
    intArray[1] = new int[1];
    intArray[2] = new int[3];
    intArray[3] = new int[3];
    

    4. 其它

    数组的内存结构

    数组中常见的Exception:

    • 访问到不存在的角标: ArrayIndexOutOfBoundsException

    相关文章

      网友评论

        本文标题:04 Java数组

        本文链接:https://www.haomeiwen.com/subject/zxptittx.html