《Java程序设计》练习题
10、下列关于Collections类的静态方法binarySerach()的说法,错误的是【 】
A.使用二分搜索法搜索指定列表 B.如果没有找到,则返回负值 C.查找前列表必须先排序
D.如果有多个相同元素,则返回第一个的索引 二、填空题
1、JDK中提供了一系列可以存储任意对象的类,统称为____________ 2、在创建TreeSet对象时,可以传入自定义的比较器,自定义比较器需要实现_______________接口。
3、使用Iterator遍历集合时,首先需要调用______________方法判断是否存在下一个元素,若存在下一个元素,则调用_____________方法取出该元素。 4、使用Iterator遍历集合时,首先需要调用______________方法判断是否存在下一个元素,若存在下一个元素,则调用_____________方法取出该元素。 5、集合按照存储结构的不同可分为单列集合和双列集合,单列集合的根接口是________________,双列集合的根接口是___________。
6、Map集合中的元素都是成对出现的,并且都是以__________、_________的映射关系存在。
7、Iterator有一个子类,不仅可以对集合进行从前向右遍历,还可以从后向前遍历,该类是______________。
8、List集合的主要实现类有__________、__________,Set集合的主要实现类有__________、__________,Map集合的主要实现类有__________、_________。 9、Map集合中存在元素需要调用____________方法,要想根据该集合的键获取对应的值需要调用___________方法。
10、java.util包中提供了一个专门用来操作集合的工具类,这个类是________,还提供了一个专门用于操作数组的工具类,这个类是____________。 三、判断题
1.Set集合是通过键值对的方式来存储对象的。
2.集合中不能存放基本数据类型,而只能存放引用数据类型。
3.如果创建的TreeSet集合中没有传入比较器,则该集合中存入的元素需要实现Comparable接口。
4.使用Iterator迭代集合元素时,可以调用集合对象的方法增删元素。 5.LinkedList在内部维护了一个双向循环链表,每一个元素节点都包含前一个元素节点和后一个元素节点的引用。
11
《Java程序设计》练习题
四、简答题
1、集合中的List、Set、Map有什么区别? 2、请说说Collection和Collections有什么区别? 五、分析题
1、分析下面的程序,然后写出程序的运行结果: import java.util.*; public class Exp0719 { }
2、分析下面的程序,然后写出程序的运行结果: import java.util.*; public class Exp0720 {
public static void main(String[] args) {
TreeMap tm = new TreeMap(); tm.put(\tm.put(\tm.put(\Set keySet = tm.keySet(); Iterator it = keySet.iterator(); while (it.hasNext()) {
Object key = it.next(); Object value = tm.get(key);
public static void main(String[] args) { }
Map map = new LinkedHashMap(); map.put(\map.put(\map.put(\Set keySet = map.keySet(); Iterator it = keySet.iterator(); while (it.hasNext()) { }
Object key = it.next(); Object value = map.get(key);
System.out.println(key + \
12
《Java程序设计》练习题
}
}
}
System.out.println(key + \
六、设计题
1、已知学生类s6_Stud4,成员变量有no(学号,int)、name(姓名,String)、chinese(语文成绩,int)和math(数学成绩,int)。编程,要求按总成绩降序排列,若总成绩相同,按语文成绩降序排列,并编制简单的测试类。
第六章 Java IO(输入输出)
一、选择题
1、以下选项中,哪个是FileOutputStream的父类【 】
A.File B.FileOutput C.OutputStream D.InputStream 2、File类中以字符串形式返回文件绝对路径的方法是 【 】 A.getParent() B.getName() C.getAbsolutePath() D.getPath()
3、以下哪个不是InputStream类的方法?【 】 A.int read(byte[]) B.void flush() C.DataOutputStream D.available
4、以下选项中,哪个流中使用了缓冲区技术?【 】 A.BufferedOutputStream B.FileInputStream C.DataOutputStream D.FileReader
5、以下选项中,哪个是File类delete()方法返回值的类型?【 】 A.boolean B.int C.String D.Integer
6、以下选项中,哪个文件操作类可以实现一次读入多个文件?【 】。 A、FileReader B、BufferedReader
C、FileInputStream D、SequenceInputStream
7、以下对File类的public boolean isFile()方法的描述,哪个是正确的【 】。 A、判断该File对象所对应的是否是文件 B、判断该File对象所对应的是否是目录 C、返回文件的最后修改时间 D、在当前目录下生成指定的目录
8、以下哪个包和Java.nio包共同提供了用于输入/输出流和文件操作的各种类型【 】。
13
《Java程序设计》练习题
A、java.lang B、java.util C、java.io D、java.text 9、BufferedReader的父类是【 】。
A、Reader B、FileReader C、PipedReader D、InputStreamReader
10、要确定磁盘分区的容量和可用空闲空间等信息,可以使用的类是【 】。 A、Drive B、Directory C、File D、FileOutputStream 二、填空题
1、Java中的IO流,按照传输数据不同,可分为____________和__________。 2、在Java中,__________类用于操作磁盘中的文件和目录,位于___________包中。
3、在Java中,______________________类用来把两个或更多的InputStream输入流对象合并为单个InputStream输入流对象使用。
4、Java中提供了一个类____________________,它不但具有读写文件的功能,并且可以随机地从文件的任何位置开始执行读写数据的操作。 5、在Java中,能实现线程间通信的流是_____________。
6、InputStreamReader类是用于将____________流转换为____________。 三、判断题
1、如果一个File表示目录下有文件或者子目录,调用delete()方法也可以将其删除。
2、装饰设计模式中,装饰对象应该包含一个被装饰对象的引用。
3、使用ObjectInputStream与ObjectOutputStream类来读取或存储的对象必须要实现Serializable接口,否则程序将出现NotSerializableException异常。 4、InputStream类的close()方法是用于关闭流并且释放流所占的系统资源。 5、一般来说,把字符转换成计算机识别的字节序列称为解码,而把字节序列转换为普通人能看懂的明文字符称为编码。 四、简答题
1、Java流被分为字节流、字符流两大流类,两者有什么区别? 六、设计题
1、创建新的文本文件myFile.txt,从控制台输入内容并写入源文件中,然后读取并显示myFile.txt内容。
2、在指定的文本文件中查找指定的关键字,并打印包含结果的行。文本文件和关键字均由命令行参数指定。
第七章 GUI(图形用户界面)
14
《Java程序设计》练习题
一、选择题
1、下面四个组件中哪一个不是Component的子类?【 】 A.Button B.Dialog C.Label D.MenuBar 2、每个GUI程序中必须包含一个什么组件【 】 A.按钮 B.标签 C.菜单 D.容器
3、当鼠标按键被释放时,会调用以下哪个事件处理器方法?【 】 A.mouseReleased() B.mouseUp() C.mouseOff D.mouseLetGo
4、ActionEvent的对象会被传递给以下哪个事件处理器方法?【 】 A.addChangeListener() B.addActionListener() C.stateChanged() D.actionPerformed()
5、下面哪个不是FlowLayout类中表示对齐方式的常量?【 】 A.FlowLayout.LEFT B.FlowLayout.CENTER C.FlowLayout.VERTICAL D.FlowLayout.RIGHT 6、下面对Swing的描述,不正确的是【 】。 A、Swing是在AWT基础上构建的一套新的图形界面系统 B、Swing提供了AWT所能够提供的所有功能 C、Swing组件是用Java代码来实现的 D、Swing组件都是重量级组件
7、下面四对AWT和Swing对应组件中,错误的是【 】。 A、Button和JButton B、Dialog和JDialog C、MenuBar和JMenuBar D、ComboBox和JComboBox 8、使用下面哪个组件可以接收用户的输入信息【 】。
A、JButton B、JLabel C、JTextField D、以上都可以9、JFrame的默认布局管理器为【 】。
A、BorderLayout B、FlowLayout C、BoxLayout GridLayout
10、Japplet的默认布局管理器为【 】。
A、BorderLayout B、FlowLayout C、BoxLayout GridLayout
11、Jpanel的默认布局管理器为【 】
A、BorderLayout B、FlowLayout C、BoxLayout GridLayout
12、将组件垂直摆放在一列或水平摆放在一行中的布局管理器是【 】15
D、D、D、