四:认识Java数组

作者: 阳光流影 | 来源:发表于2018-11-13 17:23 被阅读0次

    数组的概念

    在Java中,数组是由相同数据类型的很多元素组成的一组序列。在数组中的每一个元素都有一个唯一的地址,对数组元素的存取都可以通过这个地址,我们把这个地址叫做索引(index)。一个整数(integer)类型的数组可以形象地表示成如下这张图片。

    数组元素和索引

    需要注意的是,在Java中,数组第一个元素的索引值是0,最后一个元素的所有是(数组的长度-1)。

    数组的声明

    声明(定义变量)一个数组变量可以使用如下语法:

    datatype[] arrayVariableName= new datatype[numberOfArrayElements];
    

    例如,声明一个int类型的数组,可以这么写:

    int[] myArray = new int[10];
    

    对以上这个数组的说明:

    1. 首先,这是一个int类型的数组,其中存放的所有元素都是int类型。
    2. 数组中共有10个元素,即数组的容量(大小)是10.
    3. 数组中每一个元素都是0。直到我们显式地修改其中的值。

    除此之外,我们在声明数组的时候也可以直接给每个元素赋值,如下数组的声明也是合法的:

    int[] nums={5, 3, 6, 8, 11, 2};
    

    如果我们在声明数组的时候没有直接给每个元素赋值操作,像这个数组int[] nums=new int[10];,那么数组中的每个元素都保持相应数据类型的默认值,如下是Java中八种基本数据类型的默认值:

    数据类型 默认值(0值)
    int/short/long/byte 0
    char '\u0000'
    boolean false
    double/float 0.0

    注意:Java中引用类型的默认值为Null,Null是上一篇文中提到的"没有对象"的意思。String类型也是引用类型,其默认值是Null。另外,数组本身也是引用类型,它的默认值是Null,即,如果我们声明一个数组int[] nums=null;,那么,nums本身是没有被赋值的,nums==Null,此时对nums进行操作时系统就会抛出java.lang.NullPointerException的错误。

    数组的操作练习

    定义一个长度为10的整型数组,数组变量名称nums,修改数组第一,第二,第三元素的值分为98,86,90。
    解答:
    首先,定义int类型数组:

    int[] nums = new int[10];
    

    此时的数组元素如下:

    声明长度为10的整数型数组
    通过index访问数组元素,元素1,元素2,元素3的值并修改,此时请注意数组元素的索引是从0开始的,即第一个元素是nums[0]:
    nums[0]=98;
    nums[1]=86;
    nums[2]=90;
    

    修改过后的数组元素如下:


    修改后的数组元素

    java.lang.ArrayIndexOutOfBoundsException

    由于数组是有大小的,如果我们通过数组索引来存取数组元素时使用了不恰当的索引值,系统就会抛出ArrayIndexOutOfBoundsException。例如,int[] nums=new int[10]这个数组元素的索引值范围时0 ~ 9,一旦我们访问nums[10]或时nums[-1], 数组索引出界的异常就会被触发。

    相关文章

      网友评论

        本文标题:四:认识Java数组

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