当前位置:文档之家› 第五章 数组和字符串

第五章 数组和字符串

第五章 数组和字符串
第五章 数组和字符串

第五章数组和字符串

一, 填空题

1.Java 语言提供的用于处理可变字符串的字符串类是______。(StringBuffer)

2.Java 语言提供的用于处理不可变字符串的字符串类是______。(String)

3.使用运算符==判定两个String 类的对象是否相等, 此时判定的是______。(两个对象在内存中的存储空间是否相同)

4.数组静态初始化是指______。(在数组声明的同时给数组元素符初值)

5.数组动态初始化时, 必须使用______分配空间。(new运算符)

6.数组下标可以是______。(整型常量或表达式)

7.执行String s1= “023368”; String s2 =s1.replace (“3”,”6”); 后, s2的值是______。(026668)

二, 填空题

1.在Java中是如何完成数组边界检查的?

在Java 中, 数组下标从0 开始, 数组中的元素个数length 是数组类中唯一的数据成员变量。使用new 创建数组时系统自动给length 赋值。数组一旦创建完毕, 其大小就固定下来。程序运行时可以使用length 进行数组边界检查。如果发生越界访问, 则抛出一个异常。

2.请简述数组创建的过程. 如何创建一个对象数组?

数组声明仅仅是定义了一个数组引用, 系统并没有为数组分配任何内存, 因此现在还不能访问它的任何元素。必须经过数组初始化后, 才能使用数组的元素。初始化的过程就是数组的创建过程。对于类类型的数组, 使用运算符new 只是为数组本身分配空间,并没有对数组的元素进行初始化。所以对类类型的数组, 空间分配需要经过两步: 1. 先创建数组本身: 类型数组名[] = new 类型[数组大小]; 2. 分别创建各个数组元素: 数组名[0] = new 类型(初始表); …………数组名[数组大小-1] = new 类型(初始表);

3.数组的内存分配是如何完成的?

数组的初始化为数组分配内存空间。数组的初始化分为静态初始化和动态初始化两种。所谓静态初始化就是在定义数组的同时给数组元素赋初值。静态初始化使用一对大括号将初值括起来, 每个元素对应一个引用(内存地址)。动态初始化使用运算符new 为数组分配内存空间,它只指定数组的长度, 由系统为每个数组元素指定初始值。

4.String 类和StringBuffer 类有什么区别?

String类的对象实例是不可改变的,一旦创建就确定下来。对字符串实施操作后并不改变字符串本身,而是又生成了另一个实例。

StringBuffer 类处理可变字符串,当修改一个StringBuffer类的字符串时,不是再创建一个新的字符串对象,而是直接操作原字符串。

5.是否可以继承String 类?

相关主题
文本预览
相关文档 最新文档