2025年4月自考04747java語言程序設計(一)押題及答案解析_第1頁
2025年4月自考04747java語言程序設計(一)押題及答案解析_第2頁
2025年4月自考04747java語言程序設計(一)押題及答案解析_第3頁
2025年4月自考04747java語言程序設計(一)押題及答案解析_第4頁
2025年4月自考04747java語言程序設計(一)押題及答案解析_第5頁
已閱讀5頁,還剩75頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章單選+填空+簡答

1.【高頻考點】編譯Java應用程序源程序會產生字節碼文件,字節碼文件的擴展名為()。

A..javaB..htmlC..classD..exe

答案:C

解析:本題考查Java的命名規則。Java程序文件的擴展名為.java,編譯后生成的字節碼文件的擴展名

為.class。

2.【高頻考點】HelloWorld程序經編譯后得到類文件HelloWorld.class,則運行該程序的命令是()。

A.javaHelloWorld.classB.javaHelloWorldC.javacHelloWorld.classD.javac

HelloWorld

答案:B

解析:本題考查Java程序的運行機制。命令中不含有“.class”。“javac”命令負責編譯,“java”命令

負責運行。

3.下面關于Java語言的說法中正確的是()。

A.Java是一個純面向對象的語言B.Java語言中有指針、結構和類型定義的概念C.Java語言是

與平臺有關的D.Java語言不支持多線程

答案:A

解析:本題考查Java語言的特點。(1)Java語言的特點包括語法簡單、與平臺無關、解釋編譯兩種運行方

式、多線程和豐富的API及類庫。(2)語言簡單的特點中包括無指針、結構和類型定義等概念和面向對象的特

性。

4.在Java程序中,整個程序的運行入口的關鍵字是()。

A.publicB.mainC.staticD.String

答案:B

解析:本題考查Java程序的基本形式。Java程序由類構成,含有一個main()方法,整個程序的運行入口

是main()方法,方法執行完畢,整個程序結束。

5.在設置好環境變量后,在命令行窗口輸入“____”,如果系統給出了幫助信息,說明設置正確。

答案:javac

解析:本題考查環境變量的安裝與設置。測試環境變量設置是否正確,需要在命令行窗口輸入“javac”進行

驗證。

6.在編譯過程中,編譯器需要將Java程序編譯成____才能被虛擬機識別。

答案:字節碼

解析:本題考查字節碼的概念。字節碼是Java編譯器將Java代碼編譯成虛擬機能夠識別的二進制代碼。

7.JDK文檔中有許多____文檔,這些文檔可以幫助程序員開發自己的類和程序。

答案:API

解析:本題考查API文檔的含義。JDK文檔中有許多HTML文件,這些是JDK提供的應用程序編程接口文檔,

是使用Java語言開發的類集合,從來幫助程序員開發自己的類和程序。

8.【高頻考點】請簡述由Java虛擬機支持的程序運行機制。

答案:(1)Java編譯器先將Java程序編譯成字節碼;(2)JVM在執行字節碼文件時,把字節碼解釋成具體

平臺上的機器指令執行。

解析:本題考查由Java虛擬機支持的程序運行機制。

第二章單選+填空+簡答

1.下列標識符正確的是()。

A.usernameB.classC.7User_nameD.%Sun

答案:A

解析:本題考查標識符的命名規則。在Java語言中,數字不能作為標識符的開頭,關鍵字不能作為標識符,

且標識符中不能含有除了下劃線(_)和美元符($)以外的其他符號。

列選項中,不是Java語言關鍵字是()。2.下

A.forB.thisC.mainD.while

答案:C

解析:本題考查Java語言中的關鍵字。for、this和while都是關鍵字,只有main不是關鍵字。

3.【高頻考點】下列選項中,能作為Java語言注釋的是()

A.從//開始到行尾B.從//到*/結束C.從/*到//結束D.從/**到行尾

答案:A

解析:本題考查Java語言的三種注釋方式。Java語言中三種注釋方式包括“//在一行內注釋”、“/*一行

或多行注釋*/”和“/**文檔注釋*/”。

4.下列選項中,可以作為Java變量名的是()。

A.byPercentB.finalC.HelloWorldD.default

答案:A

解析:本題考查程序編寫格式要求。其中B和D選項屬于Java語言關鍵字。再根據Java命名規則可知,C

選項是類名,A選項是Java變量名。

5.下列選項中,不屬于Java語言基本數據類型的是()。

A.布爾型B.浮點型C.數組D.整型

答案:C

解析:本題考查Java語言中的數據類型。Java語言數據類型包括基本數據類型和復合數據類型,而基本數

據類型包括整型、浮點型、字符型和布爾型。

6.整數類型short的字節大小是()。

A.1B.2C.4D.8

答案:B

解析:本題考查各類型的表示范圍。整數類型中byte的字節數是1,short的字節數是2,int的字節數是

4,long的字節數是8。

7.浮點數類型double的長度是()位。

A.16B.32C.64D.128

答案:C

解析:本題考查各數據類型的表示范圍。浮點數類型中float的浮點數長度為32位,double的浮點數長度

位64位。

8.下列選項中不是轉義字符的是()。

A.\nB.\141C.\u0061D.\0061

答案:D

解析:本題考查轉義字符。A選項屬于轉義字符,它的含義是“換行符”。字符常量的轉義字符中,(1)

“\???”可以表示一個具體的字符,“???”表示一個3位8進制數,(2)“\u????”也可以表示一個具體的字

符,(3)“????”表示一個4位的16進制數。所以B和C選項符合規則,D選項不符合規則。

9.運算-10%3的結果是()。

A.1B.-1C.3D.-3

答案:B

解析:本題考查運算符。“%”是取模的意思,取模操作用于負數時,結果符號與第一個操作數的符號相同。

通過運算后結果為“-1”。

10.【高頻考點】以下類型轉換中,必須進行強制裝換的是()。

A.short→floatB.short→longC.long→byteD.byte→short

答案:C

解析:本題考查表達式的提升和裝換。在C選項中,byte型的位數比long型的位數少,所以long型轉換到

型需要強制轉換。其他選項中箭頭前類型b的yt位e數都比箭頭后類型的位數少,可以自動轉換,不需要強制轉

換。

11.【高頻考點】在Java語言中,常見的在行內注釋的方式是____。

答案://

解析:本題考查Java語言的三種注釋方式。Java語言中三種注釋方式包括“//在一行內注釋”、“/*一行

或多行注釋*/”和“/**文檔注釋*/”。

12.在Java語言中,關鍵字char表示的基本數據類型是____。

答案:字符類型

解析:本題考查Java語言中的數據類型。(1)整數類型包括byte、short、int和long,(2)浮點數類型

包括float和double,(3)字符類型包括char,(4)布爾類型包括boolean。

13.在Java語言中表示退格鍵(Backspace)的轉義字符是____。

答案:\b

解析:本題考查轉義字符。在轉義字中“\b”表示退格鍵(Backspace)。

14.【高頻考點】算式-256>>4的十進制結果是____。

答案:-16

解析:本題考查運算符。(1)“>>”是右移運算符,256的二進制表示中,最低8位是20000000。

因為是負數,符號位為1。(2)右移4位后得到的二進制數的最低8位是00002000,(3)因為算數右移不改變

原數的符號,所以符號位仍為1,該數等于十進制數-16,所以答案是-16。

15.假設x的類型是byte,y的類型是int,則x+y的類型是____。

答案:int

解析:本題考查表達式的提升和轉換。由于int型比byte型的位數多,所以二者運算后的類型為int。

16.【高頻考點】請寫出Java語言中的三種注釋方式及其用法。

答案:(1)“//”在一行內注釋;(2)“/*...*/”在一行或者多行中注釋;(3)“/**...*/”在文檔中

注釋。

解析:本題考查Java語言的三種注釋方式。Java語言中三種注釋方式包括“//在一行內注釋”、“/*一行

或多行注釋*/”和“/**文檔注釋*/”。

17.【高頻考點】請寫出表示條件“x左移2位后小于6或者y是偶數”的Java表達式。

答案:x26||y%2==0

解析:本題考查運算符。“左移”符號為“”,“小于”符號為“”,“或者”符號為“||”,“y是偶數”

的表達式為“y%==0”。

第三章單選+填空+簡答

1.下列選項中,不屬于循環語句的是()。

A.if語句B.while語句C.do語句D.for語句

答案:A

解析:本題考查循環語句。循環語句包括for循環語句,while循環語句和do循環語句。if語句屬于分支語

句。

2.【高頻考點】關于if語句,下列說法不正確的是()。

A.if的個數可能多于else的個數B.else語句屬于邏輯上離它最近的if語句C.if語句可以有

多重選擇D.if語句最多只有兩個分支

答案:C

解析:本題考查if語句。(1)if語句中可以沒有else語句,所以A選項正確。(2)Java規定else子句

屬于邏輯上離它最近的if語句,所以B選項正確。(3)if語句只有單重選擇,最多只有兩個分支,分別是if和

,所以D選項正確,C選項不正確。else

3.Java語言中對異常進行處理時,不論是否捕獲到異常,對于final后面的語句()。

A.都要執行B.符合特定條件執行C.有時執行有時不執行D.一律不執行

答案:A

解析:本題考查異常處理機制。當程序運行時出現catch()中指定異常時,將執行catch后的復合語句,

否則不執行。但final后面的語句不論是否出現異常都會執行。

4.下列異常中屬于受檢時異常的是()。

A.IOExceptionB.NullPointExceptionC.RuntimeExceptionD.ClassCastException

答案:A

解析:本題考查異常分類。受檢時異常包括ClassNotFoundException、FileNotFoundException、

IOException、NoSuchMethodException和WriteAbortedException。B選項和D選項屬于運行時異常。C選項是運

行時異常類。

5.假設有定義Stringname=null,則下列選項中將引發異常的是()

A.if(name!=null&&name.length()==0)B.if(name==null||name.length()==0)C.inta=

name.length();D.inta=(name==null?0:name.length())

答案:C

解析:本題考查異常。(1)選項A中條件表達式為邏輯與表達式,左側表達式name!=null的結果為

false,所以邏輯表達式短路,右側表達式不會計算,不會引發異常。(2)B選項中條件表達式為邏輯或表達式,

左側表達式值為true,所以整個邏輯表達式短路,右側表達式name.length()==0不會執行,所以不會引發異常。

(3)C選項中name在沒有初始化的情況下直接引用,會引發異常。(4)D選項是一個條件表達式,其中條件為

name==null,其值為true,所以三元表達式的值為0,name.length()不會執行,故不會引發異常。故選C

6.【高頻考點】一個Java程序中同時含有package語句、import語句和public語句,在程序起始行的語句是

____。

答案:package語句

解析:本題考查Java程序結構。package語句是包語句,要放在文件最開始的地方。import語句是引入語

句,要放在類定義的前面。public語句是類定義語句。

7.一個源文件中,public類型的類____。

答案:只能有一個

解析:本題考查Java程序結構。在Java程序中,一個源文件中如果有多個類,則最多只能有一個public類

型的類,其他非public的類的個數不限。

8.如果想將自己編寫的源代碼組織稱一個包時,可以用____語句來命名。

答案:package

解析:本題考查包的概念。Java程序中包用package語句來命名。包的使用目的就是將相關的源代碼文件組

織在一起。

9.與順序流相對應的Java語句是____語句。

答案:賦值

解析:本題考查Java主要語句的句義。Java主要語句有賦值語句、分支語句和循環語句,與其相對應的分

別是順序流、分支流和循環流。

10.有如下Java程序段該程序最終的輸出結果是____。

答案:正確

解析:本題考查if分支語句。程序最開始給i賦值為4,因為4大于等于(>=)3,所以執行else語

句,所以輸出結果為“正確”。

11.空指針異常(NullPointerException)是Java中最難查找和調試的一種異常,它屬于____異常。

答案:運行時

解析:本題考查異常分類。Java類庫中下列類表示運行時異常ArithmeticException、

ArrayIndexOutOfBoundsException、ClassCastException、EmptyStackExcepton、IllegalArgumentException、

IllegalStateException、IndexOutOfBoundsException、NullPointerException和

UnsupportedOpeationException。

12.在方法體中,需要用關鍵字____實際拋出一個異常。

答案:throw

解析:本題考查異常拋出和捕獲。在方法頭中用Java保留字throws來聲明這個方法可能拋出的異常,在方

法體中用保留字throw實際拋出一個異常。

13.請用switch語句寫出與以下if語句等價的程序。

答案:

解析:本題考查switch語句。依據switch語句與if語句的相似性改編程序,條件相同,只需注意“case”

的用法。

14.請簡述Java中是如何處理異常的。

答案:在Java中有兩種處理異常的方法。一種是在方法體中用throw拋出異常,(2分)另一種是利用try-

catch語句捕獲異常類,并進行相應的處理。(2分)

解析:本題考查異常拋出或捕獲。

第三章程序填空+程序分析+程序設計

1.【高頻考點】以下方法的功能是求100以內的奇數和。

答案:①i=100;

②i%2==1;③sum+=i。

解析:本題考查for循環。首先要了解for循環的基本形式,其次要對應題目條件寫出對應的程序語句。

(1)因為題目要求“100以內”,所以第一空填“i=100”。(2)第二空是if條件語句,因為題目要求為奇數,

Java程序中奇數的表達方式是“i%2==1”,意為i除以2的余數為1。(3)第三空是迭代語句,使定義sum每次

加一繼續循環。

2.【高頻考點】閱讀下列程序,請寫出該程序的功能。

答案:該程序使用循環把26個小寫英文字母按順序存入一個一維數組,并將其逆序存放。最后再根據處理后的字

符數組創建一個字符串并輸出。

解析:本題考查for循環、構造字符串和創建數組。(1)首先利用循環將小寫字母存入字符數組中,通過

“a”依次相加,所得結果強制類型轉換為char類型。(2)然后利用中間變量c將數組逆序。(3)最后利用

String類的構造方法構造字符串。

3.閱讀下列程序,寫出該程序的功能。答案:

該程序的功能是找出100~999中的水仙花數,就是各個數字的立方之和等于該數。

解析:本題考查流程控制語句for循環語句。

4.請編寫程序,要求為:給定5個數字,分別是10、20、30、40和50,但是輸出結果為10和20。

答案:解析:本題考查break語句。

5.方法intgetNum(intn)的功能是計算整數n的位數。請用do-while語句設計程序。

答案:解析:本題考查do-while語句。(1)首先設位數為x,且初始值

為0。do語句中可以讓n除以10(n/=10相當于n=n/10),直到結果為0,同時讓x自加,此時就可以直到n的位

數。(2)最后在while語句中添加判斷語句do語句中值為假的條件,即當n為0時的相反值——n不為0時的條

件即可。

6.以下程序的功能是:輸入3個整數,系統會將這3個數從大到小輸出。

答案:

解析:本題考查流程控制語句if語句。可以把最

小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然后再用x與z進行比較,如果

x>z則將x與z的值進行交換,這樣能使x最小。然后利用if語句進行程序編碼。

第四章單選

1.在Java程序中,類的關鍵字是()。

A.publicB.staticC.classD.true

答案:C

解析:本題考查類的聲明。定義類的關鍵字是class,表明其后定義的是一個類。

2.Java中表示可以被同一包中及其子類訪問的訪問權限修飾符是()。

A.publicB.protectedC.privateD.class

答案:B

解析:本題考查類的聲明。類中的訪問修飾符有public、protected和private。(1)public修飾的成員表

示是公有的,可以被任何對象訪問。(2)而private的成員只能被這個類本身訪問。(3)被protected修飾的成

員可以被同一包中及其子類訪問。

3.定義一個類時,如果沒有為類定義構造方法,則()

A.系統什么也不做B.系統會提示一條錯誤信息C.系統會創建一個帶參數的構造方法D.系

統會創建一個不帶參數的構造方法

答案:D

解析:本題考查構造方法。(1)每個類都必須至少有一個構造方法,如果程序員沒有為類定義構造方法,系

統就會自動為該類生成一個默認的構造方法。(2)默認構造方法的參數列表及方法體均為空,所以生成的對象的

性值也為零或空。各屬

4.創建對象時用到的關鍵字是()。

A.publicB.classC.newD.static

答案:C

解析:本題考查創建對象。Java中用new來創建對象。

5.構造方法通常說明為()類型。

A.finalB.publicC.nativeD.abstract

答案:B

解析:本題考查構造方法。構造方法不能說明為native、abstract、synchronize或final類型,通常說明

為public類型的。

6.【高頻考點】在對構造方法進行重載時,通常使用關鍵字()。

A.publicB.staticC.thisD.final

答案:C

解析:本題考查構造方法重載。構造方法重載時,由于構造方法中可能會有重復代碼,為了簡化代碼的書

寫,可以使用關鍵字this來指代本類中的其他構造方法。

7.下列敘述中,不正確的是()。

A.構造方法沒有返回值B.構造方法可以有多個C.構造方法的參數列表可以不同D.構造方

法的調用與普通方法相同

答案:D

解析:本題考查構造方法。構造方法沒有返回值,每個類至少有一個構造方法。普通方法可以從父類繼承,

但是構造方法不能。所以D選項錯誤。

8.【高頻考點】下列關于this的說法中正確的是()。

A.this特指對某個成員的引用B.this不能在靜態函數中引用C.this是對某個類的引用D.

this可以用在構造函數中

答案:D

解析:本題考查this引用。在類定義的方法中,(1)Java自動用this關鍵字把所有的變量和方法引用結

合在一起,this是指對象本身,可指代所在的具體對象。(2)通過this可以引用所在對象的成員變量和方法,

也可以在其中一個構造方法中引用另一個構造方法。故選D。

9.()不是方法定義中的必需部分。

A.參數B.塊(方法體)C.修飾符D.方法名

答案:A

解析:本題考查定義方法。根據定義方法的一般格式為:修飾符返回類型方法名(參數列表)塊可以看出

修飾符、方法名和塊都是必需的,對于構造函數可以將返回值省略,其他方法必須明確寫出來,參數列表可以有也

可以沒有。故選A

10.下列關于方法重載不正確的是()。

A.方法重載可以允許多個方法使用同一方法名。B.方法重載中方法的參數列表必須不完全相同。

C.方法重載中方法的返回值類型可以相同也可以不同。D.方法重載中方法簽名可以相同。

答案:D

解析:本題考查方法重載。方法重載中,方法簽名一定不能相同。其他說法正確。

11.下列關于靜態成員的描述錯誤的是()。

A.靜態方法可以引用一般的實例變量。B.靜態成員需要用static修飾。C.靜態成員分為靜態

變量和靜態方法。D.靜態成員可以在不創建類的對象的情況下直接引用。

答案:A

解析:本題考查靜態成員。(1)靜態成員指用static修飾的類的成員,稱為靜態成員或類成員,包括靜態

和靜態方法。(2)靜態變量在類定義時分變配量內存,此時還沒有創建對象,所以靜態變量可以在創建對象之前

引用。(3)由于靜態方法可以在沒有定義類的對象的情況下進行調用,所以靜態方法只能使用內部定義的參數或

靜態變量。故選A。

12.下列關于靜態方法的描述正確的是()。

A.靜態方法可以被重寫。B.靜態方法可以引用所在類的任意變量。C.靜態方法不依賴于特定對

象。D.靜態方法必須創建一個對象后方可使用。

答案:C

解析:本題考查靜態方法。(1)靜態方法也稱類方法,在尚未創建一個對象實例的時候就可以引用,故靜態

方法不依賴于特定對象。(2)由于靜態方法可以在沒有定義它所屬類的對象時加以調用,所以靜態方法只能使用

其內部定義的參數或靜態變量,同時,靜態方法不能被重寫。故選C。

13.關于自動拆箱和自動裝箱的操作正確的是()。

A.inti=10;這條語句執行自動裝箱操作。B.Longx=1.2;這條語句執行自動裝箱操作。C.

Integerk=10;這條語句既不執行自動裝箱操作也不執行自動拆箱操作。D.Integerk=10;這條語句執行

自動拆箱操作。

答案:B

解析:本題考查自動拆箱裝箱。(1)選項A是將基本類型int型常量賦值為基本類型int變量,故不會執行

自動拆箱和自動裝箱操作。(2)選項B是將基本類型long的常量賦值為包裝類型Long類的對象,所以會執行自

動裝箱操作。(3)選項C和D是將基本類型int的常量賦值為包裝類型Integer的對象,所以會執行自動裝箱的

操作。故選B。

第四章填空+簡答

1.訪問權限修飾符中,類中限定為____的成員只能被這個類本身訪問。

答案:private

解析:本題考查類的聲明。類中的訪問修飾符有public、protected和private。(1)被public修飾的成

員表示是公有的,可以被任何對象訪問。(2)被private的成員只能被這個類本身訪問。(3)被protected修飾

的成員可以被同一包中及其子類訪問。

2.聲明變量后,需要用______來申請相應的內存空間。

答案:new

解析:本題考查創建對象。一般用new為新創建的對象分配內存空間。

3.在對象初始化的過程中,構造方法沒有為布爾類型變量賦初值,那么Java會自動給布爾類型賦初值為_____。

答案:false

解析:本題考查創建對象初始化。當通過new為一個對象分配內存時,如果構造方法中沒有為成員變量提供

初值,則Java進行自動初始化,對于布爾變量,賦初值false。

4.構造方法在創建對象實例時通過______自動調用。

答案:new

解析:本題考查構造方法的調用機制。構造方法在創建對象實例時通過關鍵字new自動調用。

5.在方法定義中,若方法不返回任何值,則應該聲明為______。

答案:void

解析:本題考查方法定義。關于定義方法,返回類型是方法返回值的類型。如果方法不返回任何值,則應該

聲明為void。

6.同一類中多個方法有相同的名字及不同的參數列表,這種情況稱為______。

答案:方法重載

解析:本題考查方法重載。允許多個方法使用同一個方法名,這就是方法的重載。

7.用static修飾的類成員稱為_______。

答案:靜態成員或類成員

解析:本題考查靜態成員。在類的定義中還可以定義一種特殊的成員,用static修飾,稱為靜態成員或類成

員。

8.Character是char數據類型的_____。

答案:包裝類

解析:本題考查各數據類型的包裝類。char的包裝類是character。

9.一般來說,基本數據類型與對象之間的賦值是不相容的,_______僅能用在基本數據類型與對應的包裝類之間。

答案:自動裝箱與自動拆箱

解析:本題考查自動拆箱和裝箱。一般來說,基本數據類型與對象之間的賦值是不相容的,自動裝箱與自動

拆箱僅能用在基本數據類型與對應的包裝類之間。

10.類中含有兩個元素,分別是數據成員變量和______。

答案:成員方法。

解析:本題考查類的聲明。

11.請簡述類和對象的概念。

答案:類是一個模板,它描述一類對象的行為和狀態;對象是類的實例,有狀態和行為。

解析:本題考查類和對象的概念。

12.【高頻考點】簡述Java中訪問控制權限有哪些關鍵字?它們的意義是什么?

答案:Java中訪問權限的關鍵字有public、protected和private。public修飾的成員表示是公有的,可以

被任何對象訪問。而private的成員只能被這個類本身訪問。被protected修飾的成員可以被同一包中及其子類訪

問。

解析:本題考查類的聲明。類的聲明中包含類定義中的訪問權限修飾符。

13.【高頻考點】假設學生類“Student”有studentID、name和age三個成員變量,類型依次是字符串、字符

串、整型,且這三個成員變量私有的,請寫出學生類的定義。

答案:解析:本題考查類的聲明。

14.請簡述重載方法的規則。

答案:(1)調用語句的實參列表必須足夠判斷要調用的是哪個方法;(2)方法的返回值類型可以相同也可

以不同。

解析:本題考查重載方法的兩條規則。

第四章程序填空+程序分析+程序設計

1.以下程序的輸出結果是:這是由美國蘋果公司生產的平板電腦。

答案:

①Stringaddress="美國";②publicstaticvoidmain(String[]args){③Productm=newProduct();

解析:本題考查構造方法的編寫。(1)由題目可知程序缺少“美國”這一成員變量,因此需要在①中進行添

加;(2)②中考查的是Java程序的入口main方法的編寫;(3)③中表示在創建實例時,需要構造一個Product

方法。

2.閱讀下列程序,請寫出該程序的輸出結果。

答案:姓名

為:王五,性別為:男

解析:本題考查構造方法重載。(1)第一個構造方法中帶有參數,第二個構造方法中用this關鍵字對第一

個構造方法進行重載,(2)第三個構造方法再調用第二個構造方法中的成員變量并為其賦值為“王五”和

“男”。因此輸出結果為“姓名為:王五,性別為:男”。

3.設定一個Dog類,它有名字和年齡。名字是“Tom”,年齡是2歲。編寫方法并輸出。

答案:4.請編寫一個日

期類Date,類中有3個私有成員變量day、month和year,還有兩個公共成員方法,功能分別為:設置成員變量的

值day,返回成員變量day的值。

答案:解析:本題考查類的聲明。根據類的聲明的基本格式,即可寫出

本段代碼。

第五章單選+填空+簡答

1.下列關于數組的說法不正確的是()。

A.數組的初始化方法有兩種B.數組是一個無序的數組集合C.數組可以先聲明再創建D.數

組聲明時不用說明容量

答案:B

解析:本題考查數組的聲明及初始化。(1)數組的初始化分為靜態初始化和動態初始化兩種,故A選項正

確。(2)數組是相同類型的元素按一定順序排列的集合,故B選項錯誤。(3)數組可以先聲明再創建,也可以在

聲明的同時進行初始化,故C選項正確。(4)聲明數組時并不會為數組分配內存,故不需要指出數組的容量,所

以D選項正確。

2.【高頻考點】下列正確定義了一個數組的是()。

A.inta[]B.intaC.inta[3]D.inta[k]

答案:A

解析:聲明數組的正確格式為:類型數組名[]。Java中聲明數組并不會為數組分配內存,因此方括號[]

中不需要指出數組元素的個數,即數組長度,故C、D錯誤。而B選項只是聲明了一個整形變量。

3.【高頻考點】下列選項中,對數組進行正確初始化的是()。

A.inta[]={}B.inta[]={1,2,3}C.inta[]=[1,2,3]D.inta[]=new

int[]

答案:B

解析:本題考查數組的聲明。數組的初始化分為靜態初始化和動態初始化,靜態初始化使用一對大括號{}將

初值括起來,各個元素之間用逗號隔開。

4.【高頻考點】程序運行時可以使用()進行數組邊界檢查。

A.lengthB.IndexC.valueD.append

答案:A

解析:本題考查訪問數組元素。Java中,數組下標從0開始,數組中的元素個數length是數組類中唯一的

數據成員變量。程序運行時可以使用length進行數組邊界檢查。

5.【高頻考點】設有Strings="ABCDEFG";則表達式s,subString(3)+s.subString(3,5)的值是()。

A.ABCDDEB.ABCDDEFC.DEFGDEFD.DEFGDE

答案:D

解析:本題考查字符串操作。substring(intbeginIndex,intendIndex)方法截取的字符串從beginIndex

開始,到字符串索引的endIndex-1結束。所以subString(3)截取的字符串為“DEFG”,“subString(3,5)”截

字符串是“DE”,故選D。取的

6.【高頻考點】若有Strings="123abc";那么s.charAt(2)的值為()。

A.aB.1C.2D.3

答案:D

解析:本題考查字符串操作。String類的方法charAt(intindex)的作用是返回字符串中index位置的字

符,字符串中的索引數字從0開始,故D選擇正確。

7.【高頻考點】對于字符串變量s="aBcD",執行方法s.toUpperCase().subString(1)后得到的字符串是()。

A.ABCDB.bcdC.abcdD.BCD

答案:D

解析:本題考查字符串操作。toUpperCase()方法的作用是將當前字符串中所有字符裝換為大寫形式。使用

得到的字符串是“ABCD”,然后通過subString()方法后得到“BCD”。故選D。

8.下列哪一項不是String類的常用方法。

A.charAt(intindex)B.toLowerCase()C.length()D.append(Strings)

答案:D

解析:本題考查字符串操作。A、B和C選項均為String類中的常用方法,append(Strings)屬于

StringBuffer類中的常用方法。

9.以下選項中,定義數組錯誤的是()。

A.inta[][]=newint[10][10];B.int[]a[]=newint[10][10];C.int[][]a=new

int[10][10];D.inta[][]=newint[10,10];

答案:D

解析:本題考查多維數組的定義及初始化。多維數組的定義分為三種,分別是(1)類型數組名[][];(2)

類型[][]數組名;(3)類型[]數組名[];多維數組初始化中直接分配的格式為:類型數組名[][]=new類型

[數組第一維大小][數組第二維大小]故D選項錯誤。

10.下列關于數組和Vector的描述正確的是()。

A.Vector的空間大小固定不變。B.Vector可以保存多種類型的數據。C.數組與Vector的作用

一樣,可以互換。D.一個數組可以保存多種類型的數據。

答案:B

解析:本題考查Vector類。(1)Vector類可以認為是動態數組,其空間大小可以變化,故A選項錯誤。

(2)一個數組只能保存一種類型的數據,而Vector類的實例可以保存不同類型的數據,故B選項正確,D選項錯

誤。(3)數組和Vector類的屬性、方法差別很大,不能互換,故C選項錯誤。

11.下列敘述中,關于Vector類的敘述錯誤的是()。

A.publicVector()方法的作用是構造一個空向量。B.在使用Vector類時,可以一邊創建一邊使用。

C.elementCount值不能大于容量值。D.Vector實例大小是可變的。

答案:B

解析:本題考查Vector類。

12.數組的下標是從____開始的。

答案:0

解析:本題考查數組的聲明。數組中各元素類型相同,通過下標訪問數組元素時,下標從0開始。

13.Java的標準包java.lang中封裝了String類和StringBuffer類,其中StringBuffer處理______。

答案:可變字符串

解析:Java的標準包java.lang中封裝了String類和StringBuffer類,可以方便地處理字符串。String類

處理不變字符串,StringBuffer處理可變字符串。

14.String類中可以將當前字符串中所有字符裝換為大寫形式的方法是______。

答案:toUpperCase

解析:本題考查字符串操作。toUpperCase是String類中的常用方法,它的作用是將當前字符串中所有字符

裝換為大寫形式。

15.類Vector實際保存的元素個數由______記錄,這個值不能大于其容量。

答案:elementCount

解析:本題考查Vector類。系統內部會記錄Vector類實例的容量capacity,實際保存的元素個數由

elementCount來記錄,這個值不能大于容量值。

16.請簡述“==”和“equals”兩者的區別。

答案:(1)“==”判定兩個String對象是否為同一實例,或者說它們在內存中的儲存空間是否相同。(2)

“equals”判定兩個String對象的內容是否相等,或者說它們對應的字符是否相同。

解析:本題考查“==”和“equals”的區別。

17.請說出Vector類的其中兩個特點。

答案:(1)Vector類是變長數組,Vector實例的大小可以根據需要來改變。(2)Vector類保存的元素的

類型可以不一樣,可以看作是把不同類型的元素按照動態數組進行處理。(3)Vector類的對象不但可以保存順序

的一列數據,而且還提供許多有用的方法來操作和處理這些數據。

解析:本題考查Vector的特點。

第五章程序填空+程序分析+程序設計

1.【高頻考點】以下函數的功能是:返回一個數組,新數組的長度與方法的參數數組長度相同,而新數組元素的

值和參數數組各元素的值首尾顛倒。

答案:①newint[a.length];②ia.length③x[i]=a[a.length-1-i];

解析:本題考查數組的聲明。

2.【高頻考點】方法voidmoveNum(inta[])的功能是將數組中的所有奇數移到所有偶數之前。

答案:①ia.length②a[i]%2==1

③a[j]=t

解析:本題考查for循環和訪問數組元素。

3.【高頻考點】完成以下程序段,實現數組arr中的數據由大到小排序。

答案:①k=6②arr[i]arr[k]③arr[i]=arr[k]

解析:本題考查for循環和訪問數組元素。

4.閱讀以下程序,寫出程序的輸出結果。

答案:解析:本題考查for循環、if語句和多維數組。

5.閱讀以下程序,回答以下問題。(1)該程序的輸出結果是什么?有什么含義?(2)標“√”的代碼有什么作

用?答案:(1)輸出結果是:842(2)該行

代碼的作用是獲取每個字符串。

解析:本題考查字符串操作。方法charAt(intindex)的功能是返回字符串中index位置的字符。count1

是8,表示小寫英文字符的個數,count2是4,表示數字的個數,count3是2,表示其他字符的個數。

6.閱讀下列程序,寫出該程序的運行結果。

答案:falsefalse

falsefalsefalsefalsefalsefalsefalsefalse

解析:本題考查for循環和多維數組的創建。

7.閱讀下列程序,寫出程序運行結果。

答案:2,3,5a,

babcxyz,123(4.1)(4.2)

解析:本題考查數組和字符串操作。(1)對于二維數組來說有兩種長度,一種是二維數組的長度

(a.length),另一種是二維數組元素的長度(a[0].length),數組的下標都是從0開始的。(2)方法func()

中的交換只是交換了x和y的值,并沒有使s[0]和s[1]發生交換。(3)方法concat(Stringstr)多用是將str

連接在當前字符串的尾部。s2.concat("xyz")連接得到的新字符串并沒有賦值,它和s2=s2.concat("xyz")是不同

的。

8.閱讀以下程序,回答下列問題。(1)程序第6、8行的輸出結果是什么?(2)如果要求輸出的兩行信息都為

“10”,且不增加新的語句,應該如何修改程序?1importjava.util.Vector;2publicclassTest{3

publicstaticvoidmain(String[]args){4Vectorv=newVector(1,3);5

v.add("字符串");6System.out.println(v.capacity());7v.add(1);8

System.out.println(v.capacity());9}10}

答案:(1)程序第6、8行的輸出結果分別為1、4。(2)應將第4行代碼修改為:Vectorv=new

Vector(10);

解析:本題考查Vector類的方法。(1)第4行代碼創建Vector的實例v時指定了v的初始容量為1,等空

間耗盡后每次遞增3個元素空間。(2)第5行代碼執行后v中有一個字符串元素,此時容量夠用,所以不用增加

空間,所以第6行代碼輸出為V的容量為1。(3)當執行第7行代碼時,發現v的容量已用盡,需要分配新的空

間,根據第4行代碼可知,每次增加3個元素空間,所以第7行執行后,v的容量會增加3后變為4,所以第8行

輸出為4。(4)根據上述步驟可知,要使v的兩次輸出容量均為10,只需將第4行代碼改為“Vectorv=new

Vector(10);”。

9.編寫方法intsearchMaxNumIndex(int[]a),尋找已知數組中最大數的下標并返回。

答案:解析:本題

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論