班级:姓名:学号:《JAVA程序设计》试题1一、单项选择填空(每小题2分,共50分)1.下列有关Java语言的叙述中,正确的是(B)A、Java是不区分大小写的B、源文件名与public权限的类名必须相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限2.在Java中,负责对字节代码解释执行的是(B)。字节就是class文件A、垃圾回收器B、虚拟机C、编译器D、多线程机制3.在Java程序设计中,由Java编译器默认导入的包是(D)A、java.appletB、java.awtC、java.util输入语言D、java.lang4.编译Javaapplication源程序文件将产生相应的字节码文件,这些字节文件的扩展名为(B)A、.javaB、.classC、.htmlD、.exe5.在Java中,用package语句定义一个包时,该包的层次结构即是(b)A、与文件的结构相同B、与文件目录的层次相同C、与文件类型相同D、与文件大小相同6.有时在程序设计中采用分治算法而选择递归,“递归”的基本思想是(c)A、“让别人反复调用自己”B、“自己反复调用别人”C、“自己反复调用自己”D、以上说法都不对7.main方法是JavaApplication程序执行的入口,含有main方法的类是主类,且main方法的定义是唯一的,以下哪项是正确的(b)A、publicstaticvoidmain()B、publicstaticvoidmain(Stringargs[])C、publicstaticintmain(Stringarg[])D、publicvoidmain(Stringarg[])8.按照Java的标识符的行业命名规范,下列分别表示一个类和一个方法的标识符比较合适的是(b)A、Helloworld,GetSwimmingScoreB、HelloWorld,getSwimmingScoreC、helloworld,getswimmingscoreD、helloWorld,Getswimmingscore9.以下程序的运行结果为(d)publicclassIfTest{publicstaticvoidmain(Stringargs[]){intx=3;{inty=1;}if(x==y)System.out.println(“equal”);elseSystem.out.println(“NotEqual”);}}A、NotequalB、EqualC、无输出D、编译出错,找不到y10.下列说法不正确的是(c)A、IOException必须被捕获或抛出B、java语言不自动初始化变量的值C、java语言不允许同时继承一个类并实现一个接口D、java语言会自动回收内存中的垃圾11.在Java中,所有类的根类是(a)A、java.lang.ObjectB、java.lang.ClassC、java.applet.AppletD、java.swing.Jframe12.下列方法中可以用来创建一个新线程的是(b)A、实现java.lang.Runnable接口并重写start()方法B、实现java.lang.Runnable接口并重写run()方法C、实现java.lang.Thread接口并重写run()方法D、实现java.lang.Thread类并重写start()方法13.启动Applet小程序时,即调用类似于应用程序main方法的入口方法(b)A、stop()B、init()C、start()D、destroy()14.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。(b)A、8B、16C、32D、6415.下面哪个选项是Java语言中的关键字?(c)A.toStringB.ClassC.instanceofD.Int16.以下哪个选项是字符串对象的长度?(d)A.sizeB.lengthC.max_valueD.length()17.下面程序段的执行结果是什么?(b)publicclassExp{publicstaticvoidmain(String[]args){try{intf=12;return;}catch(Exceptione){System.out.println(e.getMessage());}finally{System.out.println(“Finally!”);}}}A、程序正常运行,但不输出任何结果B、程序正常运行,并输出FinallyC、编译能通过,但运行时会出现例外D、因为catch语句块不对应,所以不能通过编译18.classMethodOverload{publicvoidsetValue(inta,intb,floatc){}}下列哪个方法定义是setValue的重载方法:(c)A.publicvoidsetValue(inta,intc,floatb){}B.publicvoidsetVar(inta,intb){}C.publicintsetValue(inta,floatc,intb){returna;}D.publicfloatsetValue(inta,intc,floatb){returna;}19.下列叙述中哪个是不正确的?(d)A、final类不可以有子类B、abstract类不可以有abstract的静态方法C、不可以同时用final和abstract修饰一个方法D、abstract类中可以有非abstract方法,但该方法不可以用final修饰接口中只能有常量和抽象方法;抽象类中可以有抽象方法和非抽象方法;20.阅读下列代码,publicclassPerson{int[]arr[]=newint[10][];publicstaticvoidmain(Stringargs[]){arr[1]=newint[10];System.out.println(arr[1][0]);}}根据上面的代码,下列正确的说法是()A、编译错误,提示无法从静态上下文中引用非静态变量arrB、编译时正确,运行时将产生错误C、输出0D、输出空21.设有下面的两个类定义:classA{voidShow(){System.out.println(AstudyJava!);}classBBextendsA{voidShow(){System.out.println(BBstudyC++!);}}则顺序执行如下语句后输出结果为:(a)Aa=newA();Ab=newBB();a.Show();b.Show();A、AstudyJava!B、AstudyC++!BBstudyC++!BBstudyJava!C、AstudyJava!D、AstudyC++!BBstudyJava!BBstudyC++!22.Swing与AWT的区别不包括:(d)A、Swing是由纯Java实现的轻量级构件B、Swing没有本地代码C、Swing不依赖操作系统的支持D、Swing支持图形用户界面都支持23.容器JFrame及JPanel默认的布局管理器分别是(b)A、FlowLayout和GridLayoutB、BorderLayout和FlowLayoutC、FlowLayout和FlowLayoutD、CardLayout和BorderLayout24.在开发一个JAVAGUI程序时,通常都要对按键事件作出响应和处理,一般需要在程序的开头写上(d)语句。A、importjava.awt.*;B、importjava.applet.*;C、importjava.io.*;D、importjava.awt.event.*;25.每个使用Swing组件的程序必须有一个(d)A、按钮B、标签C、菜单D、容器二、填空题(每空1分,共20分)1.JAVA源程序是由包定义语句、导入语句、类定义、方法定义和执行语句等五部分组成的。2.根据类定义的格式,类体里一般有内部类、属性(成员变量)和方法。3.面向对象程序设计的三个基本特征分别是抽象、封装、继承、多态。4.算术运算异常、下表数组越界异常类都源于Exception这个父类。5.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承。6.接口的所有成员属性都默认且必须是public、static和Final的。7.方法的重载是指在同一个类中,声明方法名称相同但参数不同的多个方法。8.Java语言的各种数据类型之间提供两种转换:自动类型转换和强制转换。9.在类的构造方法和实例方法中,使用关键字this可以解决局部变量与实例变量同名的问题。10.this关键字代表当前对象,而super关键字是指当前对象的父类。11.抽象方法不能使用修饰符final和static修饰。12.在进行JavaGUI程序设计时,一般都要用到swing特性,因此必须在程序的开头写上__importjavax.swing.*;_______________语句。三、判断题(每小题1分,共7分),请将正确的打√,错误的打×。1、在异常处理中,若try块中的代码可能产生多种异常则可以对应多个catch语句,如try块中没有产生异常的代码,那么可以在try块后不对应catch块(即可无catch块)(不能没有catch),而finally块是无论异常发生与否都要执行的语句块,它是可有可无的。(finally可以没有)(错)2、Java程序是由若干类定义组成的,类定义包括定义类头和定义类体。(对)3、有的类定义时可以不定义构造方法,因为当用户不定义一个或以上的构造方法时系统会为其自动创建一个默认的无参构造方法,且含有一条super()语句。(对)4、抽象类中的抽象方法必需在该类的子类中具体实现。(不是必需实现)(错)5、终态类不能派生子类,终态方法不能被覆盖。(对)6、一个Java类可以有一个父类,并实现多个接口。(对)7、接口是特殊的抽象类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。(对)四、简答题(每题3分,共9分)1、简述静态成员与非静态成员的区别静态是被所有对象共享。怎么访问静态,可以通过类名访问。非静态不能访问静态2、简述构造方法的特性;略3、在一般情况下,J2SEGUI程序设计的六步流程创建顶层容器及中间容器设置容器状态:大小,颜色..创建组件及设定其状态为组件及容器添加相应的监听器。按照容器的布局管理方式添加组件。将顶层容器显示。五、写程序结果及程序填空(第1、2题每题3分,第3题程序填空每空2分【小计8分】,共14分)1、classAnimal{publicAnimal(){System.out.print(Animal—);}}publicclassDogextendsAnimal{privateStringname;publicDog(){this(“无名狗”);}publicDog(Stringname){this.name=name;}publicStringgetName(){returnname;}publicvoidprintName(){System.out.println(getName());publicstaticvoidmain(String[]args){Dogsnoppy=newDog(“史努比”);snoppy.printName();}}程序结果为:Animal—史努比2、publicclassabc{publicstaticvoidmain(Stringargs[]){SubSubClassx=newSubSubClass(10,20,30);x.show();}}classSuperClass{inta,b;SuperClass(intaa,intbb){a=aa;b=bb;}voidshow(){System.out.println(a=+a+\nb=+b);}}classSubClassextendsSuperClass{intc;SubClass(int