数组

作者: 聪明的小一休 | 来源:发表于2019-08-28 19:17 被阅读0次

    数组的定义和创建

    数组:是多个相同数据类型的组合,实现对这些数据的统一管理
    数组元素:数组中的每一个数据,成为数组的一个元素

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

    数组中元素的个数,成为数组的长度(length)
    注:Java语言中声明数组时,不能指定其长度;

    数组的声明:

    数组类型 数组名[]
    或 数组类型[] 数组名

    数组初始化(声明并指定数组长度)

    int a[]=new int[5];
    int[] array;
    array=new int[5];
    

    数组的内存模型

    • 数组是存储多个相同类型变量的对象。
      数组中的所有元素保存在堆内存中。
    • 创建数组就是在堆中创建一个数组对象。
    • 数组创建后立即拥有默认值。
      1.整数类型数组默认值为0
      2.String类型数组。默认是null
      3.char类型数组,默认是0对应的字符。(空字符)
      4.浮点类型数组,默认是0.0(float和double都是)
      5.boolean类型数组,默认值是false


    • 索引从0开始
    • 连续分配

    数组初始化

    在创建数组的同时就为数组元素分配空间并赋值
    数组类型 数组名[]={元素1,元素2,...}

    数组类型 数组名[]=new 数组类型[]{元素1,元素2,...}

    int a[]={1,2,3,4};或int a[]=new int[]{1,2,3,4};

    数组元素的赋值

    • 数组下标从0开始
    • 数组下标可以是整型常量或整型表达式
    • 数组的查询效率高,可以通过下标进行对数组的定位检索

    动态初始化:使用new创建数组,不分配元素,都是默认值(指定长度)
    静态初始化:在创建数组的同时进行赋值(指定内容)

    foreach循环访问数组

    foreach循环:JDK5以后版本中,增加的循环方式,是for循环的特殊简化方式。
    语法:

    for(数组元素类型 变量名:数组名){
    语句(遍历数组的话打印System.out.println(变量名)
    }
    

    按下标顺序将数组从0开始的每个值依次赋给左边变量,数组长度为for循环次数

    数组长度

    数组名.length
    特点:

    • 数组的长度必须>=0
    • length为只读,不能被赋值
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int a[];
            int b[]=null;
            int c[]= {};
            int d[]=new int[0];
    //      System.out.println(a.length);The local variable a may not have been initialized报错变量未初始化
    //      System.out.println(b.length);空指针异常
            System.out.println(c.length);//0
            System.out.println(d.length);//0
        }
    
    二维数组

    定义格式:

            int a[][]=new int[3][];
            int b[][]=new int[3][4];
            int c[][]= {{1,2,3},{2,3,4}};   
            int d[][]= new int[][]{{1,2,3},{2,3,4}};
    

    相关文章

      网友评论

          本文标题:数组

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