西交《Java語言》在線作業(yè)-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.編譯時將產(chǎn)生錯誤;
B.編譯時正確,運行時將產(chǎn)生錯誤;
C.輸出零;
D.輸出空。
2.整型數(shù)據(jù)類型中,需要內(nèi)存空間最少的是()
A.short
B.long
C.int
D.byte
3.以下哪個關(guān)鍵字可以用來為對象加互斥鎖?( )
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語言具有許多優(yōu)點和特點,哪個反映了Java程序并行機制的特點?()
A.安全性
B.多線性
C.跨平臺
D.可移植
6.有如下的程序: public class Welcome3 { public static void main( String args[] ) { System.out.println( "Welcome\nto\nJava\nProgramming!" ); } } 則它的輸出結(jié)果是:。。
A.Welcome to Java Programming!
B.WelcomentonJavanProgramming!
C.Welcome
to
Java
Programming
!
D.Welcome
to
Java
Programming!
7.給出下面代碼,關(guān)于該程序以下哪個說法是正確的?( ) public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]);} } }
A.編譯時將產(chǎn)生錯誤
B.編譯時正確,運行時將產(chǎn)生錯誤
C.輸出零
D.輸出空
8.Character流與Byte流的區(qū)別是()
A.每次讀入的字節(jié)數(shù)不同
B.前者帶有緩沖,后者沒有
C.前者是字符讀寫,后者是字節(jié)讀寫
D.二者沒有區(qū)別,可以互換使用
9.Java中()
A.一個子類可以有多個父類,一個父類也可以有多個子類
B.一個子類可以有多個父類,但一個父類只可以有一個子類
C.一個子類可以有一個父類,但一個父類可以有多個子類
D.上述說法都不對
10.關(guān)于以下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行不能通過編譯,因為只能有一個靜態(tài)初始化器
C.編譯通過,執(zhí)行結(jié)果為:x=5
D.編譯通過,執(zhí)行結(jié)果為:x=3
11.編譯Java程序的命令是:()
A.appletviewer
B.javac
C.java
D.javadoc
12.在創(chuàng)建對象時必須()
A.先聲明對象,然后才能使用對象
B.先聲明對象,為對象分配內(nèi)存空間,然后才能使用對象
C.先聲明對象,為對象分配內(nèi)存空間,對對象初始化,然后才能使用對象
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.假設(shè)A類有如下定義,設(shè)a是A類的一個實例,下列語句調(diào)用哪個是錯誤的?( ) 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.以下標(biāo)識符中哪項是不合法的( )
A.const
B.$double
C.hello
D.BigMeaninglessName
19.以下哪個方法用于定義線程的執(zhí)行體? ( )
A.start()
B.init()
C.run()
D.synchronized()
20.運行下列程序,會產(chǎn)生什么結(jié)果() 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.指出下列程序運行的結(jié)果 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.指出下列程序的運行結(jié)果
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.下面那一項不會出現(xiàn)編程錯誤( )。。
A.忘記多行注釋符的一個定界符
B.一個標(biāo)識符的大小寫字母使用不當(dāng)
C.括號不成對出現(xiàn)
D.在一個顯示圖形用戶界面的應(yīng)用程序中調(diào)用System .exit
28.指出下列程序的運行結(jié)果 ( ) 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.運行下列程序, 會產(chǎn)生什么結(jié)果
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.第一行會產(chǎn)生編譯錯誤
B.第六行會產(chǎn)生編譯錯誤
C.第六行會產(chǎn)生運行錯誤
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行語句將調(diào)用哪行語句??
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 語言不允許同時繼承一個類并實現(xiàn)一個接口
D.java語言會自動回收內(nèi)存中的垃圾
33.下列關(guān)于"<<"和">>"的運算,哪些是正確的?
A.0000 0100 0000 0000 0000 0000 0000 0000<<5 的運行結(jié)果是 1000 0000 0000 0000 0000 0000 0000 0000
B.0000 0100 0000 0000 0000 0000 0000 0000<<5的運行結(jié)果是 1111 1100 0000 0000 0000 0000 0000 0000
C.1100 0000 0000 0000 0000 0000 0000 0000>>5的運行結(jié)果是 1111 1110 0000 0000 0000 0000 0000 0000
D.1100 0000 0000 0000 0000 0000 0000 0000>>5的運行結(jié)果是 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語言中的類只能有一個構(gòu)造函數(shù)
B.程序員可以自己定義自己的異常
C.java語言允許多繼承
D.socket在java.net包中
38.執(zhí)行下列代碼后,哪個結(jié)論是正確的 String[] s=new String[10];
A.s[10] 為 "";
B.s[9] 為 null;
C.s[0] 為 未定義
D.s.length 為10
39.下列哪些說法是正確的?
A.Java 語言只允許單一繼承
B.Java 語言只允許實現(xiàn)一個接口
C.Java 語言不允許同時繼承一個類并實現(xiàn)一個接口
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!"); } } 如果函數(shù)method正常運行并返回,會顯示下面的哪些信息?( )
A.Hello World
B.Exception
C.Exception1
D.Thank you!
三、判斷題 (共 10 道試題,共 20 分)
41.注釋的作用是使程序在執(zhí)行時在屏幕上顯示//之后的內(nèi)容。( )
42.當(dāng)把一個RandomAccessFile流與一個文件相聯(lián)是,讀寫數(shù)據(jù)的位置由文件位置指針來指定,并且所有數(shù)據(jù)均以基本數(shù)據(jù)類型來讀寫。()
43.friendly關(guān)鍵字是Java語言的訪間控制修飾符
44.類System不是由程序開頭的import語句裝載。 ( ) 。。
45.數(shù)據(jù)報傳輸是可靠的,包按順序先后達到。( )
46.方法重寫發(fā)生在類繼承時,子類可以重寫一個父類;數(shù)列表一樣時才能說是重寫,否則就是重載
47.在定義變量和方法時,必須清楚地在起面前標(biāo)上訪問權(quán)限修飾符。( )
48.已建立的URL對象不能被改變。( )
49.套接字是指網(wǎng)絡(luò)上的兩個程序經(jīng)過雙向的通信而建立起來的一個實現(xiàn)數(shù)據(jù)傳輸?shù)耐ǖ?,這個雙向連接的一端成為一個套接字( )
50.C和Java都是多線程語言。( )