《JAVA程序设计》模拟题一.判断题1.Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(对)2.注释的作用是使程序在执行时在屏幕上显示//之后的内容。
(错)3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
(对)4.由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。
(错)5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法(错)6.java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。
(错)7.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
(对)8.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。
(对)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个属性与赋值对象相同的新对象。
(错)10.System类不能实例化,即不能创建System类的对象。
(对)11.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
(对)12.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
(错)13.静态初始化器是在其所属的类加载内存时由系统自动调用执行。
(对)14.如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。
(对)15.所有的鼠标事件都由MouseListener监听接口的监听者来处理(错)二.单项选择题1.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。
A、import java.awt.* ;B、import java.applet.* ;C、import java.io.* ;D、import java.awt.event.* ;2. 关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是( B )A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问3. Java application中的主类需包含main方法,main方法的返回类型是什么?( D )A、intB、floatC、doubleD、void4. 设有下面两个类的定义:class Person { class Student extends Person {long id; // 身份证号 int score; // 入学总分String name; // 姓名 int getScore(){} return score;}}则类Person和类Student的关系是( A )。
A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误5 . 容器Panel和Applet缺省使用的布局编辑策略是( A )A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout6. 执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( A )A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空7. 编译并运行以下程序,以下描述哪个选项是正确的( C )1. class X{2. protected String toString(){3. return super.toString();}4. }A、编译通过运行无异常B、编译通过但运行时出错、C、行2出错,不能成功编译D、不能成功编译,行3出错8. 以下哪个不是Java的关键字?( A )A、FALSEB、constC、thisD、void9. 有程序如下,关于程序的描述哪个是正确的?( C )public class Person{static int arr[] = new int[10];public static void main(String a[]){ System.out.println(arr[0]); }}A、编译将产生错误B、编译时正确,但运行时将产生错误C、正确,输出0D、正确,输出null10. 以下声明合法的是( A )A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )11. 关于以下application的说明,正确的是( C )1. class StaticStuff2. {3. static int x=10;4. static { x+=5;}5. public static void main(String args[ ]){6. System.out.println(“x=” + x);7. }8. static { x/=3;}9. }A、4行与8行不能通过编译,因为缺少方法名和返回类型B、8行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=312. 在使用interface声明一个接口时,只可以使用( A )修饰符修饰该接口。
A、publicB、protectedC、private protectedD、private13. 关于以下程序代码的说明正确的是( D )class HasStatic{private static int x=100;public static void main(String args[ ]){HasStatic hs1=new HasStatic( );hs1.x++;HasStatic hs2=new HasStatic( );hs2.x++;hs1=new HasStatic( );hs1.x++;HasStatic.x- -;System.out.println(“x=”+x);}}A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10214. 关于以下程序段,正确的说法是( C )1. String s1=”abc”+”def”;2. String s2=new String(s1);3. if(s1= =s2)4. System.out.println(“= = succeeded”);5. if (s1.equals(s2))6. System.out.println(“.equals() succeeded”);A、行4与行6都将执行B、行4执行,行6不执行C、行6执行,行4不执行C、行4、行6都不执行15. 以下说法哪项是正确的( A )class MyListenerextends MouseAdapter implements MouseListener{public void mouseEntered(MouseEvent mev){System.out.println("Mouse entered."); }}A、以上代码可通过编译B、不能通过编译,因为没有实现MouseListener接口中的所有方法C、不能通过编译,因为类头定义不能分行D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常三.程序阅读题1.阅读以下程序:import java.io.*;public class AboutFile{public static void main(String[ ] args){BufferedReader b=new BufferedReader (new InputStreamReader(System.in));String s;System.out.flush();s=b.readLine();System.out.println(“String is:”+s);}}运行以上程序,若从键盘输入:JAVA<回车>则输出结果为_____String is: JAVA____________________。
2. _____123_____________________________。
class C1 {C1 () {System.out.print ("1 "); }}class C2 extends C1 {C2() {System.out.print ("2 "); }}public class C3 extends C2 {C 3() {System.out.println("3 "); }public static void main(String[] args) {C3 c = new C3( ); }}3.阅读以下程序,输出结果为______3____________________________。
import java.io.*;public class ATest{public static void main(String args[]) {SubClass sb = new SubClass( );System.out.println(sb.add( ));} }class SuperClass{int a = 1 , b = 2 ;}class SubClass extends SuperClass{int add( ) { return a+b; }}4.以下程序段的输出结果为___ Value is two. Value is three.______。
int j=2;switch ( j ) {case 2:System.out.print(“Value is two.”);case 2+1 :System.out.println(“Value is three.”);break;default:System.out.println(“value is “+j);break;}5.阅读以下程序:class AExample{public static void main(String[ ] args){String s, s1=””;char c;s=args[0];for( int i=0; i<s.length(); i++){c=s.charAt(i);if(c>=’a’&&c<=’z’)s1=s1+Character.toUpperCase(c);if(c>=’A’&&c<=’Z’)s1=s1+Character.toLowerCase(c);}System.out.println(s1);}若在命令行输入以下命令:java AExample helloWORLD<回车> 则程序的输出为___JAVA aeXAMPLE HELLOworld_______________。