第1页共7页Java大学考试试卷一、选择题(每题2分,共30分)1、Java中main()函数的值是。A、StringB、intC、charD、void2、如下字串是Java中的标识符。A、fieldnameB、superC、3numberD、#number3、下面的代码段中,执行之后i和j的值是。inti=1;intj;j=i++;A、1,1B、1,2C、2,1D、2,24、已知表达式intm[]={0,1,2,3,4,5,6};下面表达式的值与数组下标量总数相等。A、m.length()B、m.lengthC、m.length()+1D、m.length+15、当浏览器返回到新URL的包含applet的页面时调用以下函数。A、init()B、start()C、stop()D、destroy()6、以下方法用于定义线程的执行体。A、start()B、init()C、run()D、main()7、如果类中的成员变量可以被同一包访问,则使用如下约束符。A、privateB、publicC、protectedD、final8、以下约束符可用于定义成员常量。A、staticB、finalC、abstractD、Nomodifiercanbeused9、下面方法与applet的显示无关。A、update()B、draw()C、repaint()D、paint()10、请问如下方法可以将MenuBar加入Frame中。A、setMenu()B、setMenuBar()C、add()D、addMenuBar()11、下面不是Java中的容器。A、ScrollPaneB、CanvasC、DialogD、Applet12、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是。Filef=newFile(填代码处);file=newFileReader(f);in=newBufferedReader(file);A)1.txtB)d:\\my\\1C)d:\\my\\1.txtD)d:\my\1.txt13、有整型数组:int[]x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是。A)2781235B)1235872C)3512872D)871235214、下面的程序段执行后输出的结果是。StringBufferbuf=newStringBuffer(Beijing2008);buf.insert(7,@);System.out.println(buf.toString());A)Beijing@2008B)@Beijing2008C)Beijing2008@D)Beijing#200815、.下面表达式可用得到x和y的最大值。A)xy?y:xB)xy?y:xC)xy?(x+y):(x-y)D)x==y?y:x;二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分)16、下面赋值语句是合法的。A、floata=2.0B、doubleb=2.0C、intc=2D、longd=217、下面语句是创建数组的正确语句。A、floatf[][]=newfloat[6][6];B、float[]f[]=newfloat[6][6];C、floatf[][]=newfloat[][6];D、float[][]f=newfloat[6][6];18、Java中如下约束符是正确的。A、privateB、publicC、protectedD、protect19.下面事件监听器在Java中有事件适配器。A、MouseListenerB、KeyListenerC、ActionListenerD、WindowListener20、已知如下的命令执行javaMyTestabc,语句是正确的。A、args[0]=MyTestabcB、args[0]=MyTestC、args[0]=aD、args[1]='b'填空题(每空格2分,共20分)1.创建类的对象时,使用运算符__________给对象分配内存空间。2.定义类的构造方法不能有返回值类型,其名称与_____名相同。第2页共7页3.Java语言中关键字_____表示双精度类型。4.若有定义:floatb={1.1f,3.5f,6.8f};,则b.length()的值是_______。5.若有类定义:classBextendsA{…}则类B是类A的______。6.接口中的成员只有静态常量和______。7.在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。8.关键字______用于导入包中的类到程序中,供程序中使用。9.Java语言中,通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_____块来捕获和处理异常。10.程序中实现多线程的方法有两种:继承_____类和实现Runnable接口。四、阅读程序题(本大题2小题,每小题5分,共10分)1.(5分)1:importjava.util.Arrays;2:3:publicclassSortArray{4:publicstaticvoidmain(Stringargs[]){5:String[]str={size,abs,length,class};6:Arrays.sort(str);7:for(inti=0;istr.length;i++)8:System.out.print(str[i]+);9:}10:}(1)写出程序运行后的结果。(2分)(2)方法调用str[0].length()的返回结果是多少?(3分)2.(5分)定义类A和类B如下.(5分)classA{inta=1;doubled=2.0;voidshow(){System.out.println(ClassA:a=+a+\td=+d);}}classBextendsA{floata=3.0f;Stringd=Javaprogram.;voidshow(){super.show();System.out.println(ClassB:a=+a+\td=+d);}}(1)若在应用程序的main方法中有以下语句:Aa=newA();a.show();则输出的结果如何?(2分)(2)若在应用程序的main方法中定义类B的对象b:Ab=newB();b.show();则输出的结果如何?(3分)五、编程题(本大题3小题,每小题10分,共30分)编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。使用socket编写一个服务器端程序,服务器端程序在端口8888监听,如果它接到客户端发来的hello请求时会回应一个hello,对客户端的其他请求不响应。编写一个应用程序,创建三个线程分别显示各自的时间。答案一、选择题(每题2分,共30分)1、D2、A3、C4、B5、B6、C7、D8、B9、B10、B11、B12、C13、A14、A15、B二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分)1、B,C,D2、A,B,C,D3、A,B,C4、ABD5、CD三、填空题(共20分)1.new2.类3.double4.35.子类6.抽象方法7.super8.import9.catch10.Thread四、阅读程序题(本大题2小题,每小题5分,共10分)1、(1)absclasslengthsize(2)42、1)ClassA:a=1d=2.0(2)ClassA:a=1d=2.0ClassB:a=3.0d=Javaprogram.五、编程题(本大题3小题,每小题10分,共30分)1、importjava.io.*;publicclassSelectSort{publicstaticvoidmain(Stringargs[]){第3页共7页inta[]={20,10,50,40,30,70,60,80,90,100};inttemp;for(inti=0;ia.length-1;i++)for(intj=i+1;ja.length;j++){if(a[i]a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}for(intk=0;ka.length;k++){System.out.println(a[+k+]:+a[k]);}}}2、importjava.io.*;importjava.net.*;publicclassHelloServer{publicstaticvoidmain(Stringargs[])throwsIOException{ServerSocketserver=null;server=newServerSocket(8888);SocketClientSocket=null;ClientSocket=server.accept();Stringline;BufferedReaderis=newBufferedReader(newInputStreamReader(ClientSocket.getInputStream()));PrintWriteros=newPrintWriter(ClientSocket.getOutputStream());while(true){line=is.readLine();if(line.equals(hello)){os.println(hello);os.flush();}}}}3、mportjava.util.*;importjava.text.*;classThreeTimeThreadextendsThread{publicThreeTimeThread(Stringstr){super(str);}publicvoidrun(){while(true){SimpleDateFormatformatter=newSimpleDateFormat(yyyy.MM.ddG'at'hh:mm:ssz);DatecurrentTime=newDate();try{sleep(1000);}catch(Exceptione){}StringdateString=formatter.format(currentTime);System.out.println(getName()+:+dateString);}}publicstaticvoidmain(Stringargs[])throwsException{newThreeTimeThread(first).start();newThreeTimeThread(second).start();newThreeTimeThread(third).start();}}第4页共7页java大学考试试卷一、选择题(每题2分,共30分)Java程序的执行过程中用到一套JDK工具,其中java.exe是指。A.Java文档生成器B.Java解释器C.Java编译器D.Java类分解器Java语言中,下列标识符错误的是。A.—sys1B.&—mC.ID.40name下列语句执行后,变量a、c的值分别是。intx=182;inta,c;c=x/100;a=x%10;A)1,2B)2,1C)1.82,2D)100,824、应用程序的main方法中有以下语句,则输出的结果是。Strings1=0.5,s2=12;doublex=Double.parseDouble(s1);inty=Integer.parseInt(s2);System.out.println(x+y);A)12.5B)120.5C)12D)“12.5”5、下列程序段执行后的结果是。Strings=newString(abcdefg);for(inti=0;is.length();i+=2){System.out.print(s.charAt(