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