《Java语言》在线作业-00003
试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)
1.给出下面代码: public class test{ static int a[] = new a[10]; public static void main(String args[]) { System.out.println(arr[10]); } } 那个选项是正确的?( )
A.编译时将产生错误;
B.编译时正确,运行时将产生错误;
C.输出零;
D.输出空。
2.整型数据类型中,需要内存空间最少的是()
A.short
B.long
C.int
D.byte
3.以下哪个关键字可以用来为对象加互斥锁?( )
A.transient
B.static
C.serialize
D.synchronized
4.给出下面代码: 1) class Parent { 2) private String name; 3) public Parent(){} 4) } 5) public class Child extends Parent { 6) private String department; 7) public Child() {} 8) public String getValue(){ return name; } 9) public static void main(String arg[]) { 10) Parent p = new Parent(); 11) } 12) } 那些行将引起错误?( )。。
A.第3行
B.第6行
C.第7行
D.第8行
5.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?()
A.安全性
B.多线性
C.跨平台
D.可移植
6.有如下的程序: public class Welcome3 { public static void main( String args[] ) { System.out.println( "Welcome\nto\nJava\nProgramming!" ); } } 则它的输出结果是:。。
A.Welcome to Java Programming!
B.WelcomentonJavanProgramming!
C.Welcome
to
Java
Programming
!
D.Welcome
to
Java
Programming!
7.给出下面代码,关于该程序以下哪个说法是正确的?( ) public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]);} } }
A.编译时将产生错误
B.编译时正确,运行时将产生错误
C.输出零
D.输出空
8.Character流与Byte流的区别是()
A.每次读入的字节数不同
B.前者带有缓冲,后者没有
C.前者是字符读写,后者是字节读写
D.二者没有区别,可以互换使用
9.Java中()
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
10.关于以下application的说明,正确的是( ) 1. class StaticStuff 2. { 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=5
D.编译通过,执行结果为:x=3
11.编译Java程序的命令是:()
A.appletviewer
B.javac
C.java
D.javadoc
12.在创建对象时必须()
A.先声明对象,然后才能使用对象
B.先声明对象,为对象分配内存空间,然后才能使用对象
C.先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
D.其它说法都对
13.下面的选项中,哪一项不属于“汽车类”的行为()。
A.启动
B.刹车
C.减速
D.速度
14.有以下程序片段,下列哪个选项不能插入到行1。( ) 1. 2.public class Interesting{ 3.//do sth 4. }
A.import java.awt.*;
B.package mypackage;
C.class OtherClass{ }
D.public class MyClass{ }
15.下面选项中,Java对类Welcome进行定义正确的是()。。
A.public class 1Welcome
B.public class We lcome
C.public class welcome
D.public class Welcome
16.给出下面代码段 1) public class Test { 2) int m, n; 3) public Test() {} 4) public Test(int a) { m=a; } 5) public static void main(String arg[]) { 6) Test t1,t2; 7) int j,k; 8) j=0; k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) } 12) } 哪行将引起一个编译时错误? ()。。
A.line 3
B.line 5
C.line 6
D.line 10
17.假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( ) class A { int i; static String s; void method1() { } static void method2() { } }
A.System.out.println(a.i);
B.method1();
C.method1();
D.method2()
18.以下标识符中哪项是不合法的( )
A.const
B.$double
C.hello
D.BigMeaninglessName
19.以下哪个方法用于定义线程的执行体? ( )
A.start()
B.init()
C.run()
D.synchronized()
20.运行下列程序,会产生什么结果() 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.编译不通过
21.下面哪些选项是正确的main方法说明? ( )
A.public main(String args[])
B.public static void main(String args[])
C.private static void main(String args[])
D.void main()
22.类Test1、Test2定义如下: 1. public class Test1 2.{ public float aMethod(float a,float b) throws 3. IOException { } 4. } 5. public class Test2 extends Test1{ 6. 7.} 将以下哪种方法插入行6是不合法的。( )
A.float aMethod(float a,float b){ }
B.public int aMethod(int a,int b)throws Exception{ }
C.public float aMethod(float p,float q){ }
D.public int aMethod(int a,int b)throws IOException{ }
23.类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){ }
24.A派生出子类B,B派生出子类C,并且在Java源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C(); 问以下哪个说法是正确的? ( )
A.只有第1行能通过编译
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错
D.第1行、第2行和第3行的声明都是正确的
25.指出下列程序运行的结果 public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); Sytem.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } } ( )
A.good and abc
B.good and gbc
C.test ok and abc
D.test ok and gbc
26.指出下列程序的运行结果
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那个
27.下面那一项不会出现编程错误( )。。
A.忘记多行注释符的一个定界符
B.一个标识符的大小写字母使用不当
C.括号不成对出现
D.在一个显示图形用户界面的应用程序中调用System .exit
28.指出下列程序的运行结果 ( ) 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那个
29.运行下列程序, 会产生什么结果
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.程序会运行和启动
30.对于下列代码:
1) class Person {
2) public void printValue(int i, int j) {//... }
3) public void printValue(int i){//... }
4) }
5) public class Teacher extends Person {
6) public void printValue() {//... }
7) public void printValue(int i) {//...}
8) public static void main(String args[]){
9) Person t = new Teacher();
10) t.printValue(10);
11) }
第10行语句将调用哪行语句??
A.line 2
B.line 3
C.line 6
D.line 7
二、多选题 (共 10 道试题,共 20 分)
31.给出下面代码段:
1) switch(m)
2) { case 0: System.out.println("case 0");
3) case 1: System.out.println("case 1"); break;
4) case 2:
5) default: System.out.println("default");
6) }
下列m的哪些值将引起"default"的输出?
A.0
B.1
C.2
D.3
32.下列哪些说法是正确的? ( )
A.IOException必须被捕获或抛出
B.java语言会自动初始化变量的值
C.java 语言不允许同时继承一个类并实现一个接口
D.java语言会自动回收内存中的垃圾
33.下列关于"<<"和">>"的运算,哪些是正确的?
A.0000 0100 0000 0000 0000 0000 0000 0000<<5 的运行结果是 1000 0000 0000 0000 0000 0000 0000 0000
B.0000 0100 0000 0000 0000 0000 0000 0000<<5的运行结果是 1111 1100 0000 0000 0000 0000 0000 0000
C.1100 0000 0000 0000 0000 0000 0000 0000>>5的运行结果是 1111 1110 0000 0000 0000 0000 0000 0000
D.1100 0000 0000 0000 0000 0000 0000 0000>>5的运行结果是 0000 0110 0000 0000 0000 0000 0000 0000
34.指出下列哪个方法与方法public void add(int a){}为合理的重载方法。( )
A.public int add(int a)
B.public void add(long a)
C.public void add(int a,int b)
D.public void add(float a)
35.如果下列的方法能够正常运行,在控制台上将显示什么?( ) public void example(){ try{ unsafe(); System.out.println("Test1"); } catch(SafeException e) {System.out.println("Test 2");} finally{System.out.println("Test 3");} System.out.println("Test 4"); }
A.Test 1
B.Test 2
C.Test 3
D.Test 4
36.Java程序的种类有()
A.类(Class)
B.Applet
C.Application
D.Servlet
37.下述哪些说法是正确的? ( )
A.java语言中的类只能有一个构造函数
B.程序员可以自己定义自己的异常
C.java语言允许多继承
D.socket在java.net包中
38.执行下列代码后,哪个结论是正确的 String[] s=new String[10];
A.s[10] 为 "";
B.s[9] 为 null;
C.s[0] 为 未定义
D.s.length 为10
39.下列哪些说法是正确的?
A.Java 语言只允许单一继承
B.Java 语言只允许实现一个接口
C.Java 语言不允许同时继承一个类并实现一个接口
D.Java 语言的单一继承使得代码更加可靠
40.给定下面的代码片段: 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!
三、判断题 (共 10 道试题,共 20 分)
41.注释的作用是使程序在执行时在屏幕上显示//之后的内容。( )
42.当把一个RandomAccessFile流与一个文件相联是,读写数据的位置由文件位置指针来指定,并且所有数据均以基本数据类型来读写。()
43.friendly关键字是Java语言的访间控制修饰符
44.类System不是由程序开头的import语句装载。 ( ) 。。
45.数据报传输是可靠的,包按顺序先后达到。( )
46.方法重写发生在类继承时,子类可以重写一个父类;数列表一样时才能说是重写,否则就是重载
47.在定义变量和方法时,必须清楚地在起面前标上访问权限修饰符。( )
48.已建立的URL对象不能被改变。( )
49.套接字是指网络上的两个程序经过双向的通信而建立起来的一个实现数据传输的通道,这个双向连接的一端成为一个套接字( )
50.C和Java都是多线程语言。( )