java复习题 下载本文

答案:B解析:使用ByteArrayOutputStream(int size)构造方法便可以设置缓冲区的大小; ByteArrayOutputStream流关闭后仍可被调用,并且不会产生任何IOException。

ByteArrayOutputStream流与ByteArrayInputStream流分别对应的是字节输出流和字节输入流,没有强制要求配对使用。

32下面选项中,关于PrintStream类描述错误的是( )

A.PrintStream可以实现将基本数据类型的数据或引用数据类型的对象格式化成字符串后再输出B.PrintStream类位于IO包中,是字符输出流的子类

C.调用println()方法和print()方法输出对象数据时,对象的toString()方法被自动调用 D.PrintStream类提供了一系列用于打印数据的print()和println()方法 答案:B解析:PrintStream类位于IO包中,是字节输出流的子类

33在PipedInputStream类中,可以使管道输入流连接到管道输出流的方法是( ) A.connect () B.receive () C.read() D.available()

答案:A解析:receive ()方法用于接收数据字节,read()方法用于读取管道输入流中的下一个数据字节,available()方法可以获取不受阻塞地从此输入流中读取的字节数。 34下列选项中,关于管道流的说法错误的是( )

A.PipedOutputStream用于向管道中写入数据B.PipedInputStream用于从管道中读取数据 C.使用管道流时必须先建立连接D.PipedInputStream、PipedOutputStream属于字符流 答案:D解析:在字符流中也有一对PipedReader和PipedWriter用于管道的通信,它们的用法和PipedInputStream、PipedOutputStream相似

35下列有关HashSet集合的描述中,错误的是( )

A.HashSet是Set接口的一个实现类B.向HashSet存入对象时,对象一般会重写hashCode ()和equals ()方法C.向HashSet存入对象时,对象的equals ()方法一定会被执行D.HashSet存储的元素是不可重复的

答案:C解析:当调用HashSet集合的add()方法存入元素时,首先调用当前存入对象的hashCode()方法获得对象的哈希值,然后根据对象的哈希值计算出一个存储位置。如果该位置上没有元素,则直接将元素存入,如果该位置上有元素存在,才会调用equals()方法 36下列方法中可以用于往HashSet集合中添加元素的是( ) A.add(E e) B.contains(Object o) C.clear() D.iterator()

答案:A解析:用于往集合中添加元素的方法是add(E e)。contains(Object o)方法用于判断set集合中是否包含指定的元素, clear()方法移除此set集合中的所有元素,iterator()方法用于获取在此 set 中的元素上进行迭代的迭代器

37下列选项中,不属于FileWriter直接或间接父类的是( )

A.Object B.Writer C.OutputStreamWriter D. OutputStream 答案:D 38下列选项中,哪个类用于读取文本文件中的字符( )。

A.FileReader B.FileWriter C.BufferReader D.BufferWriter 答案:A

39下列选项中,哪个是FileWriter类中read()方法读取到流末尾的返回值?( ) A.0 B.-1 C.1 D.无返回值 答案:B

40使用FileReader读取reader.txt文本文件中的数据,reader.txt中的内容为:abc import java.io.*;

public class Example01 {

public static void main(String[] args) throws Exception { FileReader reader = new FileReader(\ int ch;

while ((ch = reader.read()) != -1) {

System.out.print(ch+\ }

reader.close(); }

}运行以上程序的结果是( )

A.编译出错 B.a b c C.97 98 99 D.无输出 答案:C 41阅读下列代码 import java.io.*;

public class Example{

public static void main(String[] args) throws Exception { // 创建一个带缓冲区的输入流

BufferedInputStream bis = new BufferedInputStream(new ________( \

// 创建一个带缓冲区的输出流

BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream(\ int len;

while ((len = bis.read()) != -1) { bos.write(len); }

bis.close(); bos.close(); }

}下列选项中,可以填写在程序空白处的是()

A.FileInputStream B.File C.InputStream D.以上答案都不正确 答案:A 42请将下列四个步骤进行排列,完成文件的拷贝操作( )

① 将字节流输入流和源文件相关联,输出流和目标文件相关联。 ② 明确源文件和目标文件。

③ 使用输入流的读取方法读取文件,并将字节写入到目标文件中。 ④ 关闭资源。

A.①②③④ B.②①③④ C.②③①④ D.①③②④ 答案:B 43阅读下段代码 import java.io.*;

public class Example{

public static void main(String[] args) throws Exception { FileInputStream fis = new FileInputStream(\

FileOutputStream fos = new FileOutputStream(\ int ch = 0;

while((ch =fis.read())!=-1){ fos.write(ch); }

fos._______; fis.close(); }

}下列选项中,哪个填写在程序的空白处,程序不会报错。 A.read() B.available() C.close() D.write() 答案:C 44下面关于List集合的描述中,哪一个是错误的?( ) A.List集合是有索引的 B.List集合可以存储重复的元素 C.List集合存和取的顺序一致 D.List集合没有索引

答案:D解析:List集合中所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素

45下列关于List接口的描述中,错误的是?()

A.List接口继承自Collection接口,是单列集合B.List集合中允许出现重复的元素 C.List集合存储元素是有序的,即元素的存入顺序和取出顺序一致 D.List集合中所有的元素是以二叉树方式进行存储的

答案:D解析:List集合中所有的元素是以线性方式进行存储的

46在DateFormat类中定义了四个常量值用于作为参数传递给这些方法,其中FULL常量表示?( )

A.完整格式 B.长格式 C.普通格式 D.短格式 答案:A

47Calendar类中,用于为指定的日历字段增加或减去指定的时间量的方法是?( ) A.int get(int field) B.void add(int field,int amount)

C.void set(int field,int value) D.void set(int year,int month,int date) 答案:B 48下列关于java.util.Date类的描述中,错误的是?()

A.无参的构造方法Date(),用来创建当前日期时间的Date对象 B.在JDK的java.util包中提供了一个Date类用于表示日期和时间 C.推荐使用Date(int year,int month,int date)构造方法来创建Date对象

D.接收一个long型参数date的构造方法Date(long date),用于创建指定时间的Date对象 答案:C解析:Date(int year,int month,int date)构造方法已经过时,Date类中只有两个构造方法是建议使用的,一个是无参的构造方法Date(),用来创建当前日期时间的Date对象。另一个是接收一个long型参数date的构造方法Date(long date),用于创建指定时间的Date对象。

49下列方法中,用于返回当前日期的方法是?( )

A.Date() B. Date(int year, int month, int date) C.Date(String s) D.Date(long date) 答案:A 50下列是Math类中的一些常用方法,其中用于获取大于等于0.0且小于1.0的随机数的方法是?(

A.random() B.abs() C.sin() D.pow() 答案:A

51下列关于Math.random()方法的描述中,正确的是?( ) A.返回一个不确定的整数 B.返回0或是1

C.返回一个随机的double类型数,该数大于等于0.0小于1.0

D.返回一个随机的int类型数,该数大于等于0.0小于1.0 答案:C 52下列方法中,用于判断字符串是否相等的是()

A.boolean contains(CharSequence cs) B.String toLowerCase()

C.boolean equals(Object anObject) D.boolean isEmpty() 答案:C

53下列方法中,哪个用于实现获取字符在某个字符串中第一次出现的索引?() A.char charAt(int index) B.int indexOf(int ch) C.int lastIndexOf(int ch) D.boolean endsWith(String suffix) 答案:B

54已知 String 对象 s=\,则 s.substring(2, 5)的返回值为?( ) A.\ B. \ C.\ D.\ 答案:B

55假如indexOf()方法未能找到所指定的子字符串,那么其返回值为?( ) A.false B.0 C.-1 D.以上答案都不对 答案:C 56java.net包中提供了一个【】类用于表示TCP客户端 答案:Socket 析:java.net.Socket类表示TCP客户端

57使用UDP协议开发网络程序时,需要使用两个类,分别是【】和【】 答案:DatagramPacket,DatagramSocket 58在Java中,【】类用于操作磁盘中文件和目录,位于【】包中 答案:File,java.io 59Java中一个字符占用两个字节,所有字符采用的都是【】码表 答案:Unicode

60System.out是【】类的对象,称为标准输出流,调用System类的【】方法可以实现标准输出流的重定向。 答案:PrintStream,setOut(PrintStream out) 61在Java中,能实现线程间通信的流是【】。 答案:管道流

62InputStreamReader类是用于将【】转换为【】 答案:字节流,字符流 63BufferedWriter的【】方法可以写入一个换行符 答案:newLine()

64在程序中若想取得一个Runtime实例,则可以调用Runtime类的静态方法【】。 答案:getRuntime()

65Math类中用于计算所传递参数平方根的方法是【】 答案:sqrt()

66Math类中有两个静态常量PI和E,分别代表数学常量【】和【】答案:π, e

67已知 sb 为 StringBuffer 的一个实例,且 sb.toString() 的值为 \\, 则执行sb. reverse()后,sb.toString()的值为【】。答案:edcba 68在TCP/IP协议中,【】可以用来唯一标识一台计算机答案:IP地址

解析:要想使网络中的计算机能够进行通信,必须为每台计算机指定一个标识号,通过这个标识号来指定接受数据的计算机或者发送数据的计算机。在TCP/IP协议中,这个标识号就是IP地址,它可以唯一标识一台计算机。

69LineNumberReader 可以在读文件的同时记录行号,它是【】的直接子类。答案:BufferedReader

70线程的优先级用1~10之间的整数来表示,其中【】代表优先级最高,【】代表优先级最低。 答案:10,1

71yield()方法只能让相同优先级或者更高优先级、处于【】状态的线程获得运行的机会。 答案:就绪

72要将某个线程设置为后台线程,需要调用该线程的【】方法,该方法必须在【】方法之前调用。 答案:setDaemon(true),start() 73 线程的整个生命周期分为五个阶段,分别是【】、【】、【】、【】和【】。答案:新建状态(New),就绪状态(Runnable),运行状态(Running),阻塞状态(Blocked),死亡状态(Terminated) 74当新线程启动后,系统会自动调用【】方法。答案:run()

75在使用JComboBox时,方法【】可以设置组合框的选项是否可编辑 答案:void setEditable(boolean aFlag) 76JTextField有一个子类【】,它表示一个密码框 答案:JPasswordText

77JTextField和JTextArea这两个文本组件都继承了【】类 答案:JTextComponent

78如果想往JScrollPane面板中添加多个组件,应该先将组件添加到【】中,然后将其添加到JScrollPane中 答案:JPanel

79FlowLayout的构造方法FlowLayout(int align)中,参数align决定组件在每行中相对于【】的对齐方式 答案:容器边界

80向BorderLayout的布局管理器添加组件时,如果不指定添加到哪个区域,则默认添加到【】区域 答案:CENTER