Java筆試題庫之選擇題篇(60題)


61.關於sleep()和wait(),以下描述錯誤的一項是( )

A. sleep是線程類(Thread)的方法,wait是Object類的方法;

B. sleep不釋放對象鎖,wait放棄對象鎖;

C. sleep暫停線程、但監控狀態仍然保持,結束后會自動恢復;

D. wait后進入等待鎖定池,只有針對此對象發出notify方法后獲得對象鎖進入運行狀態。

解答:D

sleep是線程類(Thread)的方法,導致此線程暫停執行指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時后會自動恢復。調用sleep不會釋放對象鎖。

wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發出notify方法(或notifyAll)后本線程才進入對象鎖定池准備獲得對象鎖進入運行狀態。

62.下面能讓線程停止執行的有(多選)( )

A. sleep();

B. stop();

C. notify();

D. synchronized();

E. yield();

F. wait();

G. notifyAll();

解答:ABDEF

sleep:導致此線程暫停執行指定時間

stop: 這個方法將終止所有未結束的方法,包括run方法。

synchronized():對象鎖

yield:當前正在被服務的線程可能覺得cpu的服務質量不夠好,於是提前退出,這就是yield。

wait:當前正在被服務的線程需要睡一會,醒來后繼續被服務

63.下面哪個可以改變容器的布局?( )

A. setLayout(aLayoutManager);

B. addLayout(aLayoutManager);

C. layout(aLayoutManager);

D. setLayoutManager(aLayoutManager);

解答:A

Java設置布局管理器setLayout()

64.下面哪個是applet傳遞參數的正確方式?( )

A. <applet code=Test.class age=33 width=100 height=100>

B. <param name=age value=33>

C. <applet code=Test.class name=age value=33 width=100 height=100>

D. <applet Test 33>

解答:B

65.提供Java存取數據庫能力的包是()

A.java.sql

B.java.awt

C.java.lang

D.java.swing

解答:A

java.sql是JDBC的編程接口

java.awt和java.swing是做圖像界面的類庫

java.lang: Java 編程語言進行程序設計的基礎類

66.不能用來修飾interface的有()

A.private

B.public

C.protected

D.static

解答:ACD

修飾接口可以是public和默認

67.下列說法錯誤的有()

A. 在類方法中可用this來調用本類的類方法

B. 在類方法中調用本類的類方法時可直接調用

C. 在類方法中只能調用本類中的類方法

D. 在類方法中絕對不能調用實例方法

解答:ACD

A.在類方法中不能使用this關鍵字

C.在類方法中可以調用其它類中的類方法

D.在類方法中可以通過實例化對象調用實例方法

68.從下面四段(A,B,C,D)代碼中選擇出正確的代碼段()

A.abstract class Name {

private String name;

public abstract boolean isStupidName(String name) {}

}

B.public class Something {

void doSomething () {

private String s = “”;

int l = s.length();

}

}

C.public class Something {

public static void main(String[] args) {

Other o = new Other();

new Something().addOne(o);

}

public void addOne(final Other o) {

o.i++;

}

}

class Other {

public int i;

}

D.public class Something {

public int addOne(final int x) {

return ++x; }

}

解答:C

A..抽象方法不能有方法體

B.方法中定義的是局部變量,不能用類成員變量修飾符private

D.final修飾為常量,常量的值不能被改變

69.選擇下面代碼的運行結果:()。

public class Test{

public void method()

{

for(int i = 0; i < 3; i++)

{

System.out.print(i);

}

System.out.print(i);

}

}

A.0122

B.0123

C.編譯錯誤

D.沒有任何輸出

解答:C

i變量的作用范圍是整個for循環

70.請看如下代碼 class Person { private int a; public int change(int m){return m;} } public class Teacher extends Person{ public int b; public static void main(String arg[]){ Person p = new Person(); Teacher t = new Teacher(); int i; // point x } }

下面哪些放在// point x?行是正確的? A, i = m; B, i = b; C, i = p.a; D, i = p.change(30); E, i = t.b;

解答:DE

A.不同的作用域

B.靜態方法中不能直接使用非靜態成員變量

C.類外不能訪問其它類私有的成員

D,E.在類方法中可以通過實例化對象調用類中的實例成員。 71下面那幾個函數是public void method(){…}的重載函數?()

A.public void method( int m){…}

B.public int method(){…}

C.public void method2(){…}

D.public int method(int m,float f ){…}

解答:A

重載:方法名相同,參數列表不同

72.給出如下聲明:

String s = “Example”;

合法的代碼由哪些?

A)s>>>=3 B)s[3]= “X” C)int i = s.iength() D)s = s +10

解答:D

A. 移位運算,要是整數類型。

B.s不是數組

C.String類取長度的方法為:length()

D. 字符串相加

73.如下哪些不是java的關鍵字?( )

A.const

B.NULL

C.false

D.this

E.native

解答:BC

雖然null false 還有true不是java的關鍵字,但是都有特殊用途,不建議作為標識符。

74.已知表達式 int m [ ] = {0,1,2,3,4,5,6};

下面哪個表達式的值與數組下標量總數相等?( )

A .m.length()

B.m.length

C.m.length()+1

D.m.length+1

解答:B

解答:數組下標是從零開始的,但是數據下標的總量和數據長度相同。

75.方法resume()負責恢復哪些線程的執行( )

A通過調用stop()方法而停止的線程。

B通過調用sleep()方法而停止的線程。

C通過調用wait()方法而停止的線程。

D通過調用suspend()方法而停止的線程。

解答:D

Suspend可以掛起一個線程,就是把這個線程暫停了,它占着資源,但不運行,用Resume是恢復掛起的線程,

讓這個線程繼續執行下去。

76.有關線程的哪些敘述是對的( )

A一旦一個線程被創建,它就立即開始運行。

B使用start()方法可以使一個線程成為可運行的,但是它不一定立即開始運行。

C當一個線程因為搶先機制而停止運行,它被放在可運行隊列的前面。

D一個線程可能因為不同的原因停止並進入就緒狀態。

解答: BCD

在搶占式線程模型中,操作系統可以在任何時候打斷線程。通常會在它運行了一段時間(就是所謂的一個

時間片)后才打斷它。這樣的結果自然是沒有線程能夠不公平地長時間霸占處理器。

77.已知如下代碼:( )

public class Test

{

public static void main(String arg[] )

{

int i = 5;

do{

System.out.print(i);

}while(–i>5)

System.out.print(“finished”);

}

}

執行后的輸出是什么?

A 5

B 4

C 6

D finished

解答:AD

輸出5finished,do?while循環中循環體一定會執行一次

78.下面的哪些聲明是合法的?( )

A.long 1 = 4990

B.int i = 4L

C.float f =1.1

D.double d = 34.4

解答:AD

B.4L應該是long類型的寫法,

C.1.1是double類型 ,float f=1.1f是正確寫法

79.給出如下代碼:( )

class Test{

private int m;

public static void fun() {

//some code?

}

}

如何使成員變量m被函數fun()直接訪問?()

A.將private int m改為 protected int m

B.將private int m改為 public int m

C.將private int m改為 static int m

D.將private int m改為int m

解答:C

靜態的方法中可以直接調用靜態數據成員

80.以下哪個方法用於定義線程的執行體?()

A.start()

B.init()

C.run()

D.main()

E.synchronized()

解答:run方法是線程的執行體

81.給出下面的代碼段:( )

public class Base{

int w, x, y, z;

public Base(int a, int b)

{x=a; y=b;

}

public Base(int a, int b, int c, int d)

{

//assignment x=a, y=b

w=d;z=c;

}}

在代碼說明//assignment x=a, y=b處寫下如下哪幾個代碼是正確的?()

A.Base(a, b);

B.x=a, y=b;

C.x=a; y=b;

D.this(a,b);

解答:CD

C是直接給x,y賦值

D是使用this調用本類中其它的構造方法

82.關於運算符>>和>>>描述正確的是

A.>>執行移動

B.>>執行翻轉

C.>>執行有符號左移,>>>執行無符號左移

D.>>執行無符號左移,>>>執行有符號左移

解答:C

83. 選擇Java語言中的基本數據類型(多選)

A.byte

B.Integer

C.String

D.char

E.long

答案:ADE

基本數據類型總共有8個:byte,short,int,long,char,boolean,float,double

84.從下列選項中選擇正確的Java表達式

A.int k=new String(“aa”)

B.String str=String(“bb”)

C.char c=74;

D.long j=8888;

解答:BCD

85. Java I/O程序設計中,下列描述正確的是

A. OutputStream用於寫操作

B. InputStream用於寫操作

C. I/O庫不支持對文件可讀可寫API

解答:A

B.InputStream用於讀操作

C.I/O支持對文件的讀寫

86.下述代碼的執行結果是

class Super { public int getLength() {return 4;}

}

public class Sub extends Super { public long getLength() {return 5;}

public static void main (String[]args) {

Super sooper = new Super (); Super sub = new Sub(); System.out.printIn(sooper.getLength()+ “,” + sub.getLength() };

}

} A. 4, 4 B. 4, 5 C. 5, 4 D. 5, 5 E. 代碼不能被編譯

解答:E

方法重寫返回值類型與父類的一致

87、Which two demonstrate a “has a” relationship(Choose two)?

A. public interface Person { }

public class Employee extends Person{ }

B. public interface Shape { }

public interface Rectandle extends Shape { }

C. public interface Colorable { }

public class Shape implements Colorable

{ }

D. public class Species{ }

public class Animal{private Species species;}

E. interface Component{ }

class Container implements Component{

private Component[] children;

}

解答:D

“has a”是關聯關系,關聯分雙向關聯和單向關聯,雙向關聯是A,B類分別持有對方的引用(有是對方的屬性).

單向關聯是一方持另一方的引用.

88. Given the folowing classes which of the following will compile without error?

interface IFace{}

class CFace implements IFace{}

class Base{}

public class ObRef extends Base{

public static void main(String argv[]){

ObRef ob = new ObRef();

Base b = new Base();

Object o1 = new Object();

IFace o2 = new CFace();

}

}

A. o1=o2;

B. b=ob;

C. ob=b;

D. o1=b;

解答:B

b和ob對應的類之間沒有任何關系,要想b=ob成立要么是父子關系,要么是接口實現類的關系

89. 關於Java語言,下列描述正確的是(多選)

A. switch 不能夠作用在String類型上

B. List, Set, Map都繼承自Collection接口

C. Java語言支持goto語句

D. GC是垃圾收集器,程序員不用擔心內存管理

解答:AD

B. Map沒有繼承Collection接口

C.java不支持goto語句

90. 指出下列程序運行的結果 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 “); System.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

解答:B

數組和字符串都是引用類型。

91. 下列描述中,哪些符合Java語言的特征

A. 支持跨平台(Windows,Linux,Unix等)

B. GC(自動垃圾回收),提高了代碼安全性

C. 支持類C的指針運算操作

D. 不支持與其它語言書寫的程序進行通訊

解答:AB

92、關於異常(Exception),下列描述正確的是

A. 異常的基類為Exception,所有異常都必須直接或者間接繼承它

B. 異常可以用try{ . . .}catch(Exception e){ . . .}來捕獲並進行處理

C. 如果某異常繼承RuntimeException,則該異常可以不被聲明

D. 異常可以隨便處理,而不是拋給外層的程序進行處理 解答:ABC

93. 下面的代碼實現了設計模式中的什么模式

public class A { private A instance; private A() { } public static A getInstance { if ( A == null ) instance = new A(); return instance; } } A. Factory

B. Abstract Factory

C. Singleton

D. Builder

解答:Singleton單例模式:該設計模式確保某一個類只有一個實例,而且自行實例化並向整個系統提

供這個實例

94. 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.

解答:D 通過題的描述就是定義常量,在java中常量命名規范是所有字母都大寫用下划線分割每個單詞

95. String s=new String(“hello”);

String t =new String(“hello”);

char c [ ] ={‘h’,’e’,’l’,’l’,’o’};

下列哪些表達式返回true ?

A.s.equals(t);

B.t.equals(c);

C.s= =t ;

D.t.equals (new String(“hello”));

E.t= = c;

解答:AD String類的equals方法已經覆蓋了Object類的equals方法,比較的是兩個字符串的內容是否

相等,雙等號比較的是兩個對象的內存地址是否相等

96. 類 Teacher 和 Student 是類 Person 的子類;

Teacher t;

Student s;

// t and s are all non-null.

if (t instanceof Person ){ s=(Student)t; }

最后一條語句的結果是:

A.將構造一個Student 對象;

B.表達式是合法的;

C.表達式是錯誤的;

D.編譯時正確, 但運行時錯誤。

解答:D

instanceof是Java的一個二元操作符,它的作用是測試它左邊的對象是否是它右邊的類的實例,返回boolean類型的數據。

Teahcer和Student之間沒有繼承關系不能做強制類型轉換。

97. 關於線程設計,下列描述正確的是

A. 線程對象必須實現Runnable接口

B. 啟動一個線程直接調用線程對象的run()方法

C. Java提供對多線程同步提供語言級的支持

D. 一個線程可以包含多個進程

解答:C

98. 欲構造ArrayList類得一個實例,此類繼承了List接口,下列哪個方法是正確的:

A ArrayList myList = new Object();

B List myList = new ArrayList();

C ArraylList myList = new List();

D List myList = new List();

解答:B

99.關於線程設計,下列描述正確的是

A. 線程對象必須實現Runnable接口

B. 啟動一個線程直接調用線程對象的run()方法

C. Java提供對多線程同步提供語言級的支持

D. 一個線程可以包含多個進程

解答:C

100.以下各DOS命令能夠顯示出本機DNS服務器地址的是:( )

A.ping -a

B.ipconfig -all

C.netstat

D.telnet

解答:DOS命令的使用

ping命令:利用它可以檢查網絡是否能夠連通,用好它可以很好地幫助我們分析判定網絡故障

ifconfig all :顯示或設置網絡設備

netstat: 用於查看當前基於 NETBIOS 的 TCP/IP 連接狀態,通過該工具你可以 獲得遠程或本地

的組名和機器名。

telnet: 使用telnet命令訪問遠程計算機

101.下列IP地址中,屬於C類IP地址的是( )

A. 201.222.1.65

B. 10.2.1.1

C. 127.63.2.99

D.255.255.255.255

解答:

A類地址(1.0.0.0-126.255.255.255)用於最大型的網絡,該網絡的節點數可達16,777,216個。

B類地址(128.0.0.0-191.255.255.255)用於中型網絡,節點數可達65,536個。

C類地址(192.0.0.0-223.255.255.255)用於256個節點以下的小型網絡的單點網絡通信。

D類地址(224.0.0.0-239.255.255.255。)並不反映網絡的大小,只是用於組播,用來指定所分配的接收組播的節點組,這個節點組由組播訂閱成員組成。

E類(240.0.0.0-255.255.255.254)地址用於試驗。

102.在使用匿名登錄ftp時,用戶名為( )? (選擇1項)

A、login users

B、anonymous

C、root

D、guest

解答:B

103.管理計算機通信的規則稱為

A.協議

B.介質

C.服務

D.網絡操作系統

解答:A

104.TCP通信建立在連接的基礎上,TCP連接的建立要使用幾次握手的過程。

A.2

B.3

C.4

D.5

解答:B

105.路由器工作在ISO/OSI參考模型的

A. 數據鏈路層

B.網絡層

C. 傳輸層

解答:B

網絡層屬於OSI中的較高層次了,從它的名字可以看出,它解決的是網絡與網絡之間,即網際的通信問題,而不是同一網段內部的事。網絡層的主要功能即是提供路由,即選擇到達目標主機的最佳路徑,並沿該路徑傳送數據包。除此之外,網絡層還要能夠消除網絡擁擠,具有流量控制和擁擠控制的能力。網絡邊界中的路由器就工作在這個層次上,現在較高檔的交換機也可直接工作在這個層次上,因此它

們也提供了路由功能,俗稱“第三層交換機”.

106.OSI體系結構定義了一個幾層模型。

A.6

B.7

C.8

解答:B

OSI-RM ISO/OSI Reference Model

該模型是國際標准化組織(ISO)為網絡通信制定的協議,根據網絡通信的功能要求,它把通信過程分為七層,分別為物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層,每層都規定了完成的功能及相應的協議。

107.以下哪個命令用於測試網絡連通。

A.telnet

B. netstat

C. ping

D. ftp

解答:C

108.在一個辦公室內,將6台計算機用交換機連接成網絡,該網絡的屋里拓撲結構為

A 星型

B 總線型

C 樹型

D 環型

解答:C

選項A:星型拓撲結構 是一種以中央節點為中心,把若干外圍節點連接起來的輻射式互聯結構。這種結構適用於局域網,特別是近年來連接的局域網大都采用這種連接方式。這種連接方式以雙絞線或同軸電纜作連接線路。

優點:結構簡單、容易實現、便於管理,通常以集線器(Hub)作為中央節點,便於維護和管理。缺點:中心結點是全網絡的可靠瓶頸,中心結點出現故障會導致網絡的癱瘓。

選項B:總線拓撲結構 是將網絡中的所有設備通過相應的硬件接口直接連接到公共總線上,結點之間按廣播方式通信,一個結點發出的信息,總線上的其它結點均可“收聽”到。

優點:結構簡單、布線容易、可靠性較高,易於擴充,節點的故障不會殃及系統,是局域網常采用的

拓撲結構。

缺點:所有的數據都需經過總線傳送,總線成為整個網絡的瓶頸;出現故障診斷較為困難。另外,由於信道共享,連接的節點不宜過多,總線自身的故障可以導致系統的崩潰。最著名的總線拓撲結構是以太網(Ethernet)。

選項C :樹型拓撲結構 是一種層次結構,結點按層次連結,信息交換主要在上下結點之間進行,相鄰結點或同層結點之間一般不進行數據交換。

優點:連結簡單,維護方便,適用於匯集信息的應用要求。

缺點:資源共享能力較低,可靠性不高,任何一個工作站或鏈路的故障都會影響整個網絡的運行。

選項D: 環形拓撲結構 各結點通過通信線路組成閉合回路,環中數據只能單向傳輸,信息在每台設備上的延時時間是固定的。特別適合實時控制的局域網系統。

優點:結構簡單,適合使用光纖,傳輸距離遠,傳輸延遲確定。

缺點:環網中的每個結點均成為網絡可靠性的瓶頸,任意結點出現故障都會造成網絡癱瘓,另外故障診斷也較困難。最著名的環形拓撲結構網絡是令牌環網(Token Ring)

109.下列既可用作輸入設備又可用作輸出設備的是。

A.鼠標器

B.磁盤

C.鍵盤

D.顯示器

解答:B

110.計算機的電源切斷之后,存儲內容全部消失的存儲器是。

A.軟磁盤

B.只讀存儲器

C.硬盤

D.隨機存儲器

解答:D

111.中央處理單元(CPU)的兩個主要組成部分是運算器和什么。

A.寄存器

B.主存儲器

C.控制器

D.輔助存儲器

解答:C

控制器:由程序計數器、指令寄存器、指令譯碼器、時序產生器和操作控制器組成,它是發布命令的“決策機構”,即完成協調和指揮整個計算機系統的操作。

運算器:arithmetic unit,計算機中執行各種算術和邏輯運算操作的部件。運算器由:算術邏輯單元(ALU)、累加器、狀態寄存器、通用寄存器組等組成。主要功能:執行所有的算術運算;執行所有的邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。

112.網上“黑客”是指什么樣的用戶。

A.匿名上網;

B.總在晚上上網;

C.在網上私闖他人計算機系統;

D.不花錢上網;

解答:C

113.防火牆系統的主要作用是。

A. 防止系統崩潰

B.防病毒

C.保護內部網絡安全

D.預防火災

解答:C

114.下列說法中哪項是錯誤的是。

A. 不同CPU的計算機有不同的機器語言和匯編語言;

B. 回收站是硬盤中的一塊區域,而剪貼板是內存中的一塊區域;

C. 在Dos中可以用的文件名在windows 98中一定可用;

D. 計算機病毒不可能會駐留在BIOS中。

解答:D

BIOS是英文”Basic Input Output System”的縮略語,直譯過來后中文名稱就是”基本輸入輸出系統”。其實,它是一組固化到計算機內主板上一個ROM芯片上的程序,它保存着計算機最重要的基本輸入輸出的程序、系統設置信息、開機后自檢程序和系統自啟動程序。 其主要功能是為計算機提供最底層的、最直接的硬件設置和控制。

115.用於電子郵件的協議是。

A.IP

B.TCP

C. SNMP

D.SMTP

解答:D

116.Java網絡程序設計中,下列正確的描述是

A. Java網絡編程API建立在Socket基礎之上

B. Java網絡接口只支持TCP以及其上層協議

C. Java網絡接口只支持UDP以及其上層協議

D. Java網絡接口支持IP以上的所有高層協議

解答:AD

117.序列圖描述對象是如何交互的並且將重點放在消息序列上。

A、正確 B、不正確

解答:B

序列圖主要用於按照交互發生的一系列順序,顯示對象之間的這些交互

118.一個XML必須有DTD或Schemas。

A、正確 B、不正確

解答:B

DTD和Schemas都可以定義XML文檔中出現的元素,這些元素出現的次序,它們如何相互 嵌套以及 XML 文檔結構的其它詳細信息。但不是必須的

119.下列哪些是J2EE的體系。

A、JSP

B、JAVA

C、Servlet

D、WebService

解答:ACD

J2EE現在更多使用的名字是Java EE JSP是JavaEE設計模式MVC中的顯示部分,Servlet是控制部分,WebService是JavaEE的服務器。

120.在Struts中實現頁面跳轉主要通過什么方法來實現?

A、server.transfer

B、response.redirect

C、mapping.findForward

D、response.sendRedirect

解答:C


免責聲明!

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



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