面向对象程序设计习题库+参考答案解析.docx
面向对象程序设计习题库+参考答案解析
一、单选题(共20题,每题1分,共20分)
1.下面关于List集合的描述中,哪一个是错误的()
A、List集合是有索引的
B、List集合可以存储重复的元素
C、List集合存和取的顺序一致
D、List集合没有索引
正确答案:D
答案解析:List集合中所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。
2.以下关于java命令作用的描述中,正确的是()
A、它专门负责解析由Java编译器生成的.class文件
B、它可以将编写好的Java文件编译成.class文件
C、可以把文件压缩
D、可以把数据打包
正确答案:A
答案解析:java命令负责运行编译后的.class文件。
3.假设HashMap集合的capacity为默认大小,加载因子loadFactor为0.75,则该集合桶的阀值就为()
A、12
B、16
C、0.75
D、32
正确答案:A
答案解析:通过newHashMap()方法创建HashMap时,会默认集合容量capacity大小为16,加载因子loadFactor为0.75(HashMap桶多少权衡策略的经验值),此时该集合桶的阀值就为12(容量capacity与加载因子loadFactor的乘积)
4.下列选项中,不属于InputStreamReader类的方法的是()
A、getEncoding()
B、close()
C、read()
D、flush()
正确答案:D
答案解析:flush()用于刷新流的缓冲不属于InputStreamReader类的方法。
5.下列关于System类的描述中,错误的是()
A、System类是final关键字修饰的类,它不能被其他类所继承
B、System类不能被实例化
C、System类只定义了方法,没有定义属性。
D、System类中提供了获取当前系统属性的方法
正确答案:C
答案解析:System类中定义了三个属性,err、out和in,分别表示“标准”错误输出流、“标准”输入流和“标准”输出流。
6.以下关于foreach的说法中,哪一个是错误的()
A、使用foreach遍历集合时,可以对元素进行修改。
B、foreach可以对数组进行遍历。
C、foreach可以对集合进行遍历。
D、foreach循环是一种更加简洁的for循环,也称增强for循环。
正确答案:A
答案解析:使用foreach遍历集合或数组时,不能对其值进行修改。
7.下列目录中,哪一个是用来存放JDK核心源代码的()
A、lib目录
B、src目录
C、jre目录
D、include目录
正确答案:B
答案解析:JDK核心源代码存放在src文件夹下。
8.下列关于foreach循环的描述,错误的是()
A、foreach循环只能用于遍历数组或集合中的元素
B、foreach循环可以直接用于遍历Map集合中的元素
C、相当于传统for循环来说,foreach循环简化了书写
D、foreach循环遍历过程中不能对集合或数组元素进行修改
正确答案:B
答案解析:数组或者实现Iterable接口的对象才能使用foreach循环,Map集合不符合要求,显然不能直接使用foreach循环。
9.若doubleval=Math.ceil(-11.9);,则val的值是()
A、11.9
B、-11.0
C、-11.5
D、-12.0
正确答案:B
答案解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。
10.FileWriter类的write(intc)方法的作用是()
A、写出单个字符
B、写入多个
C、写入一个整形数据
D、写入单个字符
正确答案:D
答案解析:write(intc)方法用于写入单个字符。
11.下列选项中,哪个类是用来读取文本的字符流?()
A、FileReader
B、FileWriter
C、FileInputStream
D、FileOutputStream
正确答案:A
答案解析:FileReader是用来读取文本的字符流。FileWriter是用于写入文本的字符流;FileInputStream是用于读取字节的字节流;FileOutputStream是用于写入字节的字节流。
12.下面选项中,完全面向对象的编程语言是()
A、C
B、COBOL
C、JAVA
D、FORTRAN
正确答案:C
答案解析:Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯粹的面向对象程序设计语言。
13.关于final修饰成员变量说法正确的是()
A、被final修饰的成员变量为常量
B、被final修饰的成员变