|
西交《Java语言》在线作业
单选题 多选题
一、单选题(共 39 道试题,共 78 分。)
1. 给定下面的代码片段: 1) String str = null; 2) if ((str != null) && (str.length() > 10)) { 3) System.out.println("more than 10"); 4) } 5) else if ((str != null) & (str.length() < 5)) { 6) System.out.println("less than 5"); 7) } 8) else { System.out.println("end"); } 哪些行会导致错误?
A. line 1
B. line 2
C. line 5
D. line 8
-----------------选择:C
2. 阅读下列代码 public class Test2005{ public static void main(String args[]){ String s=″Test″; Switch(s){ case″Java″:System.out.print(″Java″); break; case″Language″:System.out.print(″Language″); break; case″Test″:System.out.print(″Test″); break; } } } 其运行结果是_________。
A. Java
B. Language
C. Test
D. 编译出错
-----------------选择:C
3. 执行完代码"int[]x=new int[25];"后,以下说明是正确的( )。
A. x[24]为0
B. x[24]未定义
C. x[25]为0
D. x[0]为空
-----------------选择:A
4. 不允许作为类及类成员的访问控制符的是( )。
A. public
B. private
C. static
D. protected
-----------------选择:C
5. 4) 看下面一段程序: class Aclass{ void go(){ System.out.println("Aclass"); } } public class Bclass extends Aclass{ void go{ System.out.println("Bclass"); } public static void main(String args[]){ Aclass a=new Aclass(); Aclass a1=new Bclass(); a.go(); a1.go(); } 以上程序运行结果是:
A. Aclass Aclass
B. Bclass Bclass
C. Aclass Bclass
D. Bclass Aclass
-----------------选择:C
6. 2) 下面哪种注释方法能够支持javadoc命令:
A. /**...**/
B. /*...*/
C. //
D. /**...*/
-----------------选择:D
7. 下面是有关子类调用父类构造函数的描述正确的是( )
A. 子类定义了自己的构造函数,就不会调用父类的构造函数
B. 子类必须通过super关键字调用父类没有参数的构造函数
C. 如果子类的构造函数没有通过super调用父类构造函数,那么子类会先调用父类不含参数的构造函数,再调用子类自己的构造函数
D. 创建子类对象时,先调用子类自己的构造函数,然后调用父类的构造函数
-----------------选择:C
8. class Person{ String name,department; int age; public Person(String n){name=n;} public Person(String n, int a){name=n;age=a;} public Person(String n,String d,int a){ //doing the same as two arguments version of constructer //including assignment name=n,age=a } } 下列哪一个选项可以添加到“//doing the same....”处?
A. Person(n,a)
B. this(Person(n,a))
C. this(n,a)
D. this(name,age
-----------------选择:C
9. 下列关于修饰符混用的说法,错误的是( )
A. abstract不能与final并列修饰同一个类
B. abstract类中不可以有private的成员
C. static方法中能处理非static的属性
D. abstract方法必须在abstract类中
-----------------选择:C
10. int 型 public 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( )
A. public int MAX_LENGTH=100
B. final int MAX_LENGTH=100
C. public const int MAX_LENGTH=100
D. public final int MAX_LENGTH=100
-----------------选择:D
11. 下列程序段执行后的结果是( )。 String s=new String("abcdefg"); for(int i=0;i<s.length();i+=2){ System.out.print(s.charAt(i)); }
A. aceg
B. ACEG
C. abcdefg
D. abcd
-----------------选择:A
12. 下面哪个为构造函数的特性定义( )。
A. 在类中声明构造函数时,名称须与类名相同
B. 具有重载特性,可以建立多个相同名称
C. 使用类建立新对象时,会自动执行构造函数,因此在构造函数内设定变量的初始值进行内存的分配
D. 以上都是
-----------------选择:D
13. 以下语句不能通过编译的是( )
A. int[] a={1,2,3,4};
B. int b[];
C. int c[]=new int[3];
D. int d=new int[];
-----------------选择:D
14. 下列常见的系统定义的异常中,哪个是输入、输出异常?
A. ClassNotFoundException
B. IOException
C. FileNotFoundException
D. UnknownHostException
-----------------选择:B
15. 6) 看以下程序: boolean a=false; boolean b=true; boolean c=(a&&b)&&(!b); int result=c==false?1:2; 这段程序执行完后,c与result的值是:
A. c=false;result=1;
B. c=true;result=2;
C. c=true;result=1;
D. c=false;result=2;
-----------------选择:A
16. 写出下列代码运行的结果?( ) int i; int j; i=5;j=0; while(j<100){ for(i=0;i<10;i++) j++; } System.out.println("i="+i);
A. i=10
B. i=9
C. i=5
D. i=0
-----------------选择:C
17. 异常包含下列那些内容( )。
A. 程序中的语法错误
B. 程序的编译错误
C. 程序执行过程中遇到的事先没有预料到的情况
D. 程序事先定义好的可能出现的意外情况
-----------------选择:C
18. 当Frame改变大小时,放在其中的按钮大小不变,则使用如下哪个layout( )。
A. FlowLayout
B. CardLayout
C. North and South of BorderLayout
D. East and West of BorderLayout
-----------------选择:D
19. 下列程序段执行后K的值是() int x=20; y=30; k=(x>y)?y:x
A. 20
B. 30
C. 10
D. 50
-----------------选择:A
20. 8) 指出下列程序的运行结果 int i = 9; switch (i) { default: System.out.println("default"); case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); }
A. default
B. default, zero
C. error default clause not defined
D. no output displayed那个
-----------------选择:B
21. 下列描述中,错误的是_________。
A. Java要求编程者管理内存
B. Java的安全性体现在多个层次上
C. Applet要求在支持Java的浏览器上运行
D. Java有多线程机制
-----------------选择:A
22. 下面的表达式哪个是正确的( )
A. String s="你好";int i=3; s+=i;
B. String s="你好";int i=3; if(i==s){ s+=i};
C. String s="你好";int i=3; s=i+s;
D. String s="你好";int i=3; s=i+;
-----------------选择:A
23. 如果类中的成员变量可以被同一包访问,则使用如下哪个约束符( )。
A. private
B. public
C. protected
D. no modifier
-----------------选择:D
24. Java语言提供了一个()线程,自动回收动态分配的内存
A. 异步
B. 消费者
C. 守护
D. 垃圾收集
-----------------选择:D
25. 要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符( )
A. final
B. public
C. private
D. abstract
26. 下列方法中,不属于WindowListener接口的是_________。
A. windowOpened()
B. windowClosed()
C. windowActivated()
D. mouseDragged()
27. java语言使用的字符码集是( )
A. ASCⅡ
B. BCD
C. DCB
D. Unicode
28. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )。
A. 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B. 可以被两种类访问和引用:该类本身、该类的所有子类
C. 只能被该类自身所访问和修改
D. 只能被同一个包中的类访问
29. 1) 下面关于Applet的说法正确的是
A. Applet也需要main方法
B. Applet必须继承自java.awt.Applet
C. Applet能访问本地文件
D. Applet程序不需要编译
30. 下列关于for循环和while循环的说法中哪个是正确的( )
A. while循环能实现的操作,for循环也都能实现
B. while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C. 两种循环任何时候都可替换
D. 两种循环结构中都必须有循环体,循环体不能为空
31. 9) 运行下列程序,会产生什么结果: class Outer1{ private int a; void foo(double d,final float f){ String s; final boolean b; class Inner{ void methodInner(){ System.out.println("in the Inner"); } } } public static void main(String args[]) { Outer1 me=new Outer1(); me.foo(123,123); System.out.println("outer"); } }
A. in the Inner outer
B. outer
C. in the Inner
D. 编译不通过
32. 7) 运行下列程序, 会产生什么结果 public class X extends Thread implements Runable{ public void run(){ System.out.println("this is run()"); } public static void main(String args[]) { Thread t=new Thread(new X()); t.start(); } }
A. 第一行会产生编译错误
B. 第六行会产生编译错误
C. 第六行会产生运行错误
D. 程序会运行和启动
33. 以下哪个方法用于定义线程的执行体( )
A. start()
B. init()
C. run()
D. main() E. synchronized()
34. 5) 下列关于Java线程的说法那些是正确的()
A. 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。
B. 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。
C. Thread类属于java.util程序包。
D. 以上说法无一正确。
35. 下列语句序列执行后,i 的值是( )。 int i=8, j=16; if( i-1 > j ) i--; else j--;
A. 15
B. 16
C. 7
D. 8
36. 若特快订单是一种订单,则特快订单类和订单类的关系是_________。
A. 使用关系
B. 包含关系
C. 继承关系
D. 无关系
37. 以下有关构造方法的说法,正确的是( )
A. 一个类的构造方法可以有多个
B. 构造方法在类定义时被调用
C. 构造方法只能由对象中的其它方法调用
D. 构造方法可以和类同名,也可以和类名不同
38. 下列Java常见事件类中哪个是鼠标事件类?
A. InputEvent
B. KeyEvent
C. MouseEvent
D. WindowEvent
39. 下面哪几个函数是public void example(){...}的重载函数( )。
A. public void example( int m){...}
B. public int example(){...}
C. public void example2(){...}
D. public int example3 ( int m, float f){...}
西交《Java语言》在线作业
单选题 多选题
二、多选题(共 11 道试题,共 22 分。)
1. 2) 下面哪些代码片段会产生编译错误?
A. String s = "Gone with the wind"; String t = " good "; String k = s + t;
B. String s = "Gone with the wind"; String t; t = s[3] + "one";
C. String s = "Gone with the wind"; String standard = s.toUpperCase();
D. String s = "home directory"; String t
2. 9) 下列表达式哪些是正确的:
A.
B. byte=340;
C. Boolean=1;
D. long l=-2;
E. double=0.9239d;
3. 1) 下面哪些标识符在Java语言中是合法的?
A. persons$
B. TwoUsers
C. *point
D. instanceof F.end-line
4. 7) 下面关于Java代码安全的说法哪些是正确的?
A. 程序执行过程中需要的所有类都是通过字节码校验程序装入的。
B. 代码的运行是由Java运行环境中的解释器完成的。
C. 在运行时,字节码要经过装入,校验之后,才能在解释器中执行。
D. 在缺省的安全配置条件下,Java Applet不能访问任何本地资源。
5. 11) 下面的Java语句错误的是:
A. Double a=1.0;
B. double a=1.0;
C. out.println("hello");
D. DatagramSocket a = new DatagramSocket()
6. 4) 给定下面的代码片段: public void Test() { try { method(); System.out.println("Hello World"); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Exception?"); } catch(Exception e) { System.out.println("Exception1"); } finally{ System.out.println("Thank you!"); } } 如果函数method正常运行并返回,会显示下面的哪些信息?
A. Hello World
B. Exception
C. Exception1
D. Thank you!
7. 8) 下列方法属于java.lang.Math类的有(方法名相同即可):
A. random()
B. abs()
C. sqrt()
D. sin()
8. 5) 下列哪些语句是正确的?
A. int a[][]=new int[][3];
B. int a[][]={{1,3},{2,3,4},{1,2}};
C. String s[][]=new String[2][];
D. String s[][]={{"can","I"},{"help","you"}}
9. 10) 下面的说法正确的是:
A. Java语言里的线程不是对象
B. Applet不需要main方法
C. Java语言的对象都是java.lang.Object的子类
D. double是Java语言的合法标识符
10. 3) 下面哪些赋值语句是错误的?
A. float f = 11.1;
B. double d = 5.3E12;
C. char c = '\r';
D. byte bb = 433;
E. Boolean b=true;
11. 6) 下面哪些语句能够正确地生成5个空字符串?
A. String a [] = new String [5]; for (int i = 0; i < 5; a[i++] = "");
B. String a [] = {"", "", "", "", ""};
C. String a [5];
D. String [5] a;
E. String [] a = new String [5]; for (int i = 0; i < 5; a[i++] = null);
-----------------选择:
|
|