Java学习总结之数组

来源:互联网 发布:网络黄金egd裴蕾抓了吗 编辑:程序博客网 时间:2024/05/18 22:47

——数组

数组可以看成是多个相同数据类型数据的组合,对这些数据的统一管理。

        数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。

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

        数组存放同一类类型的容器

        数组存在一维数组和二维数组和多维数组。

——数组的定义格式

        格式1:数据类型[] 数组名;

        格式2:数据类型 数组名[];//忘了吧

        例如:int[] iArray、int iArray[]

        注意:这两种定义做完了,数组中是没有元素值的。

       针对数组定义两种格式,推荐使用第一种格式。

——数组的初始化

       Java中的数组必须先初始化,然后才能使用。

       所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。

       数组的初始化方式

       动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。

       静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。

——动态初始化

    初始化时只指定数组长度,由系统为数组分配初始值。

    格式:数据类型[]数组名= new 数据类型[数组长度]  

               举例:int[] arr = new int[3];

    数组长度其实就是数组中元素的个数。

——静态初始化

    初始化时指定每个数组元素的初始值,由系统决定数组长度。

    格式:数据类型[]数组名= new 数据类型[]{元素1,元素2,…};

               举例:int[] arr = new int[]{1,2,3};

    其实这种写法还有一个简化的写法:int[] arr ={1,2,3};

    两个常见的问题

    ArrayIndexOutOfBoundsException访问到了数组中的不存在的索引时发生。

NullPointerException数组引用没有指向实体却在操作实体中的元素时

理解冒泡排序:


      数组的遍历,复制

打印99乘法表,直角三角形,等腰三角形,杨辉三角

      Arrays.sort();

Arrays.toString();

——二维数组

       我们学校的每个班有很多个学生,所以,可以用数组来存储,而我们又同时有很多个班。这个也应该用一个数组来存储。如何来表示这样的数据呢?Java就提供了二维数组供我们使用。

       直观一些,其实二维数组其实就是一个元素为一维数组的数组。

——二维数组定义格式

数据类型[][]变量名= new 数据类型[m][n];

 

         m表示这个二维数组有多少个一维数组;

         n表示每一个一维数组的元素个数

         举例:

                int[][]arr = new int[3][2];

    定义了一个二维数组arr,这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2],每个一维数组有2个元素,可以通过arr[m][n]来获取,表示获取第m+1个一维数组的第n+1个元素。

数据类型[][]变量名= new 数据类型[m][];

    m表示这个二维数组有多少个一维数组,这一次没有直接给出一维数组的元素个数,可以动态的给出。

         举例:

                int[][] arr = newint[3][];

                arr[0] = newint[2];

                arr[1] = new int[3]

                arr[2] = newint[1];

 

数据类型[][]变量名= new 数据类型[][]{{元素…},{元素…},{元素…}}

            简化版格式:

数据类型[][]变量名= {{元素…},{元素…},{元素…}};

            举例:

                    int[][] arr =  {{1,2,3},{4,6},{6}};

 

 

原创粉丝点击