5.1 数组

  1. 数组是相同类型的元素按一定顺序排列的集合。
  2. 数组声明时不用说明容量,声明时不分配内存。
  3. 声明数组的格式:类型 数组名[];
  4. 数组初始化的两种方法:静态初始化,动态初始化。
  5. 初始化数组的格式:
    静态初始化:类型 数组名[]={值1,值2,...};
    动态初始化:类型 数组名[]=new 类型[数组大小];
  6. 简述声明数组和创建数组的区别:
    (1)声明数组是指定义一个数组,定义的格式为:类型 数组名[]。声明数组时不会为数组分配内存,声明的数组名只是引用变量,用来指向一个数组,还不能访问数组的任何元素。
    (2)创建数组是指对声明过的数组进行分配空间,对其进行初始化,给数组的元素赋初值,创建数组以后可以使用数组的元素。数组创建分为静态初始化和动态初始化两种。静态初始化使用一对大括号{ }将初值括起来,每个元素对应一个引用。动态初始化使用运算符new为数组分配空间。
  7. 访问数组元素时需注意哪些问题:
    (1)数组必须已经初始化,具有内存空间。
    (2)访问数组元素通过数组名加上下标,即数组 名[下标数字]的形式进行,下标数字是从0 开始。
    (3)数组初始化后其大小是固定不变的,所以访 问数组元素时需注意下标数字的必须小于数组的 length属性的值,否则会抛出越界异常。

5.2 字符串

  1. “==”与equals()的区别:
    运算符“==”判定两个字符串对象是否是同一实例,内存中的存储空间是否相同。
    方法equals()判定两个字符串的值是否相等。
  2. substring(3,5)表示从位置3开始,到位置5结束,不含位置5。
  3. 简述String类和StringBuffer类在对象分配内存时的区别:
    String类分配内存时,按照对象中所含字符的实际个数等量分配。
    StringBuffer类对象分配内存时,除去字符所占空间外,再另加16个字符大小的缓冲区。
  4. StringBuffer类用于处理可变字符串
  5. 用字符数组创建字符串语句:String s=new String(chars);

5.3 Vector类

  1. Vector类的实例可以保存不同类型的数据。
  2. Vector类可认为是动态数组,空间大小可变。
  3. Vector v=new Vector(100,50);50表示在v初始化的空间用尽后以50为单位递增空间。
  4. 简述数组与Vector的显著区别:
    (1)数组初始化(创建)后其容量大小固定不变,不能缩小或追加空间。而 Vector类实例的大小可以根据需要来改变。
    (2)Vector保存的数据类型与数组也不一样,数组只能保存同一种数据,而 Vector实例可以保存不同类型的数据。
    (3)数组元素的类型可以是基本数据类型,也可以是类对象,而 Vector类实例只能保存类的对象,不能保存基本类型的数据。