版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章 Java入門(mén)一、選擇題1下列選項(xiàng)中,不屬于Java語(yǔ)言特點(diǎn)的一項(xiàng)是( C )。(A)分布式(B)安全性(C)編譯執(zhí)行(D)面向?qū)ο蟆窘馕觥縅ava程序采用解釋執(zhí)行的方法。在系統(tǒng)編譯運(yùn)行Java程序時(shí),Java編譯器將Java程序轉(zhuǎn)化為字節(jié)碼,在運(yùn)行時(shí),解釋器將編譯得到的字節(jié)碼進(jìn)行解釋執(zhí)行。2在Java語(yǔ)言中,(C )是最基本的元素?(A)方法(B)包(C)對(duì)象(D)接口【解析】構(gòu)成Java程序的基本元素類(抽象的對(duì)象)。3編譯一個(gè)定義了3個(gè)類和10個(gè)方法的Java源文件后,會(huì)產(chǎn)生( D )個(gè)字節(jié)碼文件?擴(kuò)展名是( D)?(A)13個(gè)字節(jié)碼文件,擴(kuò)展名為.class(B)1個(gè)字節(jié)碼文件,
2、擴(kuò)展名為.class(C)3個(gè)字節(jié)碼文件,擴(kuò)展名為.java(D)3個(gè)字節(jié)碼文件,擴(kuò)展名為.class【解析】源文件中的每一個(gè)類編譯后都會(huì)生成一個(gè)字節(jié)碼文件,字節(jié)碼文件的擴(kuò)展名是.class。4在創(chuàng)建Applet應(yīng)用程序時(shí),需要用戶考慮問(wèn)題是(B )。(A)窗口如何創(chuàng)建(B)繪制的圖形在窗口中的位置(C)程序的框架(D)事件處理【解析】創(chuàng)建Applet程序時(shí)必須繼承系統(tǒng)類Applet,而Applet類中已經(jīng)包含了如何創(chuàng)建窗口以及事件處理等內(nèi)容,這類程序的框架也都是固定的,而繪制圖形在窗口中的位置則需要由用戶確定。5Java語(yǔ)言屬于( B )種語(yǔ)言?(A)面向機(jī)器的語(yǔ)言 (B)面向?qū)ο蟮恼Z(yǔ)言(C
3、)面向過(guò)程的語(yǔ)言 (D)面向操作系統(tǒng)的語(yǔ)言【解析】Java語(yǔ)言是一種純面向?qū)ο蟮恼Z(yǔ)言。6下列關(guān)于Application和Applet程序的說(shuō)法中不正確的一項(xiàng)是( B )。(A)Application使用解釋器java.exe (B)Application不使用獨(dú)立的解釋器 (C)Applet在瀏覽器中運(yùn)行(D)Applet必須繼承Java的Applet類【解析】Application程序包含main()方法,它是一種獨(dú)立執(zhí)行的程序,因此必須使用獨(dú)立的解釋器解釋執(zhí)行。7下列選項(xiàng)中,不屬于Java核心包的一項(xiàng)是( A )。(A)javax.swing(B)java.io(C)java.utile(
4、D)java.lang【解析】凡是以java開(kāi)頭的包都是Java核心包,以javax開(kāi)頭的包則屬于Java擴(kuò)展包。8下列描述中,不正確的是( A )。(A)不支持多線程(B)一個(gè)Java源文件不允許有多個(gè)公共類(C)Java通過(guò)接口支持多重繼承(D)Java程序分為Application和Applet兩類【解析】Java是支持多線程的語(yǔ)言。9閱讀下列代碼,選出該代碼段正確的文件名( C )。class Avoid method1()System.out.println(Method1 in class A);public class Bvoid method2()System.out.prin
5、tln(Method2 in class B);public static void main(String args)System.out.println(main() in class B);(A)A.java(B)A.class(C)B.java(D)B.class【解析】Java源文件名必須和公共類的名字完全一樣,源文件的擴(kuò)展名為.java。10編譯下面源程序會(huì)得到哪些文件( D )?class A1class A2public class Bpublic static void main(String args)(A)只有B.class文件(B)只有A1.class和A2.class
6、文件(C)編譯不成功(D)A1.class、A2.class和B.class文件【解析】由于該程序包含3個(gè)類,每個(gè)類編譯后都會(huì)生成1個(gè)字節(jié)碼文件,因此編譯后會(huì)生成以這3個(gè)類名命名的字節(jié)碼文件。11編譯Java程序時(shí),用于指定生成class文件位置的選項(xiàng)是( A )。A-d B-g C-verbose D-nowarn12下列標(biāo)識(shí)符(名字)命名原則中,正確的是( C )。A類名的首字母小寫(xiě) B接口名的首字母小寫(xiě)C常量全部大寫(xiě) D變量名和方法名的首字母大寫(xiě)13下面哪種注釋方法能夠支持javadoc命令?( C )A/ B/*.*/ C/*.*/ D/*.*/14下面哪些選項(xiàng)是正確的main方法說(shuō)明
7、?( D )Avoid main() Bprivate static void main(String args)Cpublic main(String args) Dpublic static void main(String args)二、填空題1Java程序的編譯和執(zhí)行模式包括2點(diǎn),是 半編譯 和 半解釋 。2Java語(yǔ)言支持 TCP/IP 協(xié)議,從而使得Java程序在分布式環(huán)境中能夠很方便地訪問(wèn)處于不同地點(diǎn)的 對(duì)象 。3開(kāi)發(fā)Java程序的一般步驟是:源程序編輯、 生成字節(jié)碼 和 解釋執(zhí)行 。4每個(gè)Java Application程序可以包括許多方法,但是必須有且只能有一個(gè) main()
8、 方法,統(tǒng)一格式為 public static void main(String args) ,它是程序執(zhí)行的入口。5JVM把字節(jié)碼程序與各種不同的 操作系統(tǒng) 和 硬件 分開(kāi),使得Java程序獨(dú)立于平臺(tái)。6在Java程序中,能在WWW瀏覽器上運(yùn)行的是 Applet 程序。7Java源程序文件和字節(jié)碼文件的擴(kuò)展名分別為 .java 和 .class 。8如果在Java程序中需要使用java.utile包中的所有類,則應(yīng)該在程序開(kāi)始處加上 import java.utitle.* 語(yǔ)句。三、判斷題1Java語(yǔ)言具有較好的安全性和可移植性及與平臺(tái)無(wú)關(guān)等特性。( )2Java語(yǔ)言的源程序不是編譯型的,
9、而是編譯解釋型的。( )3Java Application程序中,必有一個(gè)主方法main(),該方法有沒(méi)有參數(shù)都可以。( )4java.util.Scanner(System.in)可以接收用戶從鍵盤(pán)輸入的簡(jiǎn)單數(shù)據(jù)。( )5Java程序中不區(qū)分大小寫(xiě)字母。( )6機(jī)器不能直接識(shí)別字節(jié)碼文件,它要經(jīng)過(guò)JVM中的解釋器邊解釋邊執(zhí)行。( )7System類中的println()方法分行顯示信息,而print()方法不分行顯示信息。( )8當(dāng)前路徑的標(biāo)識(shí)是“.”。 ( )9java命令不區(qū)分大小寫(xiě),而javac命令區(qū)分大小寫(xiě)。( )10printf()和 format()方法使用指定格式字符串和參數(shù),
10、將格式化字符串寫(xiě)入到PrintStream類型的輸出流(System.out對(duì)象)中。( )11在運(yùn)行字節(jié)碼文件時(shí),使用java命令,一定要給出字節(jié)碼文件的擴(kuò)展名.class。( )第2章 標(biāo)識(shí)符與簡(jiǎn)單數(shù)據(jù)類型一、選擇題1下列( D )是合法的標(biāo)識(shí)符?(A)12class(B)void(C)-5(D)_blank2下列( B )不是Java中的保留字?(A)if(B)sizeof(C)private(D)null3下列( C )不是合法的標(biāo)識(shí)符?(A)$million(B)$_million(C)2$_million(D)$2_million4下列選項(xiàng)中,( B )不屬于Java語(yǔ)言的基本數(shù)據(jù)
11、類型?(A)整數(shù)型(B)數(shù)組(C)浮點(diǎn)型(D)字符型5下列關(guān)于基本數(shù)據(jù)類型的說(shuō)法中,不正確的一項(xiàng)是( D )。(A)boolean類型變量的值只能取真或假(B)float是帶符號(hào)的32位浮點(diǎn)數(shù)(C)double是帶符號(hào)的64位浮點(diǎn)數(shù)(D)char是8位Unicode字符【解析】Java中的字符采用的是16位的Unicode字符。6下列關(guān)于基本數(shù)據(jù)類型的取值范圍的描述中,正確的一個(gè)是( B )。(A)byte類型的取值范圍是-128128 (B)boolean類型的取值范圍是真或假(C)char類型的取值范圍是065536 (D)short類型的取值范圍是-3276732767【解析】根據(jù)每種類
12、型占幾個(gè)字節(jié)即可推算出其取值范圍,如byte類型占1個(gè)字節(jié),即共包含28個(gè)數(shù)值,其取值范圍范圍應(yīng)為-128127,其他類型也是如此。7下列關(guān)于Java語(yǔ)言簡(jiǎn)單數(shù)據(jù)類型的說(shuō)法中,正確的一項(xiàng)是( A )。(A)以0開(kāi)頭的整數(shù)代表8進(jìn)制整型常量(B)以0x或0X開(kāi)頭的整數(shù)代表8進(jìn)制整型常量(C)boolean類型的數(shù)據(jù)作為類成員變量的時(shí)候,相同默認(rèn)的初始值為true (D)double型數(shù)據(jù)占計(jì)算機(jī)存儲(chǔ)的32位8下列Java語(yǔ)句中,不正確的一項(xiàng)是( C )。(A)$e, a, b = 10;(B)char c, d = a;(C)float e = 0.0d;(D)double c = 0.0f;【
13、解析】不能將double類型的常量賦值給float類型的變量。9在編寫(xiě)Java程序時(shí),如果不為類的成員變量定義初始值,Java會(huì)給出它們的默認(rèn)值,下列說(shuō)法中不正確的一個(gè)是( D )。(A)byte的默認(rèn)值是0(B)boolean的默認(rèn)值是false(C)char類型的默認(rèn)值是0(D)long類型的默認(rèn)值是0.0L10下列語(yǔ)句中不正確的一個(gè)是( B )。(A)float f = 1.1f;(B)byte b = 128;(C)double d = 1.1/0.0;(D)char c = (char)1.1f;【解析】bytel類型變量的取值范圍是-128127。11下列表達(dá)式1+2+ aa+3的
14、值是( B )。(A)12aa3(B)3aa3 (C)12aa(D)aa3【解析】整數(shù)和整數(shù)相加得到兩個(gè)整數(shù)的和,而整數(shù)和字符串相加得到的是字符串。12已知y=2, z=3, n=4,則經(jīng)過(guò)n=n+ -y*z/n運(yùn)算后n的值為( A )。(A)3(B)-1(C)-1 (D)-3【解析】根據(jù)運(yùn)算符的優(yōu)先級(jí),該表達(dá)式相當(dāng)于n=n+ (-y)*z)/n。13已知a=2, b=3,則表達(dá)式a%b*4%b的值為( A )。(A)2(B)1(C)-1(D)-2【解析】根據(jù)運(yùn)算符的優(yōu)先級(jí),該表達(dá)式相當(dāng)于(a%b)*4)%b。14已知x=2, y=3, z=4,則經(jīng)過(guò)z- = -y x-運(yùn)算后,z的值為( D
15、 )。(A)1(B)2(C)3(D)4【解析】在表達(dá)式運(yùn)算過(guò)程中,-y的值變?yōu)?,x的值還是2,等號(hào)右側(cè)運(yùn)算后的值為0,因此z的值沒(méi)有變化。15表達(dá)式(12=0) & (1/0 1)的值為( B )。(A)trueB)false(C)0(D)運(yùn)行時(shí)拋出異?!窘馕觥坑捎?12=0)的值為false,因此整個(gè)表達(dá)式發(fā)生短路運(yùn)算,即(1/0 1)就沒(méi)有參與運(yùn)算,整個(gè)表達(dá)式的值為false。16設(shè)有類型定義short i=32; long j=64; 下面賦值語(yǔ)句中不正確的一個(gè)是( B )(A)j=i; (B)i=j; (C)i=(short)j; (D)j=(long)i;【解析】long類型的數(shù)據(jù)
16、不能自動(dòng)轉(zhuǎn)變?yōu)閟hort類型,因此不能將long類型的變量直接賦值給short類型。17現(xiàn)有1個(gè)char類型的變量c1=66和1個(gè)整型變量i=2,當(dāng)執(zhí)行c1=c1+(char)i;語(yǔ)句后,c1的值為( D )。(A)d(B)D(C)68(D)語(yǔ)句在編譯時(shí)出錯(cuò)【解析】?jī)蓚€(gè)字符型的數(shù)據(jù)相加,得到的是一個(gè)整數(shù),而如果把整數(shù)再賦值給一個(gè)字符型變量則會(huì)在編譯時(shí)出錯(cuò)。18下列說(shuō)法中,正確的一項(xiàng)是( D )。(A)字符串a(chǎn)bcd的長(zhǎng)度為6(B)False是Java的保留字(C)123.45L代表單精度浮點(diǎn)型(D)False是合法的Java標(biāo)識(shí)符【解析】Java語(yǔ)言對(duì)字符的大小寫(xiě)是敏感的,F(xiàn)alse不是fal
17、se,因此False是合法的Java標(biāo)識(shí)符。19以下的變量定義語(yǔ)句中,合法的是( D )(A)float _*5 = 123.456F;(B)byte $_b1 = 12345;(C)int _long_ = L;(D)double d = Double.MAX_VALUE;【解析】(A)中_*5不是合法的標(biāo)識(shí)符,(B)中12345超出byte范圍,(C)中不能將long類型的常量賦值給int型的變量。20下列關(guān)于運(yùn)算符優(yōu)先級(jí)的說(shuō)法中,不正確的一個(gè)是( C )(A)運(yùn)算符按照優(yōu)先級(jí)順序表進(jìn)行運(yùn)算(B)同一優(yōu)先級(jí)的運(yùn)算符在表達(dá)式中都是按照從左到右的順序進(jìn)行運(yùn)算的(C)同一優(yōu)先級(jí)的運(yùn)算符在表達(dá)式中
18、都是按照從右到左的順序進(jìn)行運(yùn)算的(D)括號(hào)可以改變運(yùn)算的優(yōu)先次序【解析】同一優(yōu)先級(jí)的運(yùn)算符在表達(dá)式中都是按照從左到右的順序進(jìn)行運(yùn)算的。二、填空題1變量是Java程序的基本存儲(chǔ)單元之一,變量的主要類型包括2大類:字符型 和 數(shù)值型 。2Java語(yǔ)言的整數(shù)類型變量和常量一樣,各自都包括4種類型的數(shù)據(jù),它們分別是byte、 int 、 short 和long。3 boolean 類型數(shù)據(jù)不可以做類型轉(zhuǎn)換。4在Java語(yǔ)言的基本數(shù)據(jù)類型中,占存儲(chǔ)空間最少的類型是 boolean ,該類型占用的存儲(chǔ)空間為 1 位。5Java語(yǔ)言中的 保留字 具有特殊意義和作用,不能作為普通標(biāo)識(shí)符使用。6在Java語(yǔ)言中
19、,浮點(diǎn)類型數(shù)據(jù)屬于實(shí)型數(shù)據(jù),可以分為 單精度 和 雙精度 兩種。7char類型的數(shù)據(jù)可以表示的字符數(shù)共為 65536 。8定義初始值為10的8次方的常整型變量iLong的語(yǔ)句是 final iLong = L 。9Java語(yǔ)言中的數(shù)據(jù)類型轉(zhuǎn)換包括 自動(dòng)轉(zhuǎn)換 和 強(qiáng)制轉(zhuǎn)換 兩種。10Java中的字符采用的是16位的 Unicode 編碼。11數(shù)據(jù)類型中存儲(chǔ)空間均為64位的兩種數(shù)據(jù)類型是 long 和 double 。12表達(dá)式9*4/ -5%5的值為 -2 。(十進(jìn)制表示) 13表達(dá)式5&2的值為 0 。(十進(jìn)制表示)14表達(dá)式423的值為 11010 。(二進(jìn)制表示)16表達(dá)式7|3的值為 7
20、 。(十進(jìn)制表示) 17表達(dá)式102的值為 8 。(十進(jìn)制表示)18Java語(yǔ)言中的邏輯與(&)和邏輯或(|)運(yùn)算采用 短路 方式進(jìn)行運(yùn)算。19若a、b為int型變量,并且已分別賦值為5和10,則表達(dá)式(a+)+(+b)+a*b的值為 82 。20假設(shè)i=10, j=20, k=30,則表達(dá)式 !(ij+k) | !(i+10=j) 的值為 false 。三、判斷題1Java語(yǔ)言使用的是Unicode字符集,每個(gè)字符在內(nèi)存中占8位。( )2Java語(yǔ)言中不同數(shù)據(jù)類型的長(zhǎng)度是固定的,不隨機(jī)器硬件不同而改變。( )3所有的變量在使用前都必須進(jìn)行初始化。( )4已知byte i = (byte)12
21、7; i = i +1;這兩個(gè)語(yǔ)句能被成功編譯。( )5String str=abcdefghi;char chr=str.charAt(9); ( )6char chrArray= a, b, c, d, e, f, g;char chr=chrArray6; ( )7int i,j;boolean booleanValue=(i=j); ( )8int intArray=0,2,4,6,8; int length=int Array.length();( )9String str=abcedf; int length=str.length; ( )10short shortValue=22
22、0;byte byteValue=shortValue; ( )11int intArray60; ( )12char str=abcdefgh; ( )13說(shuō)明或聲明數(shù)組時(shí)不分配內(nèi)存大小,創(chuàng)建數(shù)組時(shí)分配內(nèi)存大小。( )14強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的功能是將一個(gè)表達(dá)式的類型轉(zhuǎn)換為所指定的類型。( )第3章 運(yùn)算符、表達(dá)式與語(yǔ)句一、選擇題1下列( D )不屬于Java語(yǔ)言流程控制結(jié)構(gòu)?(A)分支語(yǔ)句(B)跳轉(zhuǎn)語(yǔ)句(C)循環(huán)語(yǔ)句(D)賦值語(yǔ)句【解析】Java語(yǔ)言流程控制結(jié)構(gòu)只包括分支、循環(huán)和跳轉(zhuǎn)三種語(yǔ)句。2假設(shè)a是int類型的變量,并初始化為1,則下列( D )是合法的條件語(yǔ)句?(A)if(a)(B)i
23、f(a=3)(C)if(a=2)(D)if(true)【解析】條件語(yǔ)句中的“條件表達(dá)式”只能是boolean類型,不能是其他類型。3下列說(shuō)法中,不正確的一個(gè)是( C )。(A)switch語(yǔ)句的功能可以由ifelse if語(yǔ)句來(lái)實(shí)現(xiàn)(B)若用于比較的數(shù)據(jù)類型為double型,則不可以用switch語(yǔ)句來(lái)實(shí)現(xiàn)(C)if else if語(yǔ)句的執(zhí)行效率總是比switch語(yǔ)句高(D)case子句中可以有多個(gè)語(yǔ)句,并且不需要大括號(hào)括起來(lái)【解析】語(yǔ)句執(zhí)行效率高低要根據(jù)具體語(yǔ)句來(lái)確定,不能簡(jiǎn)單地說(shuō)ifelse if語(yǔ)句的執(zhí)行效率總是比switch語(yǔ)句高。4設(shè)a、b為long型變量,x、y為float型變量,
24、ch為char類型變量且它們均已被賦值,則下列語(yǔ)句中正確的是( B )。(A)switch(x+y) (B)switch(ch+1) (C)switch ch (D)switch(a+b); 【解析】switch后面的表達(dá)式必須放在括號(hào)()中,且表達(dá)式的類型只能是byte、short、int和char類型,不能是其他類型。5下列循環(huán)體執(zhí)行的次數(shù)是( C )。int y=2, x=4;while(-x != x/y) (A)1(B)2(C)3(D)4【解析】第1次執(zhí)行while時(shí),-x的值為3,3/2=1,滿足等號(hào)兩端值不等的條件,執(zhí)行一次循環(huán)體;第2次執(zhí)行while時(shí),-x的值為2,2/2=1
25、,條件滿足,又執(zhí)行一次循環(huán)體;第3次執(zhí)行while時(shí),-x的值為1,1/2=0,條件滿足,再次執(zhí)行一次循環(huán)體;第4次執(zhí)行while時(shí),-x的值為0,0/2=0,條件不滿足滿足,結(jié)束循環(huán)。因此在這個(gè)循環(huán)語(yǔ)句執(zhí)行的過(guò)程中,循環(huán)體共執(zhí)行了3次。6下列循環(huán)體執(zhí)行的次數(shù)是( B )。int x=10, y=30;doy -= x; x+;while(x+y-);(A)1 (B)2 (C)3 (D)4【解析】執(zhí)行1次循環(huán)體后,y的值為20,x值為11,然后執(zhí)行while,此時(shí)x+的值為11,y的值為20,因此x+y條件滿足,判斷完后,x的值變?yōu)?2,y的值變?yōu)?9;接著執(zhí)行第2次循環(huán)體,執(zhí)行完第2次循環(huán)體
26、后,y的值為9,x值為13,然后執(zhí)行while,此時(shí)x+的值為13,y的值為9,因此x+y條件不滿足,結(jié)束循環(huán)。因此在這個(gè)循環(huán)語(yǔ)句執(zhí)行的過(guò)程中,循環(huán)體共執(zhí)行了2次。7已知如下代碼:switch(m)case0:System.out.println(Condition 0);case1:System.out.println(Condition 1);case2:System.out.println(Condition 2);case3:System.out.println(Condition3);break;default:System.out.println(OtherCondition);當(dāng)
27、m的值為( D )時(shí),輸出“Condition 3”(A)2(B)0、1(C)0、1、2(D)0、1、2、3【解析】當(dāng)m的值為0、1、2、3時(shí),都能輸出“Condition 3”,因?yàn)閏ase 0、case 1、case 2后面的語(yǔ)句都沒(méi)有break,因此可以繼續(xù)向后執(zhí)行。二、填空題1跳轉(zhuǎn)語(yǔ)句包括break、continue、return和throw2switch語(yǔ)句先計(jì)算switch后面的 表達(dá)式 的值,再和各 case 語(yǔ)句后的值做比較。3if語(yǔ)句合法的條件值是 boolean 類型。4continue語(yǔ)句必須使用于 循環(huán) 語(yǔ)句中。5break語(yǔ)句有兩種用途:一種從switch 語(yǔ)句的分支
28、中跳出,一種是從循環(huán)語(yǔ)句內(nèi)部跳出。6do while循環(huán)首先執(zhí)行一遍 循環(huán)體 ,而while循環(huán)首先判斷 表達(dá)式的值 。7與C+語(yǔ)言不同,Java語(yǔ)言不通過(guò) goto 語(yǔ)句實(shí)現(xiàn)跳轉(zhuǎn)。8每一個(gè)else子句都必須和它前面的一個(gè)距離它最近的 if 子句相對(duì)應(yīng)。9在switch語(yǔ)句中,完成一個(gè)case語(yǔ)句塊后,若沒(méi)有通過(guò)break語(yǔ)句跳出switch語(yǔ)句,則會(huì)繼續(xù)執(zhí)行后面的 case 語(yǔ)句塊。10在for循環(huán)語(yǔ)句中可以聲明變量,其作用域是 for循環(huán)體 。第4章 類與對(duì)象一、選擇題1下列哪種類成員修飾符修飾的變量只能在本類中被訪問(wèn)?( D )(A)protected(B)public(C)defaul
29、t(D)private2在Java語(yǔ)言中,哪一個(gè)包中的類是自動(dòng)導(dǎo)入的?( A )A)java.langB)java.awtC)java.io D)java.applet【解析】只有java.lang包中的類能夠被自動(dòng)導(dǎo)入。3給出下面的程序代碼:public class X4_1_3 private float a; public static void m ( ) 如何使成員變量a被方法m( )訪問(wèn)( C )(A)將private float a改為protected float a(B)將private float a改為public float a(C)將private float a改為
30、static float a(D)將private float a改為float a【解析】static類型的方法只能訪問(wèn)static類型的數(shù)據(jù)成員。4有一個(gè)類B,下面為其構(gòu)造方法的聲明,正確的是( B )。(A)void B(int x)(B)B(int x) (C)b(int x)(D)void b(int x) 5下面關(guān)于類的說(shuō)法,不正確的是( C )。(A)類是同種對(duì)象的集合和抽象(B)類屬于Java語(yǔ)言中的復(fù)合數(shù)據(jù)類型(C)類就是對(duì)象(D)對(duì)象是Java語(yǔ)言中的基本結(jié)構(gòu)單位【解析】類是對(duì)象的抽象,對(duì)象是類的實(shí)例 6下面關(guān)于方法的說(shuō)法,不正確的是( C )。(A)Java中的構(gòu)造方法名
31、必須和類名相同(B)方法體是對(duì)方法的實(shí)現(xiàn),包括變量聲明和合法語(yǔ)句(C)如果一個(gè)類定義了構(gòu)造方法,也可以用該類的默認(rèn)構(gòu)造方法(D)類的私有方法不能被其他類直接訪問(wèn)【解析】類中一旦用戶定義了構(gòu)造方法,該類默認(rèn)的構(gòu)造方法就不存在了,除非用戶再自定義該類的默認(rèn)構(gòu)造方法。7關(guān)于內(nèi)部類,下列說(shuō)法不正確的是( A )。(A)內(nèi)部類不能有自己的成員方法和成員變量(B)內(nèi)部類可用private或protected修飾符修飾(C)內(nèi)部類可以作為其他類的成員,而且可訪問(wèn)它所在的類的成員(D)除static內(nèi)部類外,不能在類內(nèi)聲明static成員8定義外部類時(shí)不能用到的關(guān)鍵字是( C )。(A)final(B)pub
32、lic(C)protected(D)abstract【解析】定義外部類不能使用protected修飾符。9為AB類定義一個(gè)無(wú)返回值的方法f,使得使用類名就可以訪問(wèn)該方法,該方法頭的形式為( D )(A)abstract void f()(B)public void f()(C)final void f()(D)static void f()【解析】只有static類型的方法才可以直接使用類名來(lái)引用。10定義一個(gè)公有double型常量PI,哪一條語(yǔ)句最好?( B )(A)public final double PI;(B)public final static double PI=3.14;(C
33、)public final static double PI;(D)public static double PI=3.14;【解析】用public final static來(lái)定義常量,既可以節(jié)省存儲(chǔ)空間,又可以保證數(shù)值不會(huì)被改變。二、填空題1 對(duì)象 是對(duì)事物的抽象,而 類 是對(duì)對(duì)象的抽象和歸納。2從用戶的角度看,Java源程序中的類分為兩種: 系統(tǒng)定義的類 和 用戶自己定義的類 。3一個(gè)類主要包含兩個(gè)要素: 數(shù)據(jù)成員 和 成員方法 。4創(chuàng)建包時(shí)需要使用關(guān)鍵字 package 。5類中的 構(gòu)造 方法是一個(gè)特殊的方法,該方法的方法名和類名相同。6如果用戶在一個(gè)自定義類中未定義該類的構(gòu)造方法,系統(tǒng)
34、將為這個(gè)類定義一個(gè)默認(rèn)構(gòu)造方法。這個(gè)方法沒(méi)有 形式參數(shù) ,也沒(méi)有任何 具體語(yǔ)句 ,不能完成任何操作。7靜態(tài)數(shù)據(jù)成員被保存在類的內(nèi)存區(qū)的 公共存儲(chǔ) 單元中,而不是保存在某個(gè)對(duì)象的內(nèi)存區(qū)中。因此,一個(gè)類的任何對(duì)象訪問(wèn)它時(shí),存取到的都是 相同 (相同/不同)的數(shù)值。8靜態(tài)數(shù)據(jù)成員既可以通過(guò) 對(duì)象名 來(lái)訪問(wèn),也可以通過(guò) 類名 直接訪問(wèn)它。9定義常量時(shí)要用關(guān)鍵字 final ,同時(shí)需要說(shuō)明常量的 數(shù)據(jù)類型 并指出常量的 具體值 。10方法體內(nèi)定義變量時(shí),變量前不能加 修飾符 ;局部變量在使用前必須 明確賦值 ,否則編譯時(shí)會(huì)出錯(cuò);而類變量在使用前可以不用賦值,它們都有一個(gè) 默認(rèn) 的值。11static方法
35、中只能引用 static 類型的數(shù)據(jù)成員和 static 類型的成員方法;而非static類型的方法中既可以引用 static 類型的數(shù)據(jù)成員和成員方法,也可以引用非static 類型的數(shù)據(jù)成員和成員方法。12引用static類型的方法時(shí),可以使用 類名 做前綴,也可以使用 對(duì)象名 做前綴。13當(dāng)程序中需要引用java.awt.event包中的類時(shí),導(dǎo)入該包中類的語(yǔ)句為 import java.awt.event.*。14定義類時(shí)需要 class 關(guān)鍵字,繼承類時(shí)需要 extends 關(guān)鍵字,實(shí)現(xiàn)接口時(shí)需要關(guān)鍵字 implements 。三、判斷題1類是一種類型,也是對(duì)象的模板。( )2類中說(shuō)
36、明的方法可以定義在類體外。( )3實(shí)例方法中不能引用類變量。( )4創(chuàng)建對(duì)象時(shí)系統(tǒng)將調(diào)用適當(dāng)?shù)臉?gòu)造方法給對(duì)象初始化。( )5使用運(yùn)算符new創(chuàng)建對(duì)象時(shí),賦給對(duì)象的值實(shí)際上是一個(gè)引用值。( )6對(duì)象賦值實(shí)際上是同一個(gè)對(duì)象具有兩個(gè)不同的名字,它們都有同一個(gè)引用值。( )7對(duì)象可作方法參數(shù),對(duì)象數(shù)組不能作方法參數(shù)。( )8class是定義類的惟一關(guān)鍵字。( )9Java語(yǔ)言會(huì)自動(dòng)回收內(nèi)存中的垃圾。( )第5章 子類與繼承一、選擇題1已知有下面類的說(shuō)明:public class X5_1_1 extends xprivate float f =10.6f;int i=16;static int si=
37、10;public static void main(String args) X5_1_1 x=new X5_1_1();在main()方法中,下面哪條語(yǔ)句的用法是正確的?( A )Ax.f Bthis.si CX5_1_1.i DX5_1_1.f【解析】由于x是在main方法內(nèi)部定義的對(duì)象,因此它可以引用類的非static類型的屬性,因此選A,而this和super不能在main方法中使用,使用類名只能引用本類的靜態(tài)屬性,因此B、C、D不對(duì)。2下列程序的運(yùn)行結(jié)果是( C )。public class X5_1_2 extends xint ab()static int aa=10;aa+;
38、System.out.println(aa);public static void main(String args) X5_1_2 x=new X5_1_2();x.ab();A10B11C編譯錯(cuò)誤D運(yùn)行成功,但不輸出【解析】方法體內(nèi)的局部變量不能使用static修飾符。3下面關(guān)于接口的說(shuō)法中不正確的是(C )。A接口中所有的方法都是抽象的B接口中所有的方法都是public訪問(wèn)權(quán)限C子接口繼承父接口所用的關(guān)鍵字是implementsD接口是Java中的特殊類,包含常量和抽象方法【解析】子接口繼承父接口所用的關(guān)鍵字也是extends,只有類實(shí)現(xiàn)接口時(shí)才使用implements。4區(qū)分類中重載方
39、法的依據(jù)是( A )。A形參列表的類型和順序B不同的形參名稱C返回值的類型不同D訪問(wèn)權(quán)限不同【解析】形參表的類型和順序不同時(shí)區(qū)分重載方法的唯一標(biāo)志。5子類對(duì)象能否直接向其父類賦值?父類對(duì)象能否向其子類賦值?( B )A能,能B能,不能C不能,能D不能,不能【解析】子類對(duì)象可以直接賦值給父類對(duì)象,而父類對(duì)象不能直接賦值給子類對(duì)象。6Java語(yǔ)言類間的繼承關(guān)系是( A )。A單繼承B多重繼承C不能繼承D不一定【解析】Java語(yǔ)言類間的繼承關(guān)系是單繼承,但一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。7Java語(yǔ)言接口間的繼承關(guān)系是( B )。A單繼承 B多重繼承 C不能繼承 D不一定【7.解析】Java語(yǔ)言接口間的繼承
40、關(guān)系允許多重繼承。8一個(gè)類實(shí)現(xiàn)接口的情況是( A )。A一次可以實(shí)現(xiàn)多個(gè)接口B一次只能實(shí)現(xiàn)一個(gè)接口C不能實(shí)現(xiàn)接口D不一定【解析】Java語(yǔ)言允許一個(gè)類一次實(shí)現(xiàn)多個(gè)接口。9定義外部類的類頭時(shí),不可用的關(guān)鍵字是( C )。Apublic BfinalCprotected Dabstract【解析】定義外部類時(shí)不能使用protected關(guān)鍵字。10如果局部變量和成員變量同名,如何在局部變量作用域內(nèi)引用成員變量?( B )A不能引用,必須改名,使它們的名稱不相同B在成員變量前加this,使用this訪問(wèn)該成員變量C在成員變量前加super,使用super訪問(wèn)該成員變量D不影響,系統(tǒng)可以自己區(qū)分【解析】
41、this可以用來(lái)引用本類對(duì)象。11下面說(shuō)法不正確的是( B )。A抽象類既可以做父類,也可以做子類Babstract和final能同時(shí)修飾一個(gè)類C抽象類中可以沒(méi)有抽象方法,有抽象方法的類一定是抽象類或接口D聲明為final類型的方法不能在其子類中重新定義【解析】abstract和final不能同時(shí)修飾一個(gè)類,因?yàn)閍bstract類需要子類,而final類不能有子類。二、填空題1消息就是向?qū)ο蟀l(fā)出 服務(wù)請(qǐng)求 ,是對(duì) 數(shù)據(jù)成員 和 成員方法 的引用。2在面向?qū)ο笙到y(tǒng)中,消息分為兩類 公有消息 和 私有消息 。3在面向?qū)ο蟪绦蛟O(shè)計(jì)中,采用 繼承 機(jī)制可以有效地組織程序結(jié)構(gòu)。充分利用已有的類來(lái)創(chuàng)建更復(fù)
42、雜的類,大大提高程序開(kāi)發(fā)的效率,提高代碼的復(fù)用率,降低維護(hù)的工作量。4 數(shù)據(jù)成員的隱藏 是指在子類中重新定義一個(gè)與父類中已定義的數(shù)據(jù)成員名完全相同的數(shù)據(jù)成員。5子類可以重新定義與父類同名的成員方法,實(shí)現(xiàn)對(duì)父類方法的 覆蓋 。6子類在重新定義父類已有的方法時(shí),應(yīng)保持與父類完全相同的 方法名 、 返回值類型 和 參數(shù)列表 ,否則就不是方法的覆蓋,而是子類定義自己特有的方法,與父類的方法無(wú)關(guān)。7this代表了 當(dāng)前對(duì)象 的一個(gè)引用,super表示的是當(dāng)前對(duì)象的 直接父類對(duì)象 的引用。8抽象類不能 創(chuàng)建 對(duì)象,該工作由抽象類派生的非抽象子類來(lái)實(shí)現(xiàn)。9如果父類中已有同名的abstract方法,則子類中就
43、 不能 (能/不能)再有同名的抽象方法。10abstract類中不能有 private 訪問(wèn)權(quán)限的數(shù)據(jù)成員或成員方法。11 interface 是聲明接口的關(guān)鍵字,可以把它看成一個(gè)特殊類。接口中的數(shù)據(jù)成員默認(rèn)的修飾符是 public static final ,接口中的成員方法默認(rèn)的修飾符是 public abstract 。12如果實(shí)現(xiàn)某接口的類不是abstract的抽象類,則在類的定義部分必須 實(shí)現(xiàn) 該接口的所有抽象方法;如果實(shí)現(xiàn)某接口的類是abstract的抽象類,則它可以 不實(shí)現(xiàn) 該接口所有的方法。但是對(duì)于這個(gè)抽象類任何一個(gè)非抽象的子類而言,它們父類所實(shí)現(xiàn)的接口中的所有抽象方法以及自身
44、所實(shí)現(xiàn)接口中的抽象方法都必須有實(shí)在的 方法體 。13包的作用有兩個(gè),一是 劃分類名空間 ,二是 控制類之間的訪問(wèn) 。14封裝也稱 信息隱藏 ,是指類的設(shè)計(jì)者只為類的使用者提供類的可以訪問(wèn)的部分(包括類的數(shù)據(jù)成員和成員方法),而把類中的其他成員 隱藏 起來(lái),使用戶不能訪問(wèn)的機(jī)制。15Java提供了4種訪問(wèn)權(quán)限來(lái)實(shí)現(xiàn)封裝機(jī)制,即 private 、 protected 、 默認(rèn) 和 public 。16Java中提供兩種多態(tài)機(jī)制, 重載 與 覆蓋 。17當(dāng)一個(gè)構(gòu)造方法需要調(diào)用另一個(gè)構(gòu)造方法時(shí),可以使用關(guān)鍵字 this ,同時(shí)這個(gè)調(diào)用語(yǔ)句應(yīng)該是整個(gè)構(gòu)造方法的 第一條 可執(zhí)行語(yǔ)句。18如果子類自己沒(méi)有
45、構(gòu)造方法,那么父類也一定 沒(méi)有 (有/沒(méi)有)帶參的構(gòu)造方法,此時(shí)它將繼承父類的 無(wú)參構(gòu)造方法 作為自己的構(gòu)造方法;如果子類自己定義了構(gòu)造方法,則在創(chuàng)建新對(duì)象時(shí),它將先執(zhí)行 父類 的構(gòu)造方法,然后再執(zhí)行自己的 構(gòu)造方法 。19對(duì)于父類的含參數(shù)構(gòu)造方法,子類可以通過(guò)在自己的構(gòu)造方法中使用 super 關(guān)鍵字來(lái)調(diào)用它,但這個(gè)調(diào)用語(yǔ)句必須是子類構(gòu)造方法的 第一條 可執(zhí)行語(yǔ)句。20創(chuàng)建一個(gè)名為myPachkage的包的語(yǔ)句為 package myPackage; ,該語(yǔ)句應(yīng)該放在程序第一行 位置。三、判斷題1Java語(yǔ)言中,構(gòu)造方法是不可以繼承的。( )2子類的成員變量和成員方法的數(shù)目一定大于等于父類的
46、成員變量和成員方法的數(shù)目。( )3抽象方法是一種只有說(shuō)明而無(wú)具體實(shí)現(xiàn)的方法。( )4Java語(yǔ)言中,所創(chuàng)建的子類都應(yīng)有一個(gè)父類。( )5調(diào)用this 或super構(gòu)造方法的語(yǔ)句必須放在第一條語(yǔ)句。( )6一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,接口可以實(shí)現(xiàn)“多重繼承”。 ( )7實(shí)現(xiàn)接口的類不能是抽象類。( )8使用構(gòu)造方法只能給實(shí)例成員變量賦初值。( )9Java 語(yǔ)言不允許同時(shí)繼承一個(gè)類并實(shí)現(xiàn)一個(gè)接口。( )第6章 一、選擇題1給出下面程序代碼:byte a1, a2;byte a3;byte a4;下列數(shù)組操作語(yǔ)句中哪一個(gè)是不正確的?( A )Aa2 = a1Ba2 = a3Ca2 = a4Da3 =
47、a4【解析】只有維數(shù)相同的數(shù)組才能相互賦值。2關(guān)于數(shù)組,下列說(shuō)法中不正確的是( C )。A數(shù)組是最簡(jiǎn)單的復(fù)合數(shù)據(jù)類型,是一系列數(shù)據(jù)的集合B數(shù)組元素可以是基本數(shù)據(jù)類型、對(duì)象或其他數(shù)組C定義數(shù)組時(shí)必須分配內(nèi)存D一個(gè)數(shù)組中所有元素都必須具有相同的數(shù)據(jù)類型【解析】數(shù)組元素可以是基本數(shù)據(jù)類型、對(duì)象或其他數(shù)組。3設(shè)有下列數(shù)組定義語(yǔ)句:int a = 1, 2, 3;則對(duì)此語(yǔ)句的敘述錯(cuò)誤的是( C )。A定義了一個(gè)名為a的一維數(shù)組Ba數(shù)組有3個(gè)元素Ca數(shù)組元素的下標(biāo)為13D數(shù)組中每個(gè)元素的類型都是整數(shù)【解析】數(shù)組元素的下標(biāo)是從0開(kāi)始的。4執(zhí)行語(yǔ)句:int x = new int20;后,哪個(gè)是正確的?(C)
48、Ax19為空 Bx19未定義Cx19為0 Dx0為空【解析】此語(yǔ)句定義了x數(shù)組后,x0x19的值全部為0。5下面代碼運(yùn)行后的輸出結(jié)果為( A )。public class X6_1_5 public static void main(String args) AB aa = new AB(); AB bb; bb = aa; System.out.println(bb.equals(aa); class AB int x = 100; AtrueBfalseC編譯錯(cuò)誤 D100【解析】同一個(gè)類的兩個(gè)對(duì)象可以相互賦值,賦值后兩個(gè)對(duì)象具有相同的存儲(chǔ)空間,因此是相同的。6已知有定義:String s
49、=I love,下面哪個(gè)表達(dá)式正確?( A )As += you;Bchar c = s1;Cint len = s.length;DString s = s.toLowerCase();【解析】字符串對(duì)象可以執(zhí)行“+=”運(yùn)算,但不能用s1這種方式取其中的字符,也不能用length求它的長(zhǎng)度,可以用length()求其長(zhǎng)度,因此B、C不正確,不能再次定義s字符串,因此D不正確。二、填空題1 Object類 是所有類的直接或間接父類,它在 java.lang 包中。2System類是一個(gè)功能強(qiáng)大、非常有用的特殊的類,它提供了 標(biāo)準(zhǔn)輸入/輸出 、 運(yùn)行時(shí) 系統(tǒng)信息等重要工具。這個(gè)類不能 實(shí)例化 ,
50、即不能創(chuàng)建System類的對(duì)象,所以它所有的屬性和方法都是 static 類型,引用時(shí)以類名System為前綴即可。3Applet由瀏覽器自動(dòng)調(diào)用的主要方法 init , start , stop 和 destroy 分別對(duì)應(yīng)了Applet從初始化、啟動(dòng)、暫停到消亡的生命周期的各個(gè)階段 。4數(shù)組是一種 復(fù)合 數(shù)據(jù)類型,在Java中,數(shù)組是作為 對(duì)象 來(lái)處理的。數(shù)組是有限元素的有序集合,數(shù)組中的元素具有相同的 數(shù)據(jù)類型 ,并可用統(tǒng)一的 數(shù)組名 和 下標(biāo) 來(lái)唯一確定其元素。5在數(shù)組定義語(yǔ)句中,如果在數(shù)據(jù)類型和變量名之間時(shí),之后定義的所有變量都是 數(shù)組 類型,當(dāng)在變量名之后時(shí),只有之前的變量是 數(shù)組
51、 類型,之后沒(méi)有的則不是數(shù)組類型。6數(shù)組初始化包括 靜態(tài) 初始化和 動(dòng)態(tài) 初始化兩種方式。7利用 System 類中的 arraycopy() 方法可以實(shí)現(xiàn)數(shù)組元素的復(fù)制;利用 Arrays 類中的 sort() 和 binarySearch() 方法可以實(shí)現(xiàn)對(duì)數(shù)組元素的排序、查找等操作。8Java語(yǔ)言提供了兩種具有不同操作方式的字符串類: String 類和 StringBuffer 類。它們都是 java.lang.Object 的子類。第7章 內(nèi)部類與異常類一、選擇題1關(guān)于異常的含義,下列描述中最正確的一個(gè)是( D )。A程序編譯錯(cuò)誤B程序語(yǔ)法錯(cuò)誤C程序自定義的異常事件D程序編譯或運(yùn)行時(shí)發(fā)生的異常事件【解析】異常就是程序編譯或運(yùn)行時(shí)發(fā)生的異常事件。2自定義異常時(shí),可以通過(guò)對(duì)下列哪一項(xiàng)進(jìn)行繼承?( C )AError類 BApplet類CException類及其子類DAssertionError類【解析】自定義異常類時(shí),該類必須繼承Exception類及其子類。3對(duì)應(yīng)try和catch子句的排列方式,下列哪一項(xiàng)是正確的?( A )A子類異常在前,父類異常在后B父類異常在前,子類異常在后C只能有子類異常 D父類和子類不能同時(shí)出現(xiàn)在
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家長(zhǎng)培訓(xùn)課件制作
- 2026年建筑工程施工合同協(xié)議條款
- 2026年商場(chǎng)水電維修合同協(xié)議
- 家長(zhǎng)會(huì)安全問(wèn)題課件
- 2026年屋頂防水補(bǔ)漏合同協(xié)議
- 2026年汽車抵押分期付款合同
- 2026年電鍍廠承包經(jīng)營(yíng)合同
- 2026年陵園墓園管理合作合同
- 2026年速凍食品分銷合同協(xié)議書(shū)
- 2026年會(huì)展服務(wù)合同協(xié)議
- 2024-2025學(xué)年重慶市大足區(qū)六年級(jí)(上)期末數(shù)學(xué)試卷
- 2025年高級(jí)經(jīng)濟(jì)師金融試題及答案
- 蘇少版七年級(jí)上冊(cè)2025秋美術(shù)期末測(cè)試卷(三套含答案)
- 2026年哈爾濱科學(xué)技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶答案詳解
- GB/T 7714-2025信息與文獻(xiàn)參考文獻(xiàn)著錄規(guī)則
- 涉融資性貿(mào)易案件審判白皮書(shū)(2020-2024)-上海二中院
- DB65∕T 8031-2024 高海拔地區(qū)民用建筑設(shè)計(jì)標(biāo)準(zhǔn)
- 2025年人社局工作考試題及答案
- 2026年山東力明科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)含答案詳解
- 2024年暨南大學(xué)馬克思主義基本原理概論期末考試題帶答案
- 2025內(nèi)蒙古能源集團(tuán)智慧運(yùn)維公司社會(huì)招聘(105人)筆試參考題庫(kù)附帶答案詳解(3卷)
評(píng)論
0/150
提交評(píng)論