A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

糖葫芦

初级黑马

  • 黑马币:45

  • 帖子:13

  • 精华:0

© 糖葫芦 初级黑马   /  2018-4-1 21:00  /  723 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一.数组
        1.概念:
                存储同一种数据类型的多个元素的容器
        2.定义格式:
                A.数据类型[] 数组名;(推荐的方式)
                B.数据类型 数组名[];
        3.数组的初始化:
                A.所谓的初始化,就是为数组开辟内存空间,并为数组中的每个元素赋予初始值
                B.两种初始化
                        a.动态初始化        只给出长度,系统给出初始化值
                                int[] arr = new int[数组长度];
                                        数组长度其实就是数组中元素的个数
                        b.静态初始化        给出初始化值,系统决定长度
                                格式:
                                        int[] arr = new int[]{1,2,3};
                                简化:
                                        int[] arr = {1,2,3};                               
               
                注意:       
                        数组索引从零开始,最大值是数组长度减1;
                        数组中每个元素的初始化值为0;
       
        4.java中的内存分配:
                A.栈:存储的是局部变量,局部变量就是定义在方法中的变量
                        使用完毕后立即回收
                B.堆:存储的是new出来的东西(实体,对象)
                        a.每一个对象都有地址值
                        b.每一个对象的数据都有默认值
                                byte,short,int,long 0
                                float,double 0.0
                                char'\u0000'
                                boolean false
                                引用类型 null
                        c.使用完毕后,会在垃圾回收器空闲的时候回收
                C.方法区
                D.本地方法区(和系统相关)
                E.寄存器(给CPU使用)
        5.数组的赋值
                int[] arr1 = arr;数组的地址赋值
                arr[索引] = 10;给数组中对应的元素赋值
        6.数组操作中两个常见小问题
                A.数组越界异常;
                        产生的原因:访问了不存在的索引
                B.空指针异常;
                        产生的原因:数组已经不再指向堆内存的数据了,你还使用数组名去访问元素
        7.数组遍历
                依次输出数组中的每一个元素
                数组元素个数:数组长度 - 1;arr.length - 1
二.二维数组
        1.概念:其实就是元素为一维数组的数组
        2.定义格式
                A.数据类型[][] 数组名;(推荐的方式)
                B.数据类型 数组名[][];
                C.数据类型[] 数组名[];
        3.初始化
                A.动态初始化
                        数据类型[][] 数组名 = new 数据类型[m][n];
                        m表示的是二维数组中一维数组的个数
                        n表示的是一维数组中的元素个数
                B.静态初始化
                        数据类型[][] 数组名 = new 数据类型{{元素},{元素},...}
                        简化格式:
                        数据类型[][] 数组名 = {{元素},{元素},...}
                        注意:
                                简写形式有局限性,数组的声明与赋值分开写的时候,简写形式行不通了
        4.一维数组与元素的获取
                A.二维数组名配合索引可以获取到每一个一维数组
                B.每一个一维数组配合索引可以获取到数组中的元素
                        arr[索引][索引];得到二维数组中的元素
        5.二维数组.length获取的其实就是二维数组中有几个一维数组
       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马