04747-Java(五)——数组和字符串
5.1 数组
- 数组是相同类型的元素按一定顺序排列的集合。
- 数组声明时不用说明容量,声明时不分配内存。
- 声明数组的格式:
类型 数组名[];
- 数组初始化的两种方法:静态初始化,动态初始化。
- 初始化数组的格式:
静态初始化:类型 数组名[]={值1,值2,...};
动态初始化:类型 数组名[]=new 类型[数组大小];
- 简述声明数组和创建数组的区别:
(1)声明数组是指定义一个数组,定义的格式为:类型 数组名[]。声明数组时不会为数组分配内存,声明的数组名只是引用变量,用来指向一个数组,还不能访问数组的任何元素。
(2)创建数组是指对声明过的数组进行分配空间,对其进行初始化,给数组的元素赋初值,创建数组以后可以使用数组的元素。数组创建分为静态初始化和动态初始化两种。静态初始化使用一对大括号{ }将初值括起来,每个元素对应一个引用。动态初始化使用运算符new为数组分配空间。 - 访问数组元素时需注意哪些问题:
(1)数组必须已经初始化,具有内存空间。
(2)访问数组元素通过数组名加上下标,即数组 名[下标数字]的形式进行,下标数字是从0 开始。
(3)数组初始化后其大小是固定不变的,所以访 问数组元素时需注意下标数字的必须小于数组的 length属性的值,否则会抛出越界异常。
5.2 字符串
- “==”与equals()的区别:
运算符“==”判定两个字符串对象是否是同一实例,内存中的存储空间是否相同。
方法equals()判定两个字符串的值是否相等。 - substring(3,5)表示从位置3开始,到位置5结束,不含位置5。
- 简述String类和StringBuffer类在对象分配内存时的区别:
String类分配内存时,按照对象中所含字符的实际个数等量分配。
StringBuffer类对象分配内存时,除去字符所占空间外,再另加16个字符大小的缓冲区。 - StringBuffer类用于处理可变字符串。
- 用字符数组创建字符串语句:
String s=new String(chars);
5.3 Vector类
- Vector类的实例可以保存不同类型的数据。
- Vector类可认为是动态数组,空间大小可变。
Vector v=new Vector(100,50);
50表示在v初始化的空间用尽后以50为单位递增空间。- 简述数组与Vector的显著区别:
(1)数组初始化(创建)后其容量大小固定不变,不能缩小或追加空间。而 Vector类实例的大小可以根据需要来改变。
(2)Vector保存的数据类型与数组也不一样,数组只能保存同一种数据,而 Vector实例可以保存不同类型的数据。
(3)数组元素的类型可以是基本数据类型,也可以是类对象,而 Vector类实例只能保存类的对象,不能保存基本类型的数据。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 珍珠巧克力!
评论
GitalkValine