《Java基礎(chǔ)案例教程(第3版)》-課后習(xí)題答案匯 黑馬 第1-12章_第1頁
《Java基礎(chǔ)案例教程(第3版)》-課后習(xí)題答案匯 黑馬 第1-12章_第2頁
《Java基礎(chǔ)案例教程(第3版)》-課后習(xí)題答案匯 黑馬 第1-12章_第3頁
《Java基礎(chǔ)案例教程(第3版)》-課后習(xí)題答案匯 黑馬 第1-12章_第4頁
《Java基礎(chǔ)案例教程(第3版)》-課后習(xí)題答案匯 黑馬 第1-12章_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

一.填空題一.填空題Java是一種可以編寫跨平臺應(yīng)用軟件、完全面向 的程序設(shè)計語言。Java中提供了Java程序的執(zhí)行入口是

命令用于編譯Java的源文件。方法。java命令可以執(zhí)行后綴名為 的文件。在Java中,字節(jié)碼文件的擴(kuò)展名為 。二.判斷題Java()Java()Java()Javajavac()JavaJVM()三.選擇題1.Java語言的類別描述正確的是(。A、機(jī)器語言B、匯編語言C、高級語言D、以上都不正確2.Java虛擬機(jī)中運(yùn)行的文件類型是(。A、.javaB、.jreC、.exeD、.classJava編譯器的可執(zhí)行文件(。A、javac.exeB、java.exeC、jar.exeD、javadoc.exe下列選項中,JDKjavac.exe、java.exe等可執(zhí)行程序的子目錄是(。A、conf目錄B、lib目錄C、bin目錄D、include目錄User.class的字節(jié)碼文件的命令正確的是(。A、javaUserB、javaUser.classC、javacUserD、javacUser.class四.簡答題Path環(huán)境變量的作用。Java的運(yùn)行機(jī)制。五.編程題使用IDEA編寫一個HelloWorld程序,并在IDEA開發(fā)工具內(nèi)編譯運(yùn)行,并輸出打印結(jié)果。1.在Java中如果要使用另一個包中類的功能,則需要使用 關(guān)鍵字來導(dǎo)入這個類。Java中的基本數(shù)據(jù)類型有 種。邏輯運(yùn)算符的運(yùn)算結(jié)果是一個 值。在Java中, 語句用于在循環(huán)中跳過當(dāng)前循環(huán)并進(jìn)入下一次循環(huán)。Java中數(shù)組的初始化方式分為兩種,分別是靜態(tài)初始化和 。二.判斷題Java()switchcasebreak()Java中,將取值范圍較大的數(shù)據(jù)類型的數(shù)值轉(zhuǎn)換為取值范圍較小的數(shù)據(jù)類型的數(shù)值屬()true()do…while()三.選擇題1.Java中的標(biāo)識符說法錯誤的是(。A、標(biāo)識符可以由字母、數(shù)字、下劃線和美元符號組成。B、標(biāo)識符可以以字母或下劃線開頭,但不能以數(shù)字開頭。C、標(biāo)識符不區(qū)分大小寫。D、在程序中,一般建議使用有意義的單詞或名稱來定義標(biāo)識符。2.下列選項中,不屬于基本數(shù)據(jù)類型的是(。A、StringB、shortC、booleanD、char下列選項中,關(guān)于基本數(shù)據(jù)類型轉(zhuǎn)換說法錯誤的是(。AB、一個byte類型的數(shù)據(jù)和一個int類型的數(shù)據(jù)進(jìn)行運(yùn)算時,結(jié)果為long類型。C、自動類型轉(zhuǎn)換是由編譯器自動完成的。D、強(qiáng)制類型轉(zhuǎn)換極容易造成數(shù)據(jù)精度的丟失。下列選項中,關(guān)于變量的定義和初始化,在編譯時會發(fā)生錯誤的是(。A、inta=50;B、longb=13;C、floatc=20.0;D、chard='D';Java中的數(shù)組說法錯誤的是(。A、同一個數(shù)組中元素的類型可以不同。B、數(shù)組的索引范圍從0開始C、數(shù)組的長度必須是一個非負(fù)整數(shù)值,并且在創(chuàng)建數(shù)組后,數(shù)組的長度保持不變。D、在二維數(shù)組中可以存儲不同大小的一維數(shù)組。四.簡答題Java中所有的基本數(shù)據(jù)類型,并描述每個數(shù)據(jù)類型在內(nèi)存中所占的空間大小。whiledo…while循環(huán)語句在執(zhí)行時的區(qū)別。五.編程題3位數(shù),其各個位數(shù)的三次方和等于該數(shù)本身。2.編寫一個程序,求取數(shù)組{52,63,1,14,36,95,6,10,27,40}中最大值并輸出該值位于數(shù)組中的第幾個位置。一.填空題面向?qū)ο蟮娜筇匦苑謩e為 、繼承和多態(tài)。實例化對象是指使用關(guān)鍵字 來創(chuàng)建一個對象,并為對象分配內(nèi)存空間。在Java中訪問級別最嚴(yán)格只允許同一個類中才可以訪問的修飾符是 。在Java中,一個對象在創(chuàng)建時會自動調(diào)用并初始化的特殊方法叫 。Java中被static關(guān)鍵字修飾的變量可以通過 直接進(jìn)行訪問。二.判斷題()Java()()this()()三.選擇題下列選項中,不屬于面向?qū)ο蟮娜筇匦缘氖牵?。A、繼承B、多態(tài)C、封裝D、抽象下列關(guān)于對象的引用傳遞的描述正確的是(。A、傳遞的是對象的副本B、傳遞的是對象的內(nèi)存地址C、傳遞的是對象的屬性值D、傳遞的是對象的方法publicclassDemo{intnum=10;publicstaticvoidmain(String[]args){intnum=5;System.out.println(num);publicclassDemo{intnum=10;publicstaticvoidmain(String[]args){intnum=5;System.out.println(num);}}上述代碼的執(zhí)行結(jié)果是( )。A、編譯錯誤B、運(yùn)行錯誤C、10D、5下列關(guān)于構(gòu)造方法的說法中,錯誤的是(。AB、類的有參構(gòu)造方法的參數(shù)列表必須與類的成員變量完全匹配。C、如果一個類沒有明確定義構(gòu)造方法,編譯器會自動生成一個默認(rèn)的無參構(gòu)造方法D、構(gòu)造方法與類同名,沒有返回類型。static的描述錯誤的是(。A、Java中的static關(guān)鍵字可以修飾類的成員,包括屬性、方法以及代碼塊B、靜態(tài)方法只能訪問靜態(tài)成員C、static關(guān)鍵字可以修飾成員變量和局部變量D、靜態(tài)方法可以通過類名或?qū)ο笤L問四.簡答題簡述實現(xiàn)封裝需要進(jìn)行的操作。Java中的訪問控制修飾符有哪些,以及對應(yīng)的訪問權(quán)限。五.編程題請設(shè)計一個名為Pet的類,表示寵物,該類包含以下屬性和方法。(1)屬性type:類型age:年齡vaccinum:接種疫苗(2)方法setType(Stringtype):設(shè)置寵物類型setAge(intage):設(shè)置寵物年齡setVaccinum(booleanhealth):設(shè)置寵物疫苗接種情況getType():獲取寵物類型getAge():獲取寵物年齡getHealth():獲取寵物疫苗接種情況PetPet對象的信息。一.填空題如果想聲明一個類繼承另一個類,需要使用 關(guān)鍵字。Java中使用 關(guān)鍵字可以在子類中訪問父類的非私有方法非私有屬性以及構(gòu)造方法。一個類如果要實現(xiàn)一個接口,可以通過關(guān)鍵字 來實現(xiàn)。在Java中,不同類的對象在調(diào)用同一個方法時表現(xiàn)出的多種行為稱為 。Java提供了一個關(guān)鍵字 可以判斷一個對象是否為某個(或接口的實例或子類實例。二.判斷題()Java()Java()final()Java()三.選擇題publicclassA{publicstaticvoidmain(String[]args){Bb=newB();b.test();}voidtest(){System.out.print("A");publicclassA{publicstaticvoidmain(String[]args){Bb=newB();b.test();}voidtest(){System.out.print("A");}}classBextendsA{voidtest(){super.test();System.out.print("B");}}A、產(chǎn)生編譯錯誤。BAB。CD、編譯沒有錯誤,但運(yùn)行時會產(chǎn)生異常。Java中的繼承的描述錯誤的是(。A、一個類可以繼承多個父類。B、多個類可以繼承一個父類。C、一個類可以既是父類又是子類。D、一個接口可以繼承多個父接口。Javasuper關(guān)鍵字說法正確的是(。Asuper區(qū)分子類和父類的成員變量。B、使用super調(diào)用父類構(gòu)造方法時,可以放在構(gòu)造函數(shù)的任意一行。C、子類可以通過super關(guān)鍵字調(diào)用父類的方法。D、父類可以通過super關(guān)鍵字調(diào)用子類的屬性。Java中的內(nèi)部類說法錯誤的是(。A、內(nèi)部類可以訪問外部類的私有成員。B、內(nèi)部類可以被聲明為static。C、外部類可以直接訪問內(nèi)部類的私有成員。D、一個類可以同時擁有多個內(nèi)部類。下列選項中,所有異常類的父類是(。A、IOEExceptionB、ErrorC、ExceptionD、RunTimeException四.簡答題Java中繼承的概念以及使用繼承的好處。簡述抽象類與接口的相同之處與不同之處。五.編程題某書店有以下若干類書籍售賣,這些書籍的信息如下。Book類,書籍類。所有書籍類的父類,包含的屬性和方法如下。屬性:書籍名稱,書籍作者,書籍價格。getter方法。NovelBook類。包含的自有屬性和方法如下。屬性:小說類別(武俠、科幻等。toString()方法,展示書籍信息。Book類。包含的自有屬性和方法如下。屬性:科目(Java、C++等。方法:getPrice()toString()方法,展示書籍信息。MagazineBook類。包含的自有屬性和方法如下。屬性:期刊號、出版社方法:getPrice()toString()方法,展示書籍信息。程序要求如下:BookBook對象,將Book一.填空題Java中 類為所有類的直接或間接父類。Java中,支持動態(tài)添加和修改字符串,并且保證線程安全的類是 類。int類型的包裝類為 。String類的substring(intbeginIndex,intendIndex)方法,會返回一個包含從索引beginIndex到索引 處的字符串。Math類中, 方法可用于獲取一個數(shù)的平方根。二.判斷題String()()StringBuilderStringBuffer()final()Pattern()三.選擇題ss.(。A、caB、cC、aD、as下列選項中,Math.random()方法生成的隨機(jī)數(shù)可能是(。A、0.5652963856942563。B、-0.2。C、3.0。D、1.2。LocalDateTime對象的方法是(。A、from(String)B、parse(String)C、valueOf(String)D、convert(String)下列選項中,運(yùn)行時不會報錯的語句是(。A、inti=Integer.parseInt("itcast");B、Integeri=Integer.valueOf("1223");C、Doubled=Double.valueOf("3.14n");D、Strings=String.valueOf(100);classStringDemo{publicstaticvoidmain(String[]args){Strings1="a";Strings2="b";show(s1,s2);System.out.println(s1+s2);classStringDemo{publicstaticvoidmain(String[]args){Strings1="a";Strings2="b";show(s1,s2);System.out.println(s1+s2);}publicstaticvoidshow(Strings1,Strings2){s1=s1+"q";s2=s2+s1;s2=s2+s1;}}A、abB、aqbC、aqbaqD、agaqb四.簡答題String類、StringBufferStringBuilder類的區(qū)別。Java中基本數(shù)據(jù)類型裝箱和拆箱。五.編程題50道[20,100]之間的加減法算式,并輸出結(jié)果(要求結(jié)果也在[20,100]之間。編寫一個程序,實現(xiàn)字符串大小寫的轉(zhuǎn)換并倒序輸出。具體要求如下。for循環(huán)將字符串“ITcastHeiMa”從最后一個字符開始遍歷。toLowerCase()方法將其轉(zhuǎn)換為小寫字符,toUpperCase()方法將其轉(zhuǎn)換為大寫字符。定義一個StringBuffer對象,調(diào)用append()方法一次添加遍歷的字符,最后調(diào)用StringBuffer對象的toString()方法,并將得到的結(jié)果輸出。一.填空題 是所有單列集合的父接口,它定義了單列集合通用的集合操作方法。ArrayList集合可以看作一個長度可變的 。使用Iterator迭代器遍歷集合時,判斷集合中是否還有下一個元素可以訪問的方法是 。HashSet集合底層通過 方法和equals()方法確保集合中不存在重復(fù)的元素。遍歷HashMap集合時,可以通過 方法獲取到集合中所有的鍵值對對象。二.判斷題ArrayList()()forSet()TreeMapkeyvalue。()Stream流的中間方法在被調(diào)用完成后會返回一個新的流,并且可以繼續(xù)進(jìn)行其他()三.選擇題(。A、集合按照存儲結(jié)構(gòu)可以分為單列集合Collection和雙列集合Map。B、List集合的特點是元素有序,并且可以重復(fù)。C、Set集合的特點是元素有序,但不可以重復(fù)。D、Map集合每個元素都包含一個鍵對象key和一個值對象value。ap(。A、containsKey(Objectkey)方法表示如果此集合中包含指定key的鍵值對,則返回true。B、remove(Objectkey)方法表示從此集合中刪除key對應(yīng)的鍵值對。C、values()方法表示返回此集合中所有鍵對象組成的Collection。D、size()方法表示返回此集合中鍵值對的數(shù)量。Aaist和nkedst(。A、LinkedList的底層結(jié)構(gòu)是一個單向循環(huán)鏈表。B、LinkedList的插入和刪除操作只需要修改節(jié)點之間的引用關(guān)系。C、ArrayList的插入和刪除操作需要進(jìn)行數(shù)組元素的移動。D、ArrayList適用于頻繁隨機(jī)訪問元素,而LinkedList適用于頻繁插入和刪除操作。publicclassExample{publicstaticvoidmain(String[]args){List<String>list=newArrayList<>();list.add("Apple");publicclassExample{publicstaticvoidmain(String[]args){List<String>list=newArrayList<>();list.add("Apple");list.add("Banana");list.add("Orange");//for循環(huán)遍歷集合for(Stringstr:list){str="grapes";}System.out.println(list);}}}。A、[grapes,Banana,Orange]B、[grapes,grapes,grapes]C、[Apple,Banana,Orange]D、以上都不對JDK8eam(。A、Stream流可以操作集合、數(shù)組和文件中的數(shù)據(jù)。B、Stream流在操作集合的過程中可以改變原集合中的數(shù)據(jù)。C、Stream流的中間方法可以鏈?zhǔn)秸{(diào)用。D、Stream流的終結(jié)方法執(zhí)行完成后流會被關(guān)閉,無法再對流進(jìn)行操作。四.簡答題List、SetMap的區(qū)別。HashSet集合的去重原理。五.編程題按照下列要求編寫程序。Studentnameage屬性,提供有參構(gòu)造方法。StudenttoString()agename的值。StudenthashCode()equals()方法。hashCode()name和ageequals()nameagetruefalse。HashSetStudent對象,StudentnameageHashSet編寫一個程序,記錄本月的收入和支出。具體要求如下。MapString,Double。收入的來源包括,工資、投資理財;支出的來源包括房租、水電費和飲食購物。Map集合中,收入金額使用正數(shù)表示、一.填空題File類中 方法用于判斷File對象對應(yīng)的文件或目錄是否存在。 是字符輸入流的頂級父類。字節(jié)輸出流的頂級父類為 。使用緩沖流時只有當(dāng)緩沖區(qū)滿了或調(diào)用了flush()方法時才會將緩沖區(qū)中的數(shù)據(jù)真正寫入到底層輸出流。能夠?qū)⒒绢愋偷臄?shù)據(jù)和其數(shù)據(jù)類型同時寫入流中的IO流類是 。二.判斷題Filedelete()方法可以()FileOutputStream()ReadertransferTo()方法,可以直接將文件中的內(nèi)容傳輸?shù)侥繕?biāo)文件()Serializable()()三.選擇題。A、使用字節(jié)緩沖流可以提高讀取和寫入操作的效率。B、使用字節(jié)緩沖流讀寫文件時,可以一次性讀取多個字節(jié)的數(shù)據(jù)。C、使用字節(jié)緩沖流可以減少對磁盤IO的頻繁訪問。D、字節(jié)緩沖流只能用于處理文本數(shù)據(jù)。publicclassHello{publicstaticvoidmain(String[]args)throwsIOException{FileOutputStreamfos=newFileOutputStream("D:\\demo.txt");fos.write("abc");publicclassHello{publicstaticvoidmain(String[]args)throwsIOException{FileOutputStreamfos=newFileOutputStream("D:\\demo.txt");fos.write("abc");fos.close();}}。A、編譯出錯。B、在D盤創(chuàng)建文件demo.txt,但文件內(nèi)容是空的。C、在D盤創(chuàng)建文件demo.txt,并寫入數(shù)據(jù)abc。D、在D盤已有的文件demo.txt中追加寫入abc。leerea(。A、0B、-1C、1D、nullpublicclassDemo{publicstaticvoidmain(String[]args)throwsException{publicclassDemo{publicstaticvoidmain(String[]args)throwsException{}} FileOutputStreamfos=newFileOutputStream("aa.txt",true);fos.write("fos.write("IT教育".getBytes());fos.close();假設(shè)項目根目錄下有aa.txt,文本內(nèi)容為“傳智播客.黑馬程序員”,請問執(zhí)行上面面程序執(zhí)行后aa.txt里面的內(nèi)容是()。A、傳智播客.黑馬程序員改變中國IT教育B、改變中國IT教育C、傳智播客.黑馬程序員D、亂碼e。A、File類用于封裝一個路徑,該路徑可以指向一個文件或一個目錄。BFiledelete()方法刪除文件或目錄時,如果當(dāng)前目錄下存在文件,必須先刪除文件,再刪除目錄。C、File類的list()方法用于遍歷某個指定目錄下的一級子目錄和文件的名稱。DFilegetPath()File對象所對應(yīng)文件的絕對路徑。四.簡答題簡述字節(jié)流和字符流的區(qū)別。簡述緩沖流提高數(shù)據(jù)讀寫效率的原理。五.編程題編寫一個程序?qū)崿F(xiàn)文件的復(fù)制功能,具體要求如下。從控制臺獲取輸入的文件目錄,將該目錄(包含子目錄)下后綴名為.java的文件D:/javajava文件個數(shù)。CommonsIO框架編寫一個備忘錄,具體要求如下:顯示備忘錄條目。按照條目的順序?qū)?biāo)題和內(nèi)容顯示出來。一.填空題1.一臺計算機(jī)中可以同時運(yùn)行多個程序,每個運(yùn)行中的程序都是一個 。2.Java中所有的線程對象必須是 類或其子類的實例。3.在Thread類中的 方法用于啟動新線程。4.當(dāng)多個線程使用同一個共享資源時,可以將處理 的代碼放在同步代碼塊中。5.使用同步機(jī)制保障線程同步的方式包括同步代碼塊、同步方法、 。二.判斷題1.一個進(jìn)程中的多個線程可以并行執(zhí)行不同任務(wù)。()2.使用synchronized關(guān)鍵字修飾的代碼塊,被稱作同步代碼塊。()3.操作系統(tǒng)中的每一個進(jìn)程中都至少存在一個線程。()4.線程池是一個可以復(fù)用線程的技術(shù),其中的線程可以反復(fù)使用,無需反復(fù)創(chuàng)建線程而消耗過多資源。()5.在多線程程序中,并發(fā)修改共享資源可能會造成線程安全問題。()三.選擇題1.關(guān)于進(jìn)程和線程的描述錯誤的是( )。A、線程是程序的實例,是操作系統(tǒng)動態(tài)執(zhí)行的基本單元B、線程是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位,它被包含在進(jìn)程之中C、計算機(jī)中一個單核的CPU同一時刻只能處理一個進(jìn)程D、一個進(jìn)程中至少存在一個線程2.下列有關(guān)線程的創(chuàng)建方式說法錯誤的是( )。A、通過繼承Thread類與實現(xiàn)Runnable接口都可以創(chuàng)建線程BRunnableThreadJava的單繼承帶來的局限性C、可以調(diào)用線程對象的run()方法啟動線程D、如果創(chuàng)建線程對象時沒有指定線程的名字,那么會自動為線程分配名稱3.下列選項中對應(yīng)Thread的方法描述錯誤的是()。A、setName(Stringname)方法將參數(shù)name設(shè)置為當(dāng)前線程的名稱B、run()方法開啟當(dāng)前線程C、sleep(longmillis)方法使當(dāng)前正在執(zhí)行的線程休眠millis毫秒D、currentThread()方法返回對當(dāng)前正在執(zhí)行的線程對象的引用4.下列選項中關(guān)于線程同步的描述錯誤的是( )。A、sychronized關(guān)鍵字可以修飾方法B、如果使用多個線程同時操作同一個共享資源時,很容易“偶然”出現(xiàn)線程安全問題C、使用synchronized關(guān)鍵字修飾的代碼塊中,這個代碼塊被稱作同步代碼塊D、對于實例同步方法,默認(rèn)使用類對象作為鎖對象5.下列選項中對應(yīng)線程池說法錯誤的是( )。A、線程池可以設(shè)置在程序啟動時創(chuàng)建指定數(shù)量的線程,并設(shè)置為空閑狀態(tài)B、線程執(zhí)行完后會自動銷毀,線程池會根據(jù)銷毀的線程數(shù)量重新創(chuàng)建線程C、Executor接口是線程池的頂級接口D、線程池支持的最大線程數(shù)可以大于線程池的核心線程數(shù)量四.簡答題請簡述三種創(chuàng)建線程的方式和實現(xiàn)的步驟。請簡述線程生命周期中的六種基本狀態(tài)。五.編程題1.編寫程序?qū)崿F(xiàn)電影票售賣,具體需求如下。10032.編寫程序計算“龜兔賽跑”的結(jié)果,龜兔賽跑的起點到終點的距離為800米,烏龜?shù)乃俣葹?米/1000毫秒,兔子的速度為1.2米/1000毫秒,等兔子跑到第600米時選擇休息12000毫秒,請編寫多線程程序計算龜兔賽跑的結(jié)果。一.填空題1.在計算機(jī)網(wǎng)絡(luò)中,計算機(jī)進(jìn)行連接和通信的規(guī)則被稱為 。2.TCP/IP參考模型劃分的層次分別是 層、傳輸層、網(wǎng)際互聯(lián)層和網(wǎng)絡(luò)接入層。3.在TCP/IP協(xié)議中 可以唯一標(biāo)識網(wǎng)絡(luò)中的通信實體。4.通過使用不同的 ,不同的應(yīng)用程序可以在同一個網(wǎng)絡(luò)接口上進(jìn)行通信。在JDK中提供了兩個用于實現(xiàn)TCP程序的類一個是 類用于表示服務(wù)器端;一個是Socket類,用于表示客戶端。二.判斷題1.DatagramSocket類中提供了accept()方法用于接收數(shù)據(jù)報包。()2.同一臺機(jī)器上兩個程序可以同時使用同一個端口。()3.TCP協(xié)議是面向連接的通信協(xié)議。()4.發(fā)送端的DatagramPacket對象不需要指定數(shù)據(jù)的目標(biāo)IP地址和端口號。()5.DatagramPacketUDP通信中發(fā)送或者接收的數(shù)據(jù)。()三.選擇題1.下列關(guān)于Socket類的描述中,錯誤的是( )。A、Socket類中定義的getInputStream()方法用于返回Socket的輸入流對象。B、Socket類中定義的getOutputStream()方法用于返回Socket的輸出流對象。C、Socket類中定義的getLocalAddress()方法用于獲取Socket對象綁定的本地IP地址。D、Socket類的主要作用是接收客戶端的連接請求,它提供了多個構(gòu)造方法用于創(chuàng)建服務(wù)器端對象。2.下列ServerSocket類的方法中,用于等待客戶端的連接的是()。A、accept()B、getOutputStream()C、getInetAddress()D、bind()3.下列關(guān)于UDP協(xié)議特點的描述中,錯誤的是()。A、在UDP協(xié)議中,數(shù)據(jù)的發(fā)送端和接收端不建立邏輯連接。B、UDP協(xié)議消耗資源小,通信效率高,通常都會用于音頻、視頻和普通數(shù)據(jù)的傳輸。CUDPUDP協(xié)議。D、在UDP協(xié)議連接中,必須要明確客戶端與服務(wù)器端。4.下列選項中,用于封裝UDP通信中的數(shù)據(jù)的是()。A、SocketB、DatagramSocketC、DatagramPacketD、ServerSocket5.下面關(guān)于IP地址的描述中,錯誤的是()。A、IP地址可以唯一標(biāo)識一臺計算機(jī)B、IP地址目前的兩個常用版本分別是IPv4和IPv6C、通常會將IP地址寫成十進(jìn)制形式,每個字節(jié)用一個0~255的十進(jìn)制數(shù)字表示D、60是一個合格的IP地址四.簡答題TCP/IP參考模型中劃分的層次,以及每層的作用。UDPTCP的特點。五.編程題1.TCPIP及連接時間記錄在log.txtIP的客戶端上一次連接服務(wù)端的時間等信息返回給客戶IP2.編寫TCP通信程序,實現(xiàn)將客戶端中將文件傳輸?shù)椒?wù)端,其中客戶端的文件可以通過在控制臺中輸入文件路徑獲取。一.填空題1. JDBC驅(qū)動的類。2.DriverManager類的getConnection()方法會返回一個 對象。3.Connection接口中的 方法用于關(guān)閉與數(shù)據(jù)庫的連接并釋放資源。4.PreparedStatement是Statement的子接口,用于執(zhí)行 的SQL語句。5.ResultSetHandler接口的實現(xiàn)類中, 將結(jié)果集中第一條記錄封裝到一個指定的JavaBean中。二.判斷題1.Connection對象可以獲取執(zhí)行SQL的對象和管理事務(wù)。()2.PreparedStatement接口用于執(zhí)行靜態(tài)的SQL語句,并返回一個結(jié)果對象。()3.PreparedStatementsetterSQL語句參數(shù)的類型。()4.Statementexecute()SQLSQL語句后可能會返回多個結(jié)果。()5last()()三.選擇題1.下列選項中,用于將參數(shù)化的SQL語句發(fā)送到數(shù)據(jù)庫的方法是()。A、setInt(intparameterIndex,intx)B、prepareStatement(Stringsql)C、registerDriver(Driverdriver)D、createStatement()2ResultSet中游標(biāo)指向的描述正確的是()。A、ResultSet對象初始化時,游標(biāo)在表格的第一行B、ResultSet對象初始化時,游標(biāo)在表格的第一行之前C、ResultSet對象初始化時,游標(biāo)在表格的最后一行之前D、ResultSet對象初始化時,游標(biāo)在表格的最后一行3.下列選項中,可以執(zhí)行預(yù)編譯的SQL語句的對象是()。A、Statement對象B、Connection對象C、PreparedStatement對象D、DriverManager對象4.下列選項中,關(guān)于ResultSetHandler接口的實現(xiàn)類的作用描述錯誤的是()。A、ArrayHandler將結(jié)果集中的第一條記錄封裝到一個Object[]數(shù)組中B、ArrayListHandler將結(jié)果集中的每一條記錄都封裝到一個Object[]數(shù)組中C、BeanListHandler將結(jié)果集中第一條記錄封裝到指定的JavaBean中D、ColumnListHandler將結(jié)果集中指定的列的字段值,封裝到一個List集合中5.下面關(guān)于MySQL數(shù)據(jù)庫連接的URL拼寫格式正確的是()。A、jdbc:mysql://hostname:port/databaseB、jdbc:mysql:@hostname:port/databaseC、jdbc/mysql:@hostname:port?databaseD、jdbc/mysql://hostname:port?database四.簡答題JDBCAPIJDBC程序的步驟。ResultSetHandler5個實現(xiàn)類,以及對應(yīng)的作用。五.編程題SQL語句如下。ebook的數(shù)據(jù)庫CREATEDATABASEIFNOTEXISTSebookCHARACTERSETutf8mb4;book的表CREATETABLE`book` (`id`int(0)COMMENT'圖書編號',`name`varchar(32) COMMENT圖書名稱',`press`varchar(32) COMMENT圖書出版社',`author`varchar(32) COMMENT圖書作者',`pagination`int(0) COMMENT圖書頁數(shù)',`price`decimal(82) COMMENT圖書價格',`uploadtime`date COMMENT圖書上架時間',);book表中插入數(shù)據(jù)INSERTINTO`book`VALUES1Java基礎(chǔ)案例教程(2版)人民郵電出版社','傳智播客',291,59.00,'2022-7-11');INSERTINTO`book`VALUES2JavaWeb程序設(shè)計任務(wù)教程人民郵電出版社','傳智播客',419,56.00,'2022-7-14');INSERTINTO`book`VALUES3Java基礎(chǔ)入門(2版)清華大學(xué)出版社','傳智播客',413,59.00,'2022-7-15');請使用DbUtils編寫程序,實現(xiàn)對圖書管理系統(tǒng)中圖書信息的增刪查改,具體需求如下。編寫代碼實現(xiàn)查詢圖書表中所有圖書信息,并輸出在控制臺。1條圖書信息到圖書表中,圖書上架時間為當(dāng)前系統(tǒng)時間。Java2版69.0。1的圖書信息。一.填空題一.填空題1.Class類中的 用于獲取本類及其父類繼承而來的所有公共屬性。2. Java代碼中的類、變量、方法等元素的訪問修飾符。3.Java的java.lang.reflect包中提供了 類用于表示成員變量。4.JVM會將字節(jié)碼文件中的字節(jié)碼加載到內(nèi)存中為每個類生成一個對應(yīng)的 對象。5.Constructor類中的 方法用于獲取該構(gòu)造方法的名稱。二.判斷題1.Class類本身沒有定義任何構(gòu)造方法。()2.Method類中的getModifiers()方法返回的是一個整數(shù)。()3.Java的反射機(jī)制允許在程序運(yùn)行期間動態(tài)地獲取程序的信息。()4.Java中的修飾符在運(yùn)行時會被轉(zhuǎn)換為對應(yīng)的整數(shù)常量。()5.Class類中的getMethods()可以獲取本類及其父類繼承而來的所有公共方法。()三.選擇題1.下列Constructor類的方法中,可以獲取表示構(gòu)造方法參數(shù)類型的Class數(shù)組的是()。A、getName()B、getModifiers()C、getParameterCount()D、getParameterTypes()2.下列Method類的方法中,可以獲取方法參數(shù)列表中的所有參數(shù)類型的是()。A、getName()B、getParameterTypes()C、getReturnType()D、getModifiers()3.下列選項中,對于Method類的方法說明錯誤的是()。A、getDeclaringClass()用于獲取聲明該方法的類對象B、invoke(Objectobj,Object...args)用于在指定對象obj上執(zhí)行當(dāng)前方法C、getExceptionTypes()方法用于捕捉方法執(zhí)行時拋出的異常類型D、setAccessible(booleanflag)方法用于設(shè)置Method對象的可訪問標(biāo)志4.下列選項中,對于Field類的方法說明錯誤的是()。A、getType()用于獲取成員變量的類型B、getModifiers()用于獲取成員變量的值C、getDeclaringClass()用于獲取成員變量所屬的類D、set(Objectobj,Objectvalue)用于將對象obj中的成員變量的值設(shè)置為value5.下列選項中,對于反射機(jī)制說法錯誤的是()。A、反射機(jī)制可以動態(tài)地獲取類中的屬性和方法B、反射機(jī)制可以動態(tài)地構(gòu)造類的對象C、反射機(jī)制是發(fā)生在程序的編譯期D、使用反射機(jī)制創(chuàng)建類的實例時,實際是通過調(diào)用類的構(gòu)造方法來創(chuàng)建對象的四.簡答題Class3種方式。五.編程題1.在Java中,圖形用戶界面簡稱 。2.Swing中常用的頂級容器有兩個,分別是 和JDialog。3.JButton是一種 組件,它允許用戶通過單擊進(jìn)行交互。4. Window、JFrameJDialog的默認(rèn)布局管理器。5.在Swing事件處理的過程中,主要涉及三類對象: 、事件對象、監(jiān)聽器。二.判斷題1.Container類是Component的子類,它同時具有容器和組件的特征。()2.非模態(tài)對話框是指用戶需要等到處理完對話框后才能繼續(xù)與其他窗口交互。()3.JScrollPane是一個帶有滾動條的面板,它只能添加一個組件。()4.JLabel不能獲取鍵盤焦點。()5.JComboBox下拉框組件不可以輸入內(nèi)容作為當(dāng)前項顯示。()三.選擇題1.下列選項中,不屬于Swing中的組件的是()。A、JButton B、JDialog C、JLabel D、Frame2.下列選項中,不屬于事件處理機(jī)制中的對象的是()。A、事件對象 、事件源C、布局管理器 D、監(jiān)聽器3.按鈕、文本框、菜單項被單擊時觸發(fā)時,觸發(fā)的事件處理器方法是()。A、addChangeListener() B、addActionListener()C、stateChanged() D、actionPerformed()4.下列選項中,對于布局管理器的描述錯誤的是()。A5個區(qū)域:North、South、East、CenterB、流式布局管理器是將組件按照從左到右的規(guī)則排列的布局管理器C、邊界布局管理器是JPanel的默認(rèn)布局管理器D、GridLayout使用縱橫線將容器分成行和列大小相等的網(wǎng)格5.下列選項中,對于Swing基本組件描述錯誤的是()。A、JLabel是一種標(biāo)簽組件,用于顯示文字或者圖形圖標(biāo)B、JTextField表示單行文本框,它允許用戶輸入單行的文本信息C、JCheckBox組件被稱為復(fù)選框組件,它有選中和未選中兩種狀態(tài)D、JRadioButton組件本身具備只能選中一個單選按鈕的功能四.簡答題3Swing提供了的布局管理器,及其特點。請簡述事件驅(qū)動的編程模型中的三個組成部分。五.編程題根據(jù)GUI的相關(guān)知識,實現(xiàn)一個簡易的計算器,計算器窗口如下圖所示。壓aculor - 口 X, ICtear廠二二二二二二二二二二二二二二二三《基礎(chǔ)案例教程(3版)》單元習(xí)題答案第1章 Java開發(fā)入門一、填空題javacmain.class.class二、判斷題1.對 2.錯 3.錯 4.對 5.對三、選擇題1.C 2.D 3.A 4.C 5.A四、簡答題Path環(huán)境變量的作用。PathWindowsPath環(huán)境變量中定義的路徑中搜索對應(yīng)的可執(zhí)行文件。Java的運(yùn)行機(jī)制。Java程序的運(yùn)行機(jī)制主要分為以下幾個步驟。Java源代碼。javacJava虛擬機(jī)可執(zhí)行的.class文件。javaJava虛擬機(jī)運(yùn)行.class文件。Java虛擬機(jī)首先將編譯好的字節(jié)碼文件加載到內(nèi)JavaJava類進(jìn)行解釋執(zhí)行,輸出運(yùn)行結(jié)果。第2章 Java編程基礎(chǔ)一、填空題1. import2. 8booleancontinue動態(tài)初始化二、判斷題1.錯 2.錯 3.錯 4.錯 5.對三、選擇題1.C 2.A 3.B 4.C 5.A四、簡答題Java中所有的基本數(shù)據(jù)類型,并描述每個數(shù)據(jù)類型在內(nèi)存中所占的空間大小。Java中共有8種基本數(shù)據(jù)類型,具體如下。byte1個字節(jié)的內(nèi)存空間。short2個字節(jié)的內(nèi)存空間。int4個字節(jié)的內(nèi)存空間。long8個字節(jié)的內(nèi)存空間。float4個字節(jié)的內(nèi)存空間。double8個字節(jié)的內(nèi)存空間。char2個字節(jié)的內(nèi)存空間。boolean1truefalse。whiledo…while循環(huán)語句在執(zhí)行時的區(qū)別。while循環(huán)語句在執(zhí)行循環(huán)體之前會判斷循環(huán)條件是否滿足,如果不滿足條件,則循環(huán)體將不會被執(zhí)do…while語句,會先執(zhí)行循環(huán)體,然后再判斷循條件是否滿足。因此,do…while循環(huán)的循環(huán)體至while循環(huán)的循環(huán)體可能不會被執(zhí)行。第3章 面向?qū)ο螅ㄉ希┮?、填空題封裝newprivate構(gòu)造方法類名二、判斷題1.對 2.錯 3.錯 4.錯 5.對三、選擇題1.D 2.B 3.D 4.B 5.C四、簡答題簡述實現(xiàn)封裝需要進(jìn)行的操作。實現(xiàn)類的封裝需要進(jìn)行以下幾個操作。privategettersetter方法,供其他類簡潔地訪問和設(shè)置屬性的值。Java中的訪問控制修飾符有哪些,以及對應(yīng)的訪問權(quán)限。Java中的訪問控制修飾符有四個,分別為public、protected和default、private,它們對應(yīng)的訪問權(quán)限如下publicpublic修飾的類、方法和變量,包內(nèi)和包外的任何類均可以訪問。protectedprotected修飾的類、方法和變量,包內(nèi)的任何類以及包外繼承了該類的子類可以訪問。default:默認(rèn)的。默認(rèn)訪問權(quán)限的類、方法和變量,可以被包內(nèi)的其他類訪問,而包外的任何類都不能對其訪問。privateprivate第4章 面向?qū)ο螅ㄏ拢┮?、填空題extendssuperimplemets多態(tài)instanceof二、判斷題1.對 2.錯 3.錯 4.對 5.對三、選擇題1.B 2.A 3.C 4.C 5.C四、簡答題Java中繼承的概念以及使用繼承的好處。publicprotected成員,而且子類還可以添加自己的成員變量和成員方法,從而擴(kuò)展父類的功能。繼承的好處有以下幾點:提高編程效率:通過繼承,子類可以快速構(gòu)建一個基于現(xiàn)有代碼的新代碼。簡述抽象類與接口的相同之處與不同之處。抽象類與接口的相同之處如下:JDK9以后,都可以包含具體的方法實現(xiàn)。都不能進(jìn)行實例化對象,需要子類或?qū)崿F(xiàn)類實例化對象。抽象類與接口的不同之處如下:abstractinterface。publicstaticfinal抽象類和接口中都可以定義抽象方法,也可以定義普通方法,但是接口中的普通方法需要使用static或default修飾,而抽象類中的普通方法無此限制。抽象類中可以有構(gòu)造方法,接口中不能有構(gòu)造方法。一個類只能繼承一個抽象類,但是可以實現(xiàn)多個接口。抽象類只能被普通類或抽象類繼承,而接口既可以被接口繼承,也能被普通類或抽象類實現(xiàn)。抽象類不支持多重繼承;而接口可以繼承多個父類。第5章 JavaAPI一、填空題ObjectStringBufferIntegerendIndex-1sqrt()二、判斷題1.錯 2.錯 3.對 4.對 5.對三、選擇題1.C 2.A 3.B 4.D 5.A四、簡答題String類、StringBufferStringBuilder類的區(qū)別。String類是不可變的,一旦創(chuàng)建了String類的字符串對象,就無法修改其值,每當(dāng)對字符串進(jìn)行修改操作時,都會創(chuàng)建一個新的String對象。String類在多線程環(huán)境下是安全的。StringBuffer類和StringBuilder類是可變的,可以對字符串進(jìn)行修改操作,而不需要創(chuàng)建新的對象。二者的區(qū)別在于,StringBuffer類是線程安全的,StringBuilder類是非線程安全的??傊琒tring類適用于不需要修改字符串的情況,StringBufferStringBuilder類適用于需要頻繁修StringBufferStringBuilder類可以提高性能。Java中基本數(shù)據(jù)類型裝箱和拆箱。intIntegerIntegerint類xxxValue()方法實現(xiàn),也可以通過自動拆箱的特性實現(xiàn)。第6章 集合與泛型一、填空題Collection數(shù)組hasNext()hashCode()entrySet()二、判斷題1.錯 2.錯 3.錯 4.對 5.對三、選擇題1.C 2.C 3.A 4.C 5.B四、簡答題List、SetMap的區(qū)別。ListList集合可以根據(jù)元素索引位置進(jìn)行增刪改查操作。SetSetMap集合提供了根據(jù)鍵快速查找值的能力。HashSet的去重原理。HashSetadd()hashCode()方法查equals()方法,判斷該對象與該位置上的元素是否相true,HashSetfalse,HashSet會使用鏈表或紅黑樹存儲出現(xiàn)哈希沖突的元素。第7章 IO一、填空題exists()ReaderOutputStreamclose()DataOutputStream二、判斷題1.錯 2.對 3.對 4.對 5.錯三、選擇題1.D 2.C 3.B 4.A 5.D四、簡答題簡述字節(jié)流和字符流的區(qū)別。字節(jié)流和字符流是Java輸入輸出的兩種方式,它們的主要區(qū)別在于處理的數(shù)據(jù)單位和使用的場景不同,下面分類描述字節(jié)流和字符流的區(qū)別。數(shù)據(jù)單位。字節(jié)流以字節(jié)為單位進(jìn)行輸入和輸出。字符流以字符為單位進(jìn)行輸入和輸出。(簡述緩沖流提高數(shù)據(jù)讀寫效率的原理flush()close()第8章 多線程一、填空題進(jìn)程Threadstart()共享資源Lock鎖二、判斷題1.對 2.對 3.對 4.對 5.對三、選擇題1.A 2.C 3.B 4.D 5.B四、簡答題請簡述三種創(chuàng)建線程的方式和實現(xiàn)的步驟JavaThreadThreadCallable和FutureTask實現(xiàn),具體如下。Thread類創(chuàng)建線程通過繼承Thread類創(chuàng)建多線程的步驟如下。(1)定義Thread類的子類,并重寫Thread類的run()方法,在run()方法中定義線程要執(zhí)行的任務(wù)。(2)創(chuàng)建Thread子類的實例,即創(chuàng)建線程對象。(3)調(diào)用線程對象的start()方法啟動該線程。Runnable接口創(chuàng)建線程通過實現(xiàn)Runnable接口創(chuàng)建多線程的步驟如下。(1)定義Runnable接口的實現(xiàn)類,并重寫該接口的run()方法。(2)創(chuàng)建Runnable實現(xiàn)類的實例,并將實例作為Thread的任務(wù)對象參數(shù)創(chuàng)建Thread對象。(3)調(diào)用線程對象的start()方法啟動線程。CallableFutureTask創(chuàng)建線程基于Callable和FutureTask創(chuàng)建線程的步驟如下。(1)創(chuàng)建Callable接口的實現(xiàn)類,并重寫call()方法。(2)創(chuàng)建包裝了Callable對象的FutureTask類。(3)使用FutureTask對象作為Thread對象的target參數(shù)創(chuàng)建并啟動線程。請簡述線程生命周期中的六種基本狀態(tài)。6(NEW)(RUNNABLE)狀態(tài)、阻塞(BLOCKED)(WAITING)(TIMEDWAITING)狀態(tài)和被終止(TERMINATED)狀態(tài),具體說明如下。(1)新建狀態(tài)創(chuàng)建一個線程對象,但還沒調(diào)用start()方法啟動線程,該線程就處于新建狀態(tài)。(2)可運(yùn)行狀態(tài)當(dāng)線程對象調(diào)用了start()方法后就進(jìn)入可運(yùn)行狀態(tài),也稱為就緒狀態(tài)。(3)阻塞狀態(tài)當(dāng)一個線程試圖獲取一個對象鎖,而該對象鎖被其他的線程持有時,則該線程進(jìn)入阻塞狀態(tài)。(4)無限等待狀態(tài)一個線程在等待另一個線程執(zhí)行一個喚醒動作時,該線程進(jìn)入無限等待狀態(tài)。(5)計時等待狀態(tài)計時等待狀態(tài)是指線程在調(diào)用

溫馨提示

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

最新文檔

評論

0/150

提交評論