当前位置:文档之家› 《Java语言程序设计》期末复习题答案

《Java语言程序设计》期末复习题答案

《Java语言程序设计》期末复习题--------------------------------------------------------------------------------2003-10-17 10:14:00 阅读596次2000计算机专业(普专、远程)《Java语言程序设计》期末复习题2002-12一、判断题1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

2.对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。

3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。

4.类及其属性、方法可以同时有一个以上的修饰符来修饰。

5.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点.6.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

7.final类中的属性和方法都必须被final修饰符修饰。

8.最终类不能派生子类,最终方法不能被覆盖。

9.子类要调用父类的方法,必须使用super关键字。

10.一个Java类可以有多个父类。

11.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。

12.一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。

13.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。

14.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。

15.用“ ”可以实现字符串的拼接,用- 可以从一个字符串中去除一个字符子串。

16.使用方法length( )可以获得字符串或数组的长度。

17.设String对象s="Hello ",运行语句System.out.println(s.concat("World!"));后String对象s的内容为"Hello world!",所以语句输出为Hello world!18.创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。

19.所有的鼠标事件都由MouseListener监听接口的监听者来处理。

20.一个容器中可以混合使用多种布局策略。

21.Java中,并非每个事件类都只对应一个事件。

22.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。

23.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。

24.Java Applet是由独立的解释器程序来运行的。

25.Java Applet只能在图形界面下工作。

26.Java的字符类型采用的是ASCII编码。

27.Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关28.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。

29.子类的域和方法的数目一定大于等于父类的域和方法的数目。

30.System类不能实例化,即不能创建System类的对象。

31.用户自定义的图形界面元素也可以响应用户的动作,具有交互功能32.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。

33.Vector类中的对象不能是简单数据类型。

34.Java中的String类的对象既可以是字符串常量,也可以是字符串变量。

35.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。

二、选择题1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问2、以下代码段将创建()个对象。

String s1="bc";String s2="bc";A. 0 B、1 C、2 D、33、编译并运行以下程序,以下描述哪个选项是正确的()1. class X{2. protected String toString(){3. return super.toString();}4. }A、编译通过运行无异常B、编译通过但运行时出错、C、行2出错,不能成功编译D、不能成功编译,行3出错4、下列关于修饰符混用的说法,错误的是()A. abstract不能与final并列修饰同一个类B. abstract类中不可以有private的成员C. abstract方法必须在abstract类中D. static方法中能处理非static的属性5、容器Panel和Applet缺省使用的布局编辑策略是()A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout6、以下标识符中哪项是不合法的( )A、 BigMeaninglessNameB、$intC、1 stD、$17、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()A、 public static void main()B、public static void main(String[ ] args)C、 public static int main(String[ ] arg)D、public void main(String arg[ ])8、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的()A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空9、以下代码段执行后的输出结果为()int x=3; int y=10;System.out.println(y%x);A、0B、1C、2D、310、以下哪个表达式是不合法的()A、String x="Hello"; int y=9; x =y;B、String x="Hello"; int y=9; if(x= =y) { }C、String x="Hello"; int y=9; x=x y;D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length : 011、编译运行以下程序后,关于输出结果的说明正确的是()public class Conditional{public static void main(String args[ ]){int x=4;System.out.println("value is " ((x>4) ? 99.9 :9));}}A、输出结果为:value is 99.99B、输出结果为:value is 9C、输出结果为:value is 9.0D、编译错误12、以下声明合法的是()A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )13、关于以下application的说明,正确的是()1. class StaticStuff2. {3. static int x=10;4. static { x =5;}5. public static void main(String args[ ])6. {7. System.out.println("x=" x);8. }9. static { x/=3;}10. }A、 4行与9行不能通过编译,因为缺少方法名和返回类型B、 9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=314、关于以下程序代码的说明正确的是()1. class HasStatic{2. private static int x=100;3. public static void main(String args[ ]){4. HasStatic hs1=new HasStatic( );5. hs1.x ;6. HasStatic hs2=new HasStatic( );7. hs2.x ;8. hs1=new HasStatic( );9. hs1.x ;10. HasStatic.x- -;11. System.out.println("x=" x);12. }13. }A、 5行不能通过编译,因为引用了私有静态变量B、 10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10215、以下选项中循环结构合法的是()A、 while (int i<7){ i ;System.out.println("i is " i);}B、 int j=3;while(j){ System.out.println(" j is " j);}C、 int j=0;for(int k=0; j k !=10; j ,k ){ System.out.println(" j is " j "k is" k);}D、 int j=0;do{System.out.println( "j is " j );if (j = = 3) {continue loop;}}while (j<10);16、类Test1定义如下:1.public class Test1{2. public float aMethod(float a,float b){ }3.4.}将以下哪种方法插入行3是不合法的。

()A、 public float aMethod(float a, float b,float c){ }B、 public float aMethod(float c,float d){ }C、 public int aMethod(int a, int b){ }D、 private float aMethod(int a,int b,int c){ }17、类Test1、Test2定义如下:1. public class Test12.{ public float aMethod(float a,float b) throws3. IOException { }4. }5. public class Test2 extends Test1{6.7.}将以下哪种方法插入行6是不合法的。

相关主题