专题7 异常处理 一. 填空题
1.一个try语句块后必须跟( )语句块,( )语句块可以没有 2.自定义异常类必须继承( )类及其子类
3.异常处理机制允许根据具体的情况选择在何处处理异常,可以在( )捕获并处理,也可以用throws子句把他交给( )处理
二.选择题
1. finally语句块中的代码( ) A.总是被执行
B.当try语句块后面没有catch时,finally中的代码才会执行 C.异常发生时才执行
D.异常没有发生时才被执行
2. 抛出异常应该使用的关键字是( ) A.throw B.catch C.finally
D.throws
3. 自定义异常类时,可以继承的类是( ) A.Error B.Applet
C.Exception及其子类
D.AssertionError
4. 在异常处理中,将可能抛出异常的方法放在( )语句块中 A.throws B.catch C.try
D.finally
5. 对于try{??}catch子句的排列方式,下列正确的一项是( ) A.子类异常在前,父类异常在后 B.父类异常在前,子类异常在后 C.只能有子类异常
D.父类异常与子类异常不能同时出现
6. 使用catch(Exception e)的好处是( ) A.只会捕获个别类型的异常
B.捕获try语句块中产生的所有类型的异常 C.忽略一些异常 D.执行一些程序
三.简答题
1.try/catch/finally如何使用?
2.Throw/throws有什么联系和区别? 3.如何自定义异常类?
4.谈谈final、finally的区别和作用 5.如果try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行?
6.Error和Exception有什么区别?(重要)
7.什么是RuntimeException?列举至少4个RuntimeException的子类
四.编程题
1.编写程序,要求输入若干整数,输入的同时计算前面输入各数的乘积,若乘积超过100000,则认为是异常,捕获并处理这个异常,输出信息。
2.编写一个登录界面,要求帐户名只能由1至10位数字组成,密码只能有6位,任何不符合帐户名和密码要求的情况都视为异常,必须捕获并处理异常
3.设计自己的异常类表示对负数求平方根的错误;在类Test的主方法中,从键盘输入一个数,若输入的数不小于0,则输出它的平方根;若小于0,则抛出自定义异常;在程序中处理异常并输出提示信息“输入错误,不能对负数求平方根”
专题8 多线程 一、填空题
1.Java语言实现多线程的方法有两种,它们是( )和( ) 2.线程有5种状态,它们是( )、( )、( )、( )和( ) 3.在java中,线程同步是通过( )关键字实现的 4.新创建的线程默认的优先级是( )
5.当一个线程睡眠时,sleep()方法不消耗( )时间
二.选择题
1. 一个Java程序运行后,在系统中这个程序便可以作为一个( ) A.线程 B.进程 C.进程或线程 D.不可预知 2. 设已经编好了一个线程类MyThread,要在main()中启动该线程,需使用以下哪个
方法( ) A.new MyThread
B.MyThread myThread=new MyThread(); myThread.start(); C.MyThread myThread=new MyThread(); myThread.run(); D.new MyThread.start();
3. 以下哪个方法不能使线程进入阻塞状态( ) A.sleep() B.wait() C.suspend() D.stop() 4. 可以使用( )方法设置线程的优先级
A.getPriority() B.setPriority() C.yield() D.wait() 5. 线程是Java的( )机制
A.检查 B.解释执行 C.并行 D.并发 6. 以下方法用于定义线程执行体的是( ) A.start() B.init() C.run() D.main()
7. 一个线程如果调用了sleep()方法,能唤醒它的方法是( ) A.notify() B.resume() C.run() D.以上都不是
三、编程题
1.设计四个线程对象对同一个数据进行操作,两个线程执行减操作,两个线程执行加操作
2.制作两个线程对象,要求用同步块的方式使第一个线程运行2次,然后将自己阻塞起来,唤醒第二个线程,第二个线程再运行2次,然后将自己阻塞起来,唤醒第一个线程??两个线程交替执行。
专题9 图形用户界面编程 一.填空题
1. AWT的组件库被更稳定、通用、灵活的库取代,该库称为( ) 2. ( )用于安排容器上的GUI组件
3. 设置容器的布局管理器的方法是( )
4. 当释放鼠标按键时,将产生( )事件
5. Java为那些声明了多个方法的Listener接口提供了一个对应的( ),在该类中
实现了对应接口的所有方法 6. ActionEvent事件的监听器接口是( ),注册该时间监听器的方法名是( ),
事件处理方法名是( )
7. 图形用户界面通过( )相应用户和程序的交互,产生事件的组件称为( ) 8. Java的Swing包中定义菜单的类是( ) 9. 向容器内添加组件使用( )方法
10. 对话框有两种类型,分别是( )和( ) 11. 工具栏一般放在窗口的( )位置
12. 若要使表格具有滚动条,需要将表格添加到( )组件中。 13. paint() 方法的参数是( )类的实例
14. drawRect(int x1,int y1,int x2,int y2)中,x2和y2分别代表矩形的(
二.选择题
1. 窗口JFrame使用( )方法可以将jMenuBar对象设置为主菜单 A.setHelpMenu(jMenuBar) B.add(jMenuBar) C.setJMenuBar(jMenuBar)
D.setMenu(jMenuBar) 2. 下面属于容器类的是( ) A.Color类
B.JMenu类 C.JFrame类
D.JTextField类 3. 使用( )类创建菜单对象 A.Dimension
B.JMemu
C.JMenuItem D.JTextArea 4. 使用( )方法创建菜单中的分隔条 A.setEditable B.ChangeListener C.add D.addSeparator 5. JPanel和JApplet的默认布局管理器是( ) A.CardLayout B.FlowLayout C.BorderLayout
D.GridLayout 6. JFrame的默认布局管理器是( ) A.CardLayout
B.FlowLayout
C.BorderLayout D.GridLayout
7. 按钮可以产生ActionEvent事件,实现哪个接口可以处理此事件( A.FocusListener B.ComponentListener C.ActionListener D.WindowListener 8. 容器使用( )方法将组件添加到容器 A.addComponent() B.add()
)
) )和(