Java習題附答案



  第一章練習題(Java入門)

    

1.下列哪項不是JDK所包含的內容?(選一項)C 紅色代表正確答案

    A.Java編程語言

    B.工具及工具的API

    C.Java EE擴展API

    D.Java平台虛擬機

    

2.下列關於JDK、JRE和JVM的描述。哪項正確?D

    A.JDK中包含了JRE,JVM中包含了JRE

    B.JRE中包含了JDK,JDK中包含了JVM

    C.JRE中包含了JDK,JVM中包含了JRE

    D.JDK中包含了JRE,JRE中包含了JVM

    

3.下列哪個工具可以編譯java源文件?

    A.javac

    B.jdb

    C.javadoc

    D.junit

    

4.JDK工具javadoc的作用是哪項?A

    A.生成Java文檔

    B.編譯Java源文件

    C.執行Java類文件

    D.測試Java代碼

    

5.以下哪些包是Java標准庫中常用的包?(選三項)ACD

    A.java.lang

    B.javax.servlet .http

    C.j ava. io

 D.java.sql

 

6.使用JDK工具生成的Java文檔的文件格式是?D

A.XML格式

B.自定義格式

c.二進制格式

D.HTML格式

 

7.以下關於JVM的敘述,哪項正確?(選兩項)AC

A.JVM運行於操作系統之上,它依賴於操作系統

B.JVM運行於操作系統之上,它與操作系統無關

C.JVM支持Java程序運行,它能夠直接運行Java字節碼文件

D.JVM支持Java程序運行,它能夠直接運行Java源代碼文件

 

8.以下關於支持Java運行平台的敘述,哪項錯誤?C

A.Java可在Solaris平台上運行

B.Java可在Windows平台上運行

C.Java語言與平台無關。Java程序的運行結果依賴於操作系統

D.Java語言與平台無關。Java程序的運行結果與操作系統無關

 

9.以下關於Applet和Java程序之間關系的敘述,哪項錯誤?B

A. -個Applet就是一段Java程序

B.Applet是一種特殊的Java程序,它需要運行在Web服務器上

C.Applet是一種特殊的Java程序,它需要運行在Web瀏覽器上

D.Applet是一種Java SE平台的應用程序

 

10.以下關於Java HotSpot的描述,哪兩項錯誤?(選兩項) A D

A.JavaHotSpot是一種熱編譯技術,在編譯Java源程序時會被使用

B.Java HotSpot是一種熱編譯技術,在運行Java代碼時會被使用

C.Java HotSpot是一種熱編譯技術,它只對程序的部分字節碼進行優化

D.Java HotSpot是一種熱編譯技術,它會對程序的全部字節碼進行優化


11.環境變量PATH中含有多個路徑時,路徑和路徑之間可以用哪項來隔開?A

    A.:

    B.  ,

    C.*

    D:|

    

12.CLASSPATH中的“.”的含義是哪項?B

    A.省略號

    B.當前目錄

    C.所有目錄

    D.上級目錄

    

13.JVM在執行一個Java類時,大致采用以下過程?D

    A.執行類中的代碼一>裝載類一>校驗類

    B.校驗類一>裝載類一>執行類中的代碼

    C.裝載類一>執行類中的代碼一>校驗類

    D.裝載類一>校驗類一>執行類中的代碼

    

14.當運行—個Java程序時,傳遞參數的格式是哪項?C

    A. java類名參數1,參數2

    B. javac類名參數1參數2

    C. java類名參數1參數2

    D. java類名參數1+參數2

   

15.以下關於Java文件名的敘述,正確的有?(選兩項)A B

    A.Java源文件的擴展名應為.java

    B.Java源文件的文件名應與文件中的類名一致

    C. Java字節碼文件的擴展名應為.java

    D. 一個Java源文件中只能包含一個Java類

 

第二章練習題(數據類型和運算符)

 

    1.下列哪項不屬於Java語言的基本數據類型?B

    A.int

    B.String

    C.double

    D.boolean

    

2.下列哪項不是int類型的字面量?A

    A.\u03A6

    B.077

    C.OxABBC

    D.20

    

3.下列哪項不是有效的標識符?B

    A.userName

    B.2test

    C.$change

    D._password

    

4.下列哪項是Java語言中所規定的注釋樣式?(選三項)ACD

    A.//單行注釋

    B.--單行注釋

    C.  /*

          *單行或多行注釋

          */

    D.  /kk

    *文檔注釋

    */

    

5.下列哪項不是Java語言的關鍵字?B

    A.goto

    B.sizeof

    C.instanceof

    D.volatile

 

    6.現有如下五個聲明:D

    Linel: int a_really_really_really_long_variable_name=5 ;

    Line2: int  _hi=6;

    Line3:  int  big=Integer. getlnteger("7”);

    Line4:int $dollars=8;

    line5: int %opercent=9;

    哪行無法通過編譯?

    A.Line1

    B.Line3

    C. Line4

    D. Line5

    

7.現有:D

    1.  class Top  {

    2.    static int x=l;

    3.    public Top (inty)  {  x*=3;  }

    4.    }

    5.  class Middle extends Top {

    6.    public Middle()  {x+=1;  )

    7.    public  static void main (String  []  args)  {

    8.    Middle m = new Middle();

    9.    System. out .println (x);

    IO.    }

    II.  }

    結果為:

    A.1

    B. 2

    C.3

    D.編譯失敗

    

8.現有:

    1.  class Passer f

    2.    static final int X=5;

    3.public  static void main (String  []  args)  {

    4.    new  Passer().go (x);

    5.System. out .print (x);

    6,    )

    7.    void go (int x)  {

    8.System. out .print(x++);

    9.    }

    10. }

 

    結果是什么?A

    A.55

    B.56

    C.65

    D.66

    

9.現有:

    1.  class Wrench f

    2.public static void main(String  []  args)  {

    3.Wrench w=new Wrench();    Wrench w2=new Wrench();

    4.    w2=go (w, w2);

    5.System.out.print (w2==w);

    6.    }

    7.static Wrench go (Wrench wrl,  Wrench wr2)  {

    8.Wrench wr3=wrl; wrl=wr2; wr2=wr3;

    9.    return wr3;

    10.    }

    11.  }

    結果是什么?B

    A. false

    B.  true

    C.編譯失敗

    D.運行的時候有異常拋出

    

10.現有:

    5.  class  Wrench2  {

    6.    int size;

    7.public static void main(String  []  args)  {

    8.Wrench2 w=new Wrench2();

    9.    w.size=II;

    IO.    Wrench2 w2=go(w, w.size);

    II.    System. out .print (w2. size);

    12.    )

    13.    static Wrench2 go(Wrench2 wr. int s)  {

    14.    S=12;

    15。    return wr;

    16.    }

    17.  }

 

    結果為:A

    A. 11

    B. 12

    c.編譯失敗。

    D.運行時異常被拋出

    

11.現有:

    class Test2  f

    public  static void main (String  []  args)  {

    short a,b,C;

    a=l;

    b=2;

    C=a+b;

    a+=2:

    }

    }

    以上代碼中,哪一句是錯誤的?B

    A.a=1:

    B.C=a+b;

    C.  a+=2;

    D.  short a,b,C;

    

12.表達式:1-2/5+2 'k5的結果是哪項?D

    A.  10.6

    B.  9.8

    C.  9

    

13.現有代碼片段:A

    String  s="123";

    String sl=S+456;

    請問sl的結果是哪項?

    A. 123456

    B. 579

    C.編譯錯誤

    D.運行時拋出異常

 

14.基本數據類型float的包裹類是哪項?C

A. Integer

B. Double

C. Float

D. Character

 

15.現有:

  1.  class  Test4  {

  2.     public static void main (String  []  args)  {

  3.    boolean X=true;

  4.    boolean y=false;

  5.    short Z=42;

  6.

  7.    if((z++==42)  &&  (y=true))z++;

  8.if((x=false)  ||    (++z==45))  z++;

  9.

  10.    System. out.println(¨z=”+z);

  II.    }

  12.  }

結果為:D

A.  Z=42

B.  z=44

C.  Z= 45

D.  z= 46

 

 

第三章練習題(流程控制與數組)

 

    1.現有:

    class TestApp{

    public  static  void main (String[]  args){

    for (int  i=0; i<lO;i++){

    if(i==3)

    break;

    System. out .print (i);

    }

    }

    }

    程序運行后的輸出是哪項?C

    A.0123

    B.012456789

    C.  0123456789

    D.  012

    

2.程序:

    class   TestApp{

    public  static  void main (String[]  args){

    int x=6;

    if (x>l)

    System. out. println("x>l");

    else if (x>5)

    System. out .println("x>5");

    else if (x<10)

    System. out. println("x<lO");

    else if (x<29)

    System. out .println( "x<29");

    else

    System. out.println(“以上都不是”);

    }

    }

    上述程序運行后的結果是哪項?D

    A.x>5

    B.x>l

    C.  x<10

    D.x<29

 

    3.現有:

    class TestApp{

    public  static  void main (String[]  args){

    int [5]   myarray={ 10, 11, 12, 13, 14);

    int sum=0;

    for (int x  :  myarray)

    sum+=x;

    System. out. println( "sum= "+sum);

    }

    }

    上述程序運行后的結果是哪項?A

    A. sum=10

    B. sum=70

    C. sum=60

    D. 運行時拋出異常

    

4.下列有關數組的聲明中,正確的是哪項?(選兩項)AD

    A. int s[10];

    B. int[10]  s;

    C. int[5] s={l,2,3,4,5};

    D. int s[];

    

5.已知數組array,其最后一個元素的下標是?ACD

    A. array. size

    B. array. length-l

    C. array. size-l

    D. array.length

    

6.程序:

    class    TestApp{

    public  static void main (String[]  args){

    int X=5:

    switch (x){

    case l:

    case 2:

    case 3:

    System. out.println(“一季度”);

    break;

    case 4:

    case 5:

 

    case 6:

    System. out.println(“二季度”);

    break;

    default:

    System. out.println(“三季度以上”);

    break;

    )

    }

    )

    上述程序運行后的結果是哪項?D

    A. 一季度

    B.二季度

    c.三季度以上

    D.無輸出

    

7.為將數組myArray的長度由3改為6,現采取以下編碼:

    int[]myArray=new int [3];

    myArray=new  int[6];

    代碼執行后,以下敘述哪項是正確的?AC

    A.數組myArray的長度已由3改為6,其中前3個元素的值不變,后3個元素

    的值為空。

    B.數組myArray的長度已由3改為6,其中前3個元素的值不變,后3個元素

    需再經過初始化后才能使用。

    C.數組myArray的長度沒有變化。

    D.數組myArray的長度已由3改為6,原來3個元素的值全部丟失。

    

8.現有:

    1.  class  Ifs  {

    2.public  static void main (String  []  args)  {

    3.boolean state=false;

    4.    int i=2;

    5.if( (++i>2)  &&  (state=true))

    6.i++;

    7.if( (++i>4)  l l  (state=false))

    8.i++;

    9.System.out .println (i);

    10.    }

    11.  }

 

    

    結果為:C

    A.  6

    B.  5

    C.  4

    D.編譯失敗

    

9.現有:

    3.  public class Tester {

    4.public static void main (String[] args)  {

    5.    intx-5;

    6.    Integer xl=x;  Integer x2=x;

    7.int x3=new Integer(5);

    8.    system..ut.print(x1.equals(x));

    9.    system..ut.print(xl==x);

    lu.    system..ut.print(x2.equals(xl));

    11.    system..ut.print(x2==xl);

    12-    system..ut.print(x2==x3);

    13-    system..ut.print(x2.equals(x3));

    “    l4.}

    15.  }

    結果為:B

    A.編譯失敗

    B.  falsefalsetruetruetruetrue

    C. truetruetruetruetruetrue

    D.  falsefalsetruetruetruefalse

    E.  truefalsetruefalsefalsetrue

    F.運行時異常被拋出

    

10.現有:

    1.  class Rectangle  {

    2'    public static V.id main(string  []  args)    {

    3.   int[]x=(1,2,3);

    4.   x[1]=  (x[1]>1)  ?x[2]:  O;

    5.    System.out.println(x[1]);

    6.    }

    7.    }

 

    結果為:AD

    A.3

    B.2

    C.1

    D.0

    

11.現有:

    1.class Output  (

    2.public static void main (String[]  args)    {

    3.    int i=5:

    4.System.out.print( "4"+i+"");

    5.System.out.print (i+5+"7");

    6.System.out.println  (i+"8");

    7.    }

    8.  }

    結果為:A

    A.  9 9722

    B.  9 55758

    C.  45 10758

    D.  45 9722

    

12.以下哪種初始化數組的方式是錯誤的?B

    A. String[]names={"zhang",   "wang",   "li");

    B. String  names[]  =new  String [3];

    names [O]  ="zhang";  names [1]  ="wang";   names [2]  ="li";

    C. String[3] names={"zhang", "wang", "li"};

    D. 以上皆正確

    

13.現有:

    1.  class WhileTests  {

    2.public  static void main (String  []  args)  {

    3.    int X=5;

    4.    while (++x<4)  {

    5.--x;

    6.    }

    7.System.out.println( "x="+x);

    8.    }

    9.  }

 

    結果是什么?D

    A.X=6

    B.  X=5

    C.X=2

    D.編譯失敗

    

14.現有:

    1.  class Test2  f

    2.public static void main (String  []  args)  {

    3.    boolean X= true;

    4.    boolean y=false;

    5.    short Z=20;

    6.

    7.if((x==true)  &&  (y=true))  z++;

    8.    if((y==true) ||  (++z==22))  z++;

    9.

    10.    System. out .println( "z="+z);

    11.    }

    12.  }

    結果是什么?C

    A.Z=21

    B.  z=22

    C.  z=23

    D.  Z= 24

    

15.現有:

    1.  class Foo  {

    2.public static void main (String  []  args)  {

    3.    int x=O;

    4.    int y=4;

    5.for (int  z=0;  z<3;  Z++;  X++)  {

    6.    if(x>1&++y<10)

    7.    y++;

    8.    }

    9.System. out .println (y);

    10.    }

    11.  }

    結果是什么?AB

    A.7

    B.8

    C.10

    D.12

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM