工程師筆試題答案
一、單項選擇題
1.二進制數(shù) 11101 轉(zhuǎn)化為十進制數(shù)是( )。
A.23 B.17 C.26 D.29
2.以下可以對對象加互斥鎖的關(guān)鍵字是( )。
A.synchronized B.serialize C.volatile D.static
二、不定項選擇題
3.下列關(guān)于類的構(gòu)造方法的描述中,正確的是( )。
A.類中的構(gòu)造方法不可省略
B.構(gòu)造方法必須與類同名,但方法不能與class 同名
C.構(gòu)造方法在一個對象被 new 時執(zhí)行
D.一個類只能定義一個構(gòu)造方法
4.下列關(guān)于 Java 語言中 main 方法的描述中,正確的是( )。
A.Java 程序的 main 方法必須寫在類里面
B.Java 程序中可以有多個 main方法
C.Java 程序的 main 方法中,如果只有一條語句,可以不用大括號{}括起來
D.Java 程序中類名必須與文件名一樣
5.在類聲明中,聲明一個類不能再被繼承的關(guān)鍵字是( )。
A.private B.a(chǎn)bstract C.final D.static
答案解析
一、單項選擇題
1.二進制數(shù) 11101 轉(zhuǎn)化為十進制數(shù)是( )。
A.23 B.17 C.26 D.29
答案:D。
分析:本題考察的是進制轉(zhuǎn)換的知識。本題中,二進制數(shù) 11101 對應(yīng)的十進制數(shù)表示為 1*2^0 + 0*2^1 + 1*2^2 +1*2^3 + 1*2^4= 29,所以,選項 D 正確。除了人工轉(zhuǎn)換外,在 Java 語言中,也可以用如下方法將一個二進制數(shù)轉(zhuǎn)換為十進制數(shù):Integer.valueOf("11101",2) 。所以,本題的答案為 D。
2.以下可以對對象加互斥鎖的關(guān)鍵字是( )。
A.synchronized B.serialize C.volatile D.static
答案:A。
分析:本題考察的是 Java 關(guān)鍵字的知識。對于選項 A,synchronized(同步的)是 Java 語言的關(guān)鍵字,主要用來給對象和方法或者代碼塊加鎖,當它鎖定一個方法或者一個代碼塊時,同一時刻最多只有一個線程執(zhí)行這段代碼。當兩個并發(fā)線程訪問同一個對象中的這個加鎖同步代碼塊時,同一時間只能有一個線程執(zhí)行。所以,選項 A 正確。
對于選項 B,serialize 是序列化的意思,所謂對象的序列化指的是把對象轉(zhuǎn)換為字節(jié)序列的.過程,所謂對象的反序列化指的是把字節(jié)序列恢復(fù)為對象的過程。通常,對象的序列化主要有以下兩種用途:
、賹ο蟮淖止(jié)序列永久地保存到硬盤上,通常存放在一個文件中;
②在網(wǎng)絡(luò)上傳送對象的字節(jié)序列。在 Java 語言中,序列化通過 Serializable 接口來實現(xiàn)。所以,選項 B 不正確。
對于選項 C,在由 Java 語言編寫的程序中,有時候為了提高程序的運行效率,編譯器會做一些優(yōu)化操作,把經(jīng)常被訪問的變量緩存起來,程序在讀取這個變量的時候有可能會直接從寄存器中讀取這個值,而不會去內(nèi)存中讀取。這樣做的一個好處是提高了程序的運行效率,但當遇到多線程編程時,變量的值可能被其他線程改變了,而該緩存的值不會做相應(yīng)的改變,從而造成應(yīng)用程序讀取的值和實際的變量值不一致。關(guān)鍵字 volatile 正好能夠解決這一問題,被關(guān)鍵字 volatile 修飾的變量編譯器不會做優(yōu)化,每次都會從內(nèi)存中讀取。所以,選項 C 不 正確。
對于選項 D,關(guān)鍵字 static 主要有以下兩種作用:第一,為某特定數(shù)據(jù)類型或?qū)ο蠓峙鋯我坏拇鎯臻g,而與創(chuàng)建對象的個數(shù)無關(guān)。第二,希望某個方法或?qū)傩耘c類而不是對象關(guān)聯(lián)在一起,也就是說,在不創(chuàng)建對象的情況下就可以通過類來直接調(diào)用方法或使用類的屬性?傊,被 static 修飾的屬性(方法)是類的屬性(方法),不屬于任何對象。所以,選項 D 不正確。
所以,本題的答案為 A。
二、不定項選擇題
3.下列關(guān)于類的構(gòu)造方法的描述中,正確的是( )。
A.類中的構(gòu)造方法不可省略
B.構(gòu)造方法必須與類同名,但方法不能與class 同名
C.構(gòu)造方法在一個對象被 new 時執(zhí)行
D.一個類只能定義一個構(gòu)造方法
答案:C。
分析:本題考察的是 Java 語言構(gòu)造方法的知識。對于選項 A,類中的構(gòu)造方法是可以省略的,當省略的時候,編譯器會提供一個默認的構(gòu)造方法以供使用。因此,選項 A 錯誤。對于選項 B,構(gòu)造方法必須與類名相同,但是方法名也可以與類名相同。如下例所示:
public class Test{
public Test(){
System.out.println("construct");
}
public void Test(){
System.out.println("call Test");
}
public static void main(String[] args) {
Test a = new Test(); //調(diào)用構(gòu)造方法
a.Test(); //調(diào)用 Test 方法
}
}
程序的運行結(jié)果為
construct
call Test
因此,選項 B 錯誤。對于選項 C,當一個對象被 new 的時候必定會調(diào)用構(gòu)造方法。因此,選項 C 正確。對于選項 D,由于構(gòu)造方法也可以重載,所以,一個類可以定義多個構(gòu)造方法。因此,選項 D 錯誤。所以,本題的答案為 C。
4.下列關(guān)于 Java 語言中 main 方法的描述中,正確的是( )。
A.Java 程序的 main 方法必須寫在類里面
B.Java 程序中可以有多個 main方法
C.Java 程序的 main 方法中,如果只有一條語句,可以不用大括號{}括起來
D.Java 程序中類名必須與文件名一樣
答案:A、B。
分析:本題考察的是 Java 基本語法的知識。
在 Java 語言中,main 方法是程序的入口方法,一個程序要想運行必須要有 main 方法,但是只有滿足特定條件的 main 方法才能作為程序的入口方法。對于本題而言:對于選項 A,由于 Java 語言是純面向?qū)ο笳Z言,所以,所有的屬性與方法都必須定義在類里面,而且,main 方法也不例外。因此,選項 A 正確。對于選項 B,Java 程序可以定義多個 main 方法,但是只有 public static void main(String[]args)方法才是 Java 程序的入口方法,其他 main 方法都不是,并且這個入口方法必須被定義在類名與文件名相同的被 public 修飾的類中,如下例所示(Test.java):
class T{
public static void main(String[] args) {
System.out.println("T main");
}
}
public class Test {
// 程序入口方法
public static void main(String[] args) {
System.out.println("Test main");
}
}
程序的運行結(jié)果為Test main從上例可以看出,這個程序中定義了多個 main 方法,但是只有滿足特定條件的 main 方法才能作為程序的入口方法。因此,選項 B 正確。對于選項 C,在 Java 語言中,不管方法體里有幾條語句,所有的方法體都必須用大括號{}括起來。因此,選項 C 錯誤。對于選項 D,在 Java 語言中,一個文件內(nèi)部可以有多個類的存在,但只有被 public 修飾的類的名字與文件的名字相同,其他類的名字可以根據(jù)需求隨意起名字。因此,選項 D 錯
誤。所以,本題的答案為 A、B。
5.在類聲明中,聲明一個類不能再被繼承的關(guān)鍵字是( )。
A.private B.a(chǎn)bstract C.final D.static
答案:C。
分析:本題考察的是 Java 關(guān)鍵字的知識。
對于選項 A,關(guān)鍵字 private 是一個作用域修飾符,被關(guān)鍵字 private 修飾過的變量或方法只有當前類或?qū)ο缶哂性L問權(quán)限。所以,選項 A 不正確。對于選項 B,在 Java 語言中,可以通過把類或者類中的某些方法聲明為 abstract 來表示一個類是抽象類。所以,選項 B 不正確。
對于選項 C,被 final 修飾的變量為常量,當一個方法被聲明為 final 時,該方法不允許任何子類重寫,當一個類被聲明為 final 時,此類不能被繼承,所有方法都不能被重寫。所以,選項 C 正確。
對于選項 D,關(guān)鍵字 static 主要有兩種作用:第一,為某特定數(shù)據(jù)類型或?qū)ο蠓峙鋯我坏拇鎯臻g,而與創(chuàng)建對象的個數(shù)無關(guān);第二,希望某個方法或?qū)傩耘c類而不是對象關(guān)聯(lián)在一起,也就是說,在不創(chuàng)建對象的情況下就可以通過類來直接調(diào)用方法或使用類的屬性。即被 static 修飾的屬性(方法)是類的屬性(方法),不屬于任何對象。所以,選項 D 不正確。
所以,本題的答案為 C。
【工程師筆試題答案】相關(guān)文章:
范仲淹《野色》試題答案09-01
與筆同行作文02-24
筆狀物作文01-23
未來的筆作文05-09
筆和橡皮作文03-23
土地的閱讀試題答案11-05
英語寫作基礎(chǔ)試題答案11-28
白居易《楊柳枝》試題答案09-01
秋思白居易詩歌試題答案12-23
文天祥《除夜》試題答案09-01