1、 - . 一、单项选择择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. java B. .class C. html D. .exe 2、设 x = 1 , y = 2 , z = 3,那么表达式 y+=z--/++x 的值是( )。 A. 3 B.
2、 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A. static void method( ) B. public void me
3、thod( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的根本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节存空间,这样,无论是中文字符还是英文字符,都是占 用2字节存空间。 3、设 x = 2 ,那么表达式 ( x + + )/3 的值是0 。 4、假设x = 5,y = 10,那么x < y和x
4、>= y的逻辑值分别为true和 false 。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 最终(final)方法是不能被当前类的子类重新定义的方法。 6、创立一个名为 MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句 。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 那么执行以下几个语句后的输出结果是 120。 int s = 0
5、 for (int i = 0 ; i < MyIntArray.length ; i + + ) if ( i % 2 = = 1 ) s += MyIntArray[i] ; System.out.println(s); 8、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多 重继承关系。 三、写出下面程序的运行结果 1、 import java.io.*; public class abc{ public static void main(String args[ ]){ AB s = new A
6、B("Hello!","I love JAVA."); System.out.println(s.toString( )); } } class AB { String s1; String s2; publicAB(String str1, String str2) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; } } 运行结果:Hello! I love JAVA. 2、 import java.io.* ;
7、 public class abc { public static void main(String args[ ]) { int i, s = 0 ; int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ;
8、 System.out.println("s="+s); } } 运行结果:s = 180 3、import java.io.* ; public class abc { public static void main(String args[ ]) { System.out.println("a="+a+"\nb="+b); } } class SubClass extends SuperClass { int c; SubClass(int aa
9、int bb,int cc) { super(aa,bb); c=cc; } } class SubSubClass extends SubClass { int a; SubSubClass(int aa,int bb,int cc) { super(aa,bb,cc); A=aa+bb+cc; } void show() { System.out.println("a="+a+"\
10、nb="+b+"\nc="+c); } } 运行结果:a=60b=20c=30 ?JAVA程序设计?期末考试试题〔二〕 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。〔√〕 2.Java程序里,创立新的类对象用关键字new,回收无用的类对象使用关键字free。 〔× 〕 3.Java有垃圾回收机制,存回收程序可在指定的时间释放存对象。 〔×〕 4.构造函数用于创立类的实例对象,构造函数名应与类名一样,返回类型为void。 〔× 〕 5.在异常处理中,假设try中的代码可能产生多种异常那么可以
11、对应多个catch语句,假设catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。 〔√〕 6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。 〔√〕 7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。 〔×〕 8.静态初始化器是在其所属的类加载存时由系统自动调用执行。 〔√ 〕 9.在Java中对象可以赋值,只要使用赋值号〔等号〕即可,相当于生成了一个各属性与赋值对象一样的新对象。
12、 〔× 〕 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?〔 〕 A、 String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的表达正确的选项是〔 〕。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? 〔 〕
13、 A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型〔 〕 A、int B、Boolean C、float D、char 5.以下哪项可能包含菜单条〔 〕。 A、Panel B、Frame C、Applet D、Dialog 6.假设需要定义一个类域或类方法,应使用哪种修饰符?〔 〕 A、staticB、package C、private D、public 7.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行〔 〕。 A、init() B、start
14、) C、destroy() D、stop() 8.给出下面代码,关于该程序以下哪个说法是正确的?〔 〕 public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]); } } A、编译时将产生错误B、编译时正确,运行时将产生错误 C、输出零D、输出空 9.以下哪些语句关于Java存回收的说明是正确的? 〔 〕 A、程序员必须创立一个线程来释放存 B、存回收程序
15、负责释放无用存 C、存回收程序允许程序员直接释放存 D、存回收程序可以在指定的时间释放存对象 10.以下哪个关键字可以用来对对象加互斥锁?〔 〕 A、transientB、synchronizedC、 serializeD、static 11.以下代码段执行后的输出结果为〔 〕 int x =-3; int y =-10; System.out.println(y%x); A、 -1 B、2 C、1 D、3 12.有以下程序片段,以下哪个选项不能插入到行1。〔 〕 1. 2 .public class Interesting
16、{ 3. //do sth 4.} A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 13. 设有下面两个赋值语句: a = Integer.parseInt(“12〞); b = Integer.valueOf(“12〞).intValue(); 下述说确的是〔 〕。 A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。 C、a和b都是整数类对象并且值相等。 D、a和b都是
17、整数类型变量并且值相等。 14.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型? A、OutputStream B、File C、InputStream D、BufferedOutputStream 15.在编写Java Applet程序时,需在程序的开头写上( )语句。 A、import java.awt.* ; B、import java.applet.Applet ; C、impor
18、t java.io.* ; D、import java.awt.Graphics ; 16.类Parent、Child定义如下: 1. public class Parent 2.{ public float aFun(float a, float b) throws 3. IOException { } 4.} 5.public class Child extends Parent{ 6. 7.} 将以下哪种方法插入行6是不合法的。〔 〕 A、float aFun(float a, float b){
19、} B、public int aFun(int a, int b)throws Exception{ } C、public float aFun(float p, float q){ } D、public int aFun(int a, int b)throws IOException{ } 17.在使用interface声明一个接口时,只可以使用〔 〕修饰符修饰该接口。 A、private B、protected C、private protectedD、public 18、有以下方法的定义,请选择该方法的返回类型〔 〕。 ReturnT
20、ype method(byte x, double y){ return (short)x/y*2; } A、byte B、short C、int D、double 19、关于以下代码段的说确的是〔 〕 1.String s="abcde"; 2.StringBuffer s1=new StringBuffer("abcde"); 3.if(s.equals(s1)) 4. s1=null; 5.if(s1.equals(s)) 6. s=null; A、第1行编译错误,String的构造器必须明确调用 B
21、第3行编译错误,因为s与s1有不同的类型 C、编译成功,但执行时在第5行有异常抛出 D、编译成功,过程中也没有异常抛出 20、编译并运行以下程序,以下描述哪个选项是正确的〔 〕 1. class X{ 2. protectied String toString( )i{ 3. return super.toString();} 4. } A、编译通过运行无异常 B、编译通过但运行时出错 C、行2出错,不能成功编译 D、不能成功编译,行3出错 三.程序阅读题 1.以下程序的输出结果为相等。 class StringTest1 { pub
22、lic static void main(String[] args) { String s1="hello"; String s2=new String("hello"); if(s1.equals(s2)){ System.out.println("相等"); }else{ System.out.println("不相等"); } } } 2.以下程序段的输出结果为5 6 7 8 9。 public class TestArray { public static void main(String args[






