第一章异常处理一、选择题1.java中用来抛出异常的关键字是A、tryB、catchC、throwD、finally2.关于异常,下列说法正确的是A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都不对3.()类是所有异常类的父类。A、ThrowableB、ErrorC、ExceptionD、AWTError4.java语言中,下列哪一子句是异常处理的出口A、try{…}子句B、catch{…}子句C、finally{…}子句D、以上说法都不对5.下列程序的执行,说法正确的是publicclassMultiCatch{publicstaticvoidmain(Stringargs[]){try{inta=args.length;intb=42/a;intc[]={1};c[42]=99;System.out.println(“b=”+b);}catch(ArithmeticExceptione){System.out.println(“除0异常:”+e);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(“数组超越边界异常:”+e);}}}A、程序将输出第15行的异常信息B、程序第10行出错C、程序将输出“b=42”D、程序将输出第15和19行的异常信息6.下列程序的执行,说法正确的是classExMulti{staticvoidprocedure(){try{intc[]={1};c[42]=99;}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(“数组超越界限异常:”+e);}}publicstaticvoidmain(Stringargs[]){try{procedure();inta=args.length;intb=42/a;System.out.println(“b=”+b);}catch(ArithmeticExceptione){System.out.println(“除0异常:”+e);}}}A、程序只输出第12行的异常信息B、程序只输出第26行的异常信息C、程序将不输出异常信息D、程序将输出第12行和第26行的异常信息7.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。classTrowsDemo{staticvoidprocedure()throwsIllegalAccessException{System.out.println(“insideprocedure”);throw____new___IllegalAccessException(“demo”);}publicstaticvoidmain(Stringargs[]){try{procedure();}___________{System.out.println(“捕获:”+e);}}8.对于catch子句的排列,下列哪种是正确的()A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关9.在异常处理中,如释放资源、关闭文件、关闭数据库等由()来完成。A、try子句B、catch子句C、finally子句D、throw子句10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的()A、捕获异常B、抛出异常C、声明异常D、嵌套异常11.哪个关键字可以抛出异常?A、transientB、finallyC、throwD、static12.一个异常将终止()A、整个程序B、只终止抛出异常的方法C、产生异常的try块D、×上面的说法都不对二、填空题1、catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与____异常__对象的类进行匹配。2、java虚拟机能自动处理______RuntimeException_____异常。3、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-__finally____语句捕获并处理。4、java语言认为那些可预料和不可预料的出错称为__Throwable_____5、按异常处理不同可以分为运行异常、捕获异常、声明异常和___自定义异常___几种。6、抛出异常、生成异常对象都可以通过Throws句实现。7、捕获异常的统一出口通过___finally____语句实现。8、java语言的类库中提供了一个___Throwable__类,所有的异常都必须是它的实例或它子类的实例。9、Throwable类有两个子类:______Error____类和Exception类。10、对程序语言而言,一般有编译错误和____运行____错误两类。11、下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。publicclassHelloWorld{inti=0;Stringgreetings[]={“Helloworld!”,“No,Imeanit!”,“HELLOWORLD!!”};while(i4){____try____{System.out.println(greeting[i]);}____catch____(ArrayIndexOutOfBoundsExceptione){System.out.println(“Re-settingIndexValue”);i=-1;}finally{System.out.println(“Thisisalwaysprinted”);}i++;}}三、判断题1.(f)程序中抛出异常时(throw…),只能抛出自己定义的异常对象。或子类的实例!2.(t)一个异常处理中finally语句块只能有一个或者可以没有。3.(t)异常类对象代表当前出现的一个具体异常。4.(t)java语言中的所有异常类都是java.lang.Throwable的子类。5.(f)如果异常发生时,没有捕获异常的代码,程序会正常执行。四、编程题1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入abc测试]publicclassStringIndexOutOf{publicstaticvoidmain(Stringargs[]){System.out.println(字符串索引越界异常);Stringstr=args[0];System.out.println(“第四个字符为”+str.charAt(3));intaa=Integer.parseInt(args[0]);System.out.println(“平方为”+aa*aa);}}2.从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。3.写一个方法voidsanjiao(inta,intb,intc),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。第二章图形用户界面一、判断题1.BorderLayout是面板的缺省布局管理器。(t)2.当鼠标指针位于一个GUI构件的边上时,发生一个MouseOver事件。(f)3.一个面板(JPanel)不能被加入到另一个面板(JPanel)中。()4.在BorderLayout中,添加到NORTH区的两个按钮将并排显示。()5.在使用BorderLayout时,最多可以使用5个构件。()6.Swing构件经常被称为轻量构件。()7.在GUI上输出文本或提示信息的方法是使用标签。()8.为了处理图形用户界面的事件,程序员必须注册一事件监听器。()9.用户在JtextField和JpasswordField输入数据后键入回车键,可以激活一个事件。()10.JCheckBox类和JRadioButton类都是JtoggleButtond的子类。()11.程序员在创建一个Frame时,至少必须创建一个菜单,并将它加入Frame中。()12.fill变量属于GrideLayout类。()13.在一个程序中不能同时使用Jframe和applet。()14.Jframe和applet的左上角坐标为(0,0)。()15.JTextArea的文本总是只读的。()16.JTextArea类是Component类的直接子类。()17.Box的缺省布局是BoxLayout。()18.JTextArea用于支持对多行文本的操作。()19.程序员可以在任何时候用JScrollPane类的setHorizontalScrollBarPolicy方法和setVerticalScrollBarPolicy方法来设置JScrollPane的水平滚动条和垂直滚动条。()20.JPanel只能用来作为接受鼠标事件的专用绘图区域。()二、选择题1.鼠标被移动时会调用▁▁方法,并且注册一个事件监听器处理此事件。AactionPerformedBaddItemListenerCmouseMoveDadd2.用户不能修改的文本是▁▁。Aword文档Btxt文档C可编辑的D不可编辑的3.▁▁用来在Container上排列GUI构件。ABorderLayout类BComponent类C事件控制D布局管理器4.为添加一个构件的add方法是▁▁类方法。ABorderLayoutBComponentCContainerDButtonGroup5.使用方法▁▁为构件容器设置布局管理器。ABorderLayoutBsetLayoutCContainerDComponent6.GUI是▁▁的缩写。A布局管理器B资源管理器C用户界面布局D图形用户界面7.mouseDragged事件先触发了一个▁▁事件接着又触发一个▁▁。AmousePressedBmouseClickedCmouseReleasedDmouseEntered8.Java程序的图形用户界面中有那些用户自定义成分?A几何图形B文字C颜色控制D图像E.动画9.当构件中按钮的位置可以被自动调整,应使用哪种布局管理器:ABorderLayoutBFlowLayoutCCardLayoutDGridLayout11.使用▁▁类创建菜单对象。ADimensionBJMenuCJMenuItemDJTextArea12.使用▁▁方法创建菜单中的分隔条。AsetEditableBChangeListenerCaddDaddSeparator13.向JTextArea的▁▁方法传递false参数可以防止用户修改文本。AsetEditableBChangeListenerCaddDaddSeparator17.下面哪个菜单组件可以被添加到任何组件中:AMenuBarBHelpMenuCCheckboxMenuItemDPopMenuEMenu18.下面哪个组件是独立的组件:APanelBWindowCFrameDScrollPanelEFileDialog20.下面哪个布局管理器是非法的:AFlowLayoutBBorderLayoutCCardBagLayoutDGridLayout21.实现下列哪个接口可以对TextField对象的事件进行监听和处理?____AMouseMotionListenerBFocusListenerCActionListenerDWindowListener22.Frame的默认的布局管理器是下列哪一个?____AFlowLayoutBCardLayoutCGridLayoutDBorderLayout2