Java SE 11 Sliver学习笔记(第五章)

Java SE 11 sliver资格考试相关

第五章 配列の操作(二次)

間違えた:1,3,5,6,7,9

間違えし易い:

分からない:

回顾
  1. 数组只能存相同类型或者是有互换性的值。并且数组可容纳的要素个数在数组的instance生成的时候被确定,之后是无法变更的。
    数组存基本型和object型的区别是,基本型是存的数据本身,object是存的参照(指向要素本身的link)。
    println方法是把使用传入参数的toString方法,并将结果打印,数组的toString是继承自object类,内容为将类名和唯一化的instance的hashcode组合值返回。

  2. 声明数组变量时,[]既可以写在变量名之前,也可以写在变量名之后,因此分开写(多次元数组两边都写)也是可以的。

  3. 由于数组变量只是用来存数组instance的参照,跟具体的数组instance中有多少个元素无关,因此在声明数组变量时,是不能在[]中指定数组的要素个数的。例如int[3]a就会报编译错误。

  4. 数组instance生成时,必须要指定要素个数。并且要素的个数只能是整数值。并且要素数的指定只能使用int型,long型也是不能使用的。
    当生成多元数组的instance时,如果一元和二元分开生成时,第一次元的要素数是无法省略的。例如
    int[][]e = new int[][3]会报错,而int[][]e = new int[2][]就不会。
    另外,数组变量和生成的instance的次元数也必须一致。一元的要素数和二元的要素数不相同也是可以的。

  5. 生成object数组instance时,要注意生成的只是指向object的参照,并不是生成了object本身
    数组生成时default的值如下表所示

    default值
    整数型 0
    浮点小数型 0.0
    boolean型 false
    文字型 ¥u0000
    object null
  6. 如果想在生成数组instance的时候也对数组的要素值进行初期化时,可以使用初始化符号{}
    null是可以带入String变量的,打印的时候会直接打印null。

  7. 生成数组的几种方法。

    1. 最简单的int[] array = {3, 4}
    2. int[] array = new int[] {3, 4}注意,在这种情况下,一定要在{}中指定要素的个数,根据大括号中值的个数,决定生成数组的要素数,因此不需要在中括号中写入要素的个数,如果同时写入的话,会报错。
    3. 数组变量的次元数和instance中的次元数必须相同,因此这样的code也会报:错int[][] array = new int[]{}
    4. int[][] array = {}不会报错。
    5. 初始化符号{}必须要跟变量宣言同时使用。除非明示的将次元数指定了。
      例如int[][] array; array = new int[][]; 就不会报错。但是如果后面改为array = {2, 3}就会报错。
  8. array.length中的length不是变量,而是在编译时,转换为查数组中要素的个数的命令。类似于方法。

  9. 可以生成interface的数组。数组中也可以存interface的实现类,如果是父类的数组,数组中可以存子类。如果是抽象类的数组,可以存实现抽象类的具象类。

  10. 可以使用数组的clone方法生成原数组的instance相同的另一个instance。如果是二维数组,一维的instance虽然不同,但是指向的二维的instance是相同的。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2020-2021 Joe
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信