2014-2015学年第二学期《Java语言程序设计》考试卷(A卷)授课班号6282736-01年级专业学号姓名题号一二三四五 六总分审核题分102010203010得分得分评阅人一、问答题(共10分)1.请阐述一下JVM、JRE和JDK用途及其关系?(3 分,请解释清楚)2.在面向对象程序设计中,对象的三大要素是什么,使用Java语言如何描述这三大要素?(3分)3.什么是流?什么 是字节流?什么是字符流?在Java语言中,如何实现字节流和字符流的转换?(4)得分评阅人二、单项选择题(共20分,每小题2分,请 选择最恰当的答案)下面哪一个不是Java语言的关键字_____。A.continueB.breakC.main D.instanceof下列循环语句中,循环体被执行的次数是_____。for(inti=0,j=0;(j!=18)||(i< 4);i++);A.3B.4C.不确定D.无限下列关于数组的定义形式, 正确的是_____。A.int[]a;a=newint;B.charb[];b=new char[20];C.int[]c=newchar[20];D.int[]d[3]=newint[ 2][];下面的程序,当方法getValue的参数为2的时候,方法返回值是_____。publicstaticintgetV alue(inti){intresult=0;switch(i){case1:result=resu lt+i;case2:result=result+i2;case3:result=resul t+i3;}returnresult;}A.0B.2C. 4D.10下列关于构造方法的特点的描述中,错误的是_____。A.不可重载B.方法名同 类名C.无返回类型D.系统自动调用下列关于接口的描述中,错误的是_____。A.接口实 际上是由常量和抽象方法组成的B.一个类只允许继承一个接口C.定义接口使用的关键字是interfaceD.在实现接口的类 中通常要给出接口定义的抽象方法的具体实现AWT中所有事件类的父类是_____。A.EventB.ComponentC.Awt EventD.ComponentEvent下列各种布局管理器中,Window类、Dialog类和Frame类的默认布局是_ ____。A.FlowLayoutB.CardLayoutC.BorderLayoutD.Grid Layout下列关于用户创建用户自定义异常的描述中,错误的是_____。A.创建自己的异常应先创建一个异常类B.为实现抛出异常 ,须在可能抛出异常的方法中书写throw语句C.捕捉异常的方法是用try-catch-finally语句格式D.使用异常处理不 会使整个系统更加安全和稳定下面哪个方法不是Thread类的成员方法_____。Astart()Brun() Cexit()DgetPriority()得分评阅人三、判断题(共10分,每小题1分)字节码文件机器里 是不能直接被具体机器识别的,它要经过解释器,边解释边执行()Java语言中,字节型的数据长度是8位()J ava语言规定在嵌套的程序块中允许定义同名变量()静态方法不能直接访问非静态变量()在类体内声明 成员变量时允许赋初值()边界布局(BorderLayout)将容器分为东、南、西、北共4个区域( )Java语言中的异常类都是java.lang.Throwable的子类()当线程的run方法被调用后,线程进入 运行状态()集合中存储是集合元素变量的值()Reader和Writer分别是字节输入输出流的基类 ()得分评阅人四、填空题(共20分,每空1分)设doublex=2.5,y=4.7;inta=7;算术表 达式x+a%3+(x+y)%2的值为___(1)______。数组x定义如下intx[][]={{2,3},{3,4,3} ,{4,3,5,5}};则x.length的值为_____(2)_____,x[0].length的值为___(3)____ ___。intm=0,n=0;for(inti=0,j=1;i<10&&j<10;i++ ,j++){if(i>5)m++;elsen--;j++;}运行后,m的内容为__(4)___,n的内容为___(5) ___。_____(6)_____方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。_____(7 )_____方法是不能被当前类的子类重新定义的方法。Java的运行时错误可以分为两大类,一类是程序员无法处理的,称为____(8) _____;一类是程序可以处理的,称为____(9)_____。常量0.6332的数据类型是__(10)____。System.o ut.println("5"+2);控制台的输出结果应该是__(11)____.Java中实现多态的两种手段是__(12)__ __和__(13)____。this指__(14)____,super指__(15)____.Math.random()可以产生一 个在0和1之间的数,请写出产生一个在125与175之间的整数的语句__(16)____.声明并初始化一个含有10个String对象 的数组的语句是__(17)_。Java的源代码文件和字节码的文件后缀名分别为__(18)和__(19)。Java中定义符号常 量的保留字是__(20)。得分评阅人五、读程序,请严格按照输出格式写出输出结果(共30分,每小题3分)请写出下列程序的输出结果pu blicclassStringEquals2{publicstaticvoidmain(String[]args) {Strings1=newString("1234");Strings2=newString("12");System.o ut.println(s1==(s2+"34"));System.out.println(s1.equals(s2+"34")); System.out.println(s1.equals("12"+"34"));}}请写出下列程序的输出结果publiccla ssTest52{publicstaticvoidmain(String[]args){inti,j;Fir st_Loop:for(i=1;i<5;i++){for(j=2;jj==0)continueFirst_Loop;System.out.println("i="+i);}}}请写出下列程序 的输出结果importjava.util.;classStudent{privateStringname;public StringgetName(){returnname;}publicvoidsetName(Stringname){t his.name=name;}publicStudent(Stringname){this.name=name;}}publi cclassTestCollection{publicstaticvoidmain(String[]args){ Listlist=newArrayList();list.add("hello");Stringstr="hello"; System.out.println(list.contains(str));list.add(str);System.ou t.println("list.size()="+list.size());Students1=newStudent("lv jia");list.add(s1);s1.setName("samlv");Students2=(Student)lis t.get(2);System.out.println(s2.getName());}}请写出下列程序的输出结果publicc lassTest54{privateStringstr=newString("good");privatech ar[]ch={''a'',''b'',''c''};publicstaticvoidmain(Stringargs[] ){Test54ex=newTest54();ex.change(ex.str,ex.ch);System.ou t.println(ex.str);System.out.println(ex.ch);System.out.println(e x.str.length());}publicvoidchange(Stringstr,charch[]){str ="testok";ch[0]=''g'';}}请写出下列程序的输出结果classArt{Art(){System.o ut.println("Artconstructor");}voidf(){System.out.println("Art f()");}}classDrawingextendsArt{Drawing(){System.out.println( "Drawingconstructor");}voidf(){System.out.println("Drawingf() ");}}publicclassCartoonextendsDrawing{publicCartoon(){}pu blicstaticvoidmain(String[]args){Artx=newCartoon();x.f ();}}请写出下列程序的输出结果publicclassStaticFinal{inta;staticintb;fin alintc;publicStaticFinal(){c=3;}publicstaticvoidmain(St ring[]args){StaticFinal.b=2;StaticFinals1=newStaticFina l();StaticFinals2=newStaticFinal();s1.a=1;s1.b=s1.b+5;Sys tem.out.println("s2.a="+s2.a);System.out.println("s2.b="+s2. b);System.out.println("s2.c="+s2.c);}}请写出下列程序的输出结果classA{void show(){System.out.println("classA");}}classBextendsA{voidsh ow(){System.out.println("classB");}}classCextendsB{voidshow( ){System.out.println("classC");}}publicclassExer3_7{publics taticvoidmain(String[]args){Aa=newA();Bb=newB();Cc=ne wC();Ax=a;x.show();x=b;x.show();x=c;x.show();}}请写出下列程序的输出 结果publicclassOutput58{publicstaticvoidmain(String[]args){ intarray1[]={6,0};for(inti=0;i/array1[i];System.out.println("正常:d="+d);}catch(ArithmeticExcepti one){System.out.println("算术异常!");}catch(ArrayIndexOutOfBoundsExc eptione){System.out.println("下标越界异常!");}finally{System.out.print ln("异常处理结束!\n");}}}}请写出下列程序的输出结果classMyThreadimplementsRunnab le{publicvoidrun(){System.out.println("MyThreadisruning"); }}publicclassThreadJoinDemo{publicstaticvoidmain(String[]a rgs){Threadt=newThread(newMyThread());t.start();try{t.j oin();}catch(Exceptione){}finally{System.out.println("join complete");}System.out.println("Mainthreadcomplete");}}请写出下列程 序的输出结果importjava.util.Arrays;publicclassArrayDemo11{publics taticvoidmain(Stringargs[]){double[]a1=newdouble[10];do uble[]a2=newdouble[10];Arrays.fill(a1,47.0);Arrays.fill(a2 ,47.0);System.out.println(Arrays.equals(a1,a2));a2[3]=11.0;a2[2]=9.0;System.out.println(Arrays.equals(a1,a2));Arrays.sort(a2);System.out.println(Arrays.binarySearch(a2,11));}}得分评阅人六、编程题,写出完整程序(共10分,第一题4分,第二题6分)1.写一个图形用户界面程序,定义一个类MyFrame继承Frame类作为顶层容器,里面放置一个按钮组件(标题"show")和一个标签组件(标题"请点击按钮"),设计和布局如图所示。事件处理要求:当前用户点击按钮组件,在标签组件上显示"?HelloWorld?"?。2.写一个程序接受用户的控制台输入,如果用户输入一个数字,将其整数部分和小数部分分离后写入文件output.txt;如果用户输入不是一个数字,抛出用户自定义异常MyFormatException。3 |
|