西安交大網(wǎng)絡(luò)教育Java語言習(xí)題.doc
Java語言習(xí)題一、單項選擇1) MAX_LENGTH是int型public成員變量, 變量值保持為常量100,用簡短語句定義這個變量。 A public int MAX_LENGTH=100; B final int MAX_LENGTH=100; C final public int MAX_LENGTH=100; D public final int MAX_LENGTH=100. 2) 給出下面代碼: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行3) 類Teacher和Student是類Person的子類; Person p; Teacher t; Student s; /p, t and s are all non-null. if(t instanceof Person) s = (Student)t; 最后一句語句的結(jié)果是: A 將構(gòu)造一個Student對象; B 表達(dá)式是合法的; C 表達(dá)式是錯誤的; D 編譯時正確,但運行時錯誤。 4) 給出下面代碼段 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 5) 對于下列代碼: 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 76)看以下程序: boolean a=false; boolean b=true; boolean c=(a&&b)&&(!b); int result=c=false?1:2; 這段程序執(zhí)行完后,c與result的值是: A. c=false;result=1; B. c=true;result=2; C. c=true;result=1; D. c=false;result=2; 7)運行下列程序, 會產(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=newThread(new X(); t.start(); A. 第一行會產(chǎn)生編譯錯誤 B. 第六行會產(chǎn)生編譯錯誤 C. 第六行會產(chǎn)生運行錯誤 D. 程序會運行和啟動 8)指出下列程序的運行結(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那個 9)運行下列程序,會產(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. 編譯不通過10)面向?qū)ο蟪绦蛟O(shè)計方法的優(yōu)點:A可重用性、可擴(kuò)展性、可操作性B可重用性、可維護(hù)性、可操作性C可管理性、可擴(kuò)展性、可操作性D 可重用性、可擴(kuò)展性、可管理性 11)下面選項中,Java對類Welcome進(jìn)行定義正確的是:Apublic class 1WelcomeBpublic class We lcomeCpublic class welcomeD public class Welcome12)有如下的程序:public class Welcome3 public static void main( String args )System.out.println( "WelcomentonJavanProgramming!" );則它的輸出結(jié)果是:AWelcome to Java Programming!BWelcomentonJavanProgramming!CWelcome to Java Programming!DWelcome to JavaProgramming! 13)對方法main的第1行定義正確的是:A. public main( String arg )B. public void main( String arg )C. public static void main( String arg )D. public static void main( String args )14)下面那一項不會出現(xiàn)編程錯誤:A.忘記多行注釋符的一個定界符B.一個標(biāo)識符的大小寫字母使用不當(dāng)C.括號不成對出現(xiàn)D.在一個顯示圖形用戶界面的應(yīng)用程序中調(diào)用System .exit15) 給定下面的代碼片段: 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"); 哪些行會導(dǎo)致錯誤? ( ) A. line 1 B. line 2 C .line 5 D. line 8 16) 下面哪種注釋方法能夠支持javadoc命令: ( ) A. /*.*/ B ./*.*/ C. / D. /*.*/ 17) 下面關(guān)于Applet的說法正確的是 ( )A. Applet也需要main方法 B. Applet必須繼承自java.awt.Applet C. Applet能訪問本地文件 D. Applet程序不需要編譯 18) 看下面一段程序: 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(); 以上程序運行結(jié)果是:( ) A .Aclass Aclass B. Bclass Bclass C .Aclass Bclass D. Bclass Aclass 19) 下列關(guān)于Java線程的說法那些是正確的( ) A. 每一個Java線程可以看成由代碼、一個真實的CPU以及數(shù)據(jù)三部份組成。 B. 創(chuàng)建線程的兩種方法中,從Thread類中繼承的創(chuàng)建方式可以防止出現(xiàn)多父類問題。 C .Thread類屬于java.util程序包。 D. 以上說法無一正確。 20)哪個關(guān)鍵字可以拋出異常?( ) A transient B finally C throw D static 21)Main()方法的返回類型是:( ) A int B void C boolean D static 22)System類在哪個包中? ( ) A java.util B java.io C java.awt D java.lang23)對于下列代碼: public class Parent public int addValue( int a, int b) int s; s = a+b; return s; class Child extends Parent 下述哪些方法可以加入類Child? ( ) A int addValue( int a, int b )/ do something. B public void addValue (int a, int b )/ do something. C public int addValue( int a )/ do something. D public int addValue( int a, int b )throws MyException /do something. 24)給出下面代碼: public class test static int a = new a10; public static void main(String args) System.out.println(arr10); 那個選項是正確的?( ) A 編譯時將產(chǎn)生錯誤; B 編譯時正確,運行時將產(chǎn)生錯誤; C 輸出零; D 輸出空。 25)下面哪些選項是正確的main方法說明? ( ) A public main(String args) B public static void main(String args) C private static void main(String args) D void main()26) 欲構(gòu)造ArrayList類的一個實例,此類繼承了List接口,下列哪個方法是正確的?( ) A ArrayList myList=new Object(); B List myList=new ArrayList(); C ArrayList myList=new List(); D List myList=new List(); 27) paint()方法使用哪種類型的參數(shù)? ( ) A Graphics B Graphics2D C String D Color 28) 指出正確的表達(dá)式 ( ) A byte=128; B Boolean=null; C long l=0xfffL; D double=0.9239d; 29) 指出下列程序運行的結(jié)果 public class Example String str=new String("good"); charch=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" ch0=g; ( ) A good and abc B good and gbc C test ok and abc D test ok and gbc 30) 運行下列程序, 會產(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 程序會運行和啟動 31) 要從文件" file.dat"文件中讀出第10個字節(jié)到變量C中,下列哪個方法適合? ( ) A FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read(); B FileInputStream in=new FileInputStream("file.dat"); in.skip(10); int c=in.read(); C FileInputStream in=new FileInputStream("file.dat"); int c=in.read(); D RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte(); 32) 容器被重新設(shè)置大小后,哪種布局管理器的容器中的組件大小不隨容器大小的變化而改變?( ) A CardLayout B FlowLayout C BorderLayout D GridLayout 33) 給出下面代碼: public class Person static int arr = new int10;public static void main(String a) System.out.println(arr1); 那個語句是正確的?( ) A 編譯時將產(chǎn)生錯誤; B 編譯時正確,運行時將產(chǎn)生錯誤; C 輸出零; D 輸出空。 34) 哪個關(guān)鍵字可以對對象加互斥鎖?( ) A transient B synchronized C serialize D static 35) 下列哪些語句關(guān)于內(nèi)存回收的說明是正確的? ( ) A 程序員必須創(chuàng)建一個線程來釋放內(nèi)存; B 內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存 C 內(nèi)存回收程序允許程序員直接釋放內(nèi)存 D 內(nèi)存回收程序可以在指定的時間釋放內(nèi)存對象 36) 下列代碼哪幾行會出錯: 1) public void modify() 2) int I, j, k; 3) I = 100; 4) while ( I > 0 ) 5) j = I * 2; 6) System.out.println (" The value of j is " + j ); 7) k = k + 1; 8) I-; 9) 10) ( ) A line 4 B line 6 C line 7 D line 8 37) MAX_LENGTH是int型public成員變量, 變量值保持為常量100,用簡短語句定義這個變量。 ( ) A public int MAX_LENGTH=100; B final int MAX_LENGTH=100; C final public int MAX_LENGTH=100; D public final int MAX_LENGTH=100. 38).下列不可作為java語言修飾符的是()A) a1 B) $1 C) _1 D) 1139).有一段java 應(yīng)用程序,它的主類名是a1,那么保存它的源文件名可以是()) a1.java B) a1.class C) a1 D) 都對40).整型數(shù)據(jù)類型中,需要內(nèi)存空間最少的是()A) short B) long C) int D) byte 41). Java 類可以作為()A) 類型定義機制B) 數(shù)據(jù)封裝機制C) 類型定義機制和數(shù)據(jù)封裝機制D) 上述都不對42).在創(chuàng)建對象時必須()A) 先聲明對象,然后才能使用對象B) 先聲明對象,為對象分配內(nèi)存空間,然后才能使用對象C) 先聲明對象,為對象分配內(nèi)存空間,對對象初始化,然后才能使用對象D) 上述說法都對43).在調(diào)用方法時,若要使方法改變實參的值,可以()A) 用基本數(shù)據(jù)類型作為參數(shù)B) 用對象作為參數(shù)C) A和B都對D) A和B都不對44). Java中()A) 一個子類可以有多個父類,一個父類也可以有多個子類B) 一個子類可以有多個父類,但一個父類只可以有一個子類C) 一個子類可以有一個父類,但一個父類可以有多個子類D) 上述說法都不對45).Java語言具有許多優(yōu)點和特點,哪個反映了Java程序并行機制的特點?()A) 安全性 B) 多線性 C) 跨平臺 D) 可移植46). Character流與Byte流的區(qū)別是()A) 每次讀入的字節(jié)數(shù)不同 B) 前者帶有緩沖,后者沒有C) 前者是字符讀寫,后者是字節(jié)讀寫 D) 二者沒有區(qū)別,可以互換使用47).以下聲明合法的是()A、default String s; B、public final static native int w( )C、abstract double d; D、abstract final double hyperbolicCosine( )48).關(guān)于以下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行不能通過編譯,因為只能有一個靜態(tài)初始化器C、編譯通過,執(zhí)行結(jié)果為:x=5D、編譯通過,執(zhí)行結(jié)果為:x=349.關(guān)于以下程序代碼的說明正確的是( )1class HasStatic2 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行不能通過編譯,因為引用了私有靜態(tài)變量B、 10行不能通過編譯,因為x是私有靜態(tài)變量C、 程序通過編譯,輸出結(jié)果為:x=103D、 程序通過編譯,輸出結(jié)果為:x=10250.以下選項中循環(huán)結(jié)構(gòu)合法的是( )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);51. 類Test1定義如下:1public class Test12 public float aMethod(float a,float b) 3 4 55)將以下哪種方法插入行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) 56). 類Test1、Test2定義如下:1 public class Test12 public float aMethod(float a,float b) throws3 IOException 4 5 public class Test2 extends Test16757)將以下哪種方法插入行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 58). 關(guān)于以下程序段,正確的說法是( )1 String s1=”abc”+”def”;2 String s2=new String(s1);3 if(s1= =s2)4 System.out.println(“= = succeeded”);5 if (s1.equals(s2)6 System.out.println(“.equals() succeeded”);A、行4與行6都將執(zhí)行 B、行4執(zhí)行,行6不執(zhí)行C、行6執(zhí)行,行4不執(zhí)行 C、行4、行6都不執(zhí)行59). Java application中的主類需包含main方法,main方法的返回類型是什么?( )A、int B、float C、double D、void60). 以下哪個方法用于定義線程的執(zhí)行體? ( )A、 start() B、init() C、run() D、synchronized() 61). 以下標(biāo)識符中哪項是不合法的( )A、const B、$double C、hello D、BigMeaninglessName62).以下哪個關(guān)鍵字可以用來為對象加互斥鎖?( )A、transient B、static C、 serialize D、synchronized63).有以下程序片段,下列哪個選項不能插入到行1。( )1.2.public class Interesting3./do sth 4. A、import java.awt.*; B、package mypackage; C、class OtherClass D、public class MyClass 64). 以下哪項是接口的正確定義?( )A、 interface B void print() ;B、 abstract interface B void print() ;C、 abstract interface B extends A1,A2 /A1、A2為已定義的接口 abstract void print() ;D、 interface B void print();65). 下面哪個函數(shù)是public void aMethod().的重載函數(shù)?( )A、void aMethod( ).B、public int aMethod().C、public void aMethod ( ).D、public int aMethod ( int m).66). 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行的聲明都是正確的 67). 假設(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、a.method1(); C、A.method1(); D、A.method2()68). 有如下代碼段: 1) 2) if(unsafe()/do something 3) else if(safe()/do the other 4) 其中,方法unsafe() 將拋出IOException, 請問可將以下哪項填入第1行?( )A、 public IOException methodName() B、 public void methodName() C、public void methodName() throw IOException D、public void methodName() throws IOException69). Java的字符類型采用的是Unicode編碼方案,每個Unicode碼占用( )個比特位。A、8 B、16 C、32 D、6470). 以下關(guān)于繼承的敘述正確的是( )。A、在Java中類只允許單一繼承B、在Java中一個類只能實現(xiàn)一個接口C、在Java中一個類不能同時繼承一個類和實現(xiàn)一個接口D、在Java中接口只允許單一繼承71). 給出下面代碼,關(guān)于該程序以下哪個說法是正確的?( )public class Person static int arr = new int5;public static void main(String a) System.out.println(arr0); A、編譯時將產(chǎn)生錯誤 B、編譯時正確,運行時將產(chǎn)生錯誤C、輸出零 D、輸出空72). 在使用interface聲明一個接口時,只可以使用( )修飾符修飾該接口。A、private B、protected C、private protected D、public73).下列不可作為java語言修飾符的是()A) a1 B) $1 C) _1 D) 1174).有一段java 應(yīng)用程序,它的主類名是a1,那么保存它的源文件名可以是()) a1.java B) a1.class C) a1 D) 都對75).整型數(shù)據(jù)類型中,需要內(nèi)存空間最少的是()A) short B) long C) int D) byte 76). Java 類可以作為()A) 類型定義機制B) 數(shù)據(jù)封裝機制C) 類型定義機制和數(shù)據(jù)封裝機制D) 上述都不對77).在創(chuàng)建對象時必須()A) 先聲明對象,然后才能使用對象B) 先聲明對象,為對象分配內(nèi)存空間,然后才能使用對象C) 先聲明對象,為對象分配內(nèi)存空間,對對象初始化,然后才能使用對象D) 上述說法都對78).在調(diào)用方法時,若要使方法改變實參的值,可以()A) 用基本數(shù)據(jù)類型作為參數(shù)B) 用對象作為參數(shù)C) A和B都對D) A和B都不對79). Java中()A) 一個子類可以有多個父類,一個父類也可以有多個子類B) 一個子類可以有多個父類,但一個父類只可以有一個子類C) 一個子類可以有一個父類,但一個父類可以有多個子類D) 上述說法都不對80).Java語言具有許多優(yōu)點和特點,哪個反映了Java程序并行機制的特點?()A) 安全性 B) 多線性 C) 跨平臺 D) 可移植81). Character流與Byte流的區(qū)別是()A) 每次讀入的字節(jié)數(shù)不同 B) 前者帶有緩沖,后者沒有C) 前者是字符讀寫,后者是字節(jié)讀寫 D) 二者沒有區(qū)別,可以互換使用82).以下聲明合法的是()A、default String s; B、public final static native int w( )C、abstract double d; D、abstract final double hyperbolicCosine( )83).關(guān)于以下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行不能通過編譯,因為只能有一個靜態(tài)初始化器C、編譯通過,執(zhí)行結(jié)果為:x=5D、編譯通過,執(zhí)行結(jié)果為:x=384).關(guān)于以下程序代碼的說明正確的是( )1class HasStatic2 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行不能通過編譯,因為引用了私有靜態(tài)變量B、 10行不能通過編譯,因為x是私有靜態(tài)變量C、 程序通過編譯,輸出結(jié)果為:x=103D、 程序通過編譯,輸出結(jié)果為:x=10285).以下選項中循環(huán)結(jié)構(gòu)合法的是( )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);86). 類Test1定義如下:1public class Test12 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) 87). 類Test1、Test2定義如下:1 public class Test12 public float aMethod(float a,float b) throws3 IOException 4 5 public class Test2 extends Test167將以下哪種方法插入行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 88). 關(guān)于以下程序段,正確的說法是( )1 String s1=”abc”+”def”;2 String s2=new String(s1);3 if(s1= =s2)4 System.out.println(“= = succeeded”);5 if (s1.equals(s2)6 System.out.println(“.equals() succeeded”);A、行4與行6都將執(zhí)行 B、行4執(zhí)行,行6不執(zhí)行C、行6執(zhí)行,行4不執(zhí)行 C、行4、行6都不執(zhí)行89). Java application中的主類需包含main方法,main方法的返回類型是什么?( )A、int B、float C、double D、void90). 以下哪個方法用于定義線程的執(zhí)行體? ( )A、 start() B、init() C、run() D、synchronized() 91). 以下標(biāo)識符中哪項是不合法的( )A、const B、$double C、hello D、BigMeaninglessName92).以下哪個關(guān)鍵字可以用來為對象加互斥鎖?( )A、transient B、static C、 serialize D、synchronized93).有以下程序片段,下列哪個選項不能插入到行1。( )1.2.public class Interesting3./do sth 4. A、import java.awt.*; B、package mypackage; C、class OtherClass D、public class MyClass 94). 以下哪項是接口的正確定義?( )A、 interface B void print() ;B、 abstract interface B void print() ;C、 abstract interface B extends A1,A2 /A1、A2為已定義的接口 abstract void print() ;D、 interface B void print();95). 下面哪個函數(shù)是public void aMethod().的重載函數(shù)?( )A、void aMethod( ).B、public int aMethod().C、public void aMethod ( ).D、public int aMethod ( int m).96). 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行的聲明都是正確的 97). 假設(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、a.method1(); C、A.method1(); D、A.method2()98). 有如下代碼段: 1) 2) if(unsafe()/do something 3) else if(safe()/do the other 4) 其中,方法unsafe() 將拋出IOException, 請問可將以下哪項填入第1行?( )A、 public IOException methodName() B、 public void methodName() C、public void methodName() throw IOException D、public void methodName() throws IOException99). Java的字符類型采用的是U