2019年Java高級程序設(shè)計期末復習題_第1頁
2019年Java高級程序設(shè)計期末復習題_第2頁
2019年Java高級程序設(shè)計期末復習題_第3頁
2019年Java高級程序設(shè)計期末復習題_第4頁
2019年Java高級程序設(shè)計期末復習題_第5頁
免費預(yù)覽已結(jié)束,剩余9頁可下載查看

下載本文檔

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

文檔簡介

1、Java高級程序設(shè)計第二學期期末復習題一、判斷題1 .是對象可以序列化接口。(力2 .包是Java語言用來構(gòu)建圖形用戶界面(GUI)的類庫。(/3 .容器是Component的子類,一個容器可以容納多個構(gòu)件,并使他們成為一個整體。4 .Java中所有的類都是通過直接或間接地繼承類得到的。(5 .Java的圖形用戶界面的最基本的組成部分就是構(gòu)件(Component)。(/6 .在Swing中用重量級的構(gòu)件替代了AWT中的輕量級的構(gòu)件。(X)7 .與AWT構(gòu)件不同,Swing構(gòu)件不能直接添加到頂層容器中, 它必須添加到一個與Swing頂層容器相關(guān)聯(lián)的內(nèi)容面板(contentPane上。(/8 .類

2、Panel默認的布局管理器是GridLayout。(X)9 .每個Java小應(yīng)用程序必須定義為Jframe類的子類。(力10.使用UDP通信時,用DatagramPacket類把要發(fā)送的信息打包。(力11 .AWT組件稱為重型組件(.組件稱為輕型組件(才13容器類不是GUI組件(X)14.使用add方法可以在框架的內(nèi)容窗格中添加組件(M是最簡單的布局管理器(16.布局管理器GridLayout不是以網(wǎng)格(矩陣)的形式排列組件(X)17.布局管理器的屬性不可以動態(tài)的改變(X)18.每一時刻,一個容器只能有一個布局管理器(力19.要創(chuàng)建一個用戶界面,需要創(chuàng)建一個框架或applet來存放用戶界面組件

3、(V)類是所有用戶界面的父類(21. JFrame實例可以添加到容器中。(F)22. JCheckBox繼承了AbstractButton類的所有屬性。(T)23. JTextArea可以讓用戶輸入多行文字。(T)24. JSlider與JScrollbor類似,但是JSlider具有更多的屬性和更多是顯示形式。(T)類繼承了JTextComponent類,而JTextComponent類繼承JComponent類。(T)26.從應(yīng)用程序創(chuàng)建一個子窗口,不用先創(chuàng)建JFrame的一個子類。(F)27.在一個文本域中按下回車鍵就觸發(fā)了ActionEvent事件。(T)28.Java使用事件委托處理

4、模型來處理事件,源對象和監(jiān)聽對象可以是同一個對象。(T)29.JDBC是指Java程序與數(shù)據(jù)庫連接的一種機制。(T)30.可以給一個面板添加框架。(F)31 .File類提供實現(xiàn)文件讀寫的操作方法。(T)32.時一個讀取字符的類。(T)33.垂直文本位置指定文本相對于圖標的垂直位置。(T)34.不可以同時設(shè)置按鈕上的文本和圖標。(F)35.標簽是顯示一小段文字、一幅圖片或者二者皆有的區(qū)域。(T)36.組合框是包含項目的一個列表,用戶可以從中進行選則。(T)37.用read()方法讀取文件內(nèi)容時,返回-1表示文件結(jié)束。(F)38.PrintWriter類和Printstream類可以以文本方式輸

5、入基本類型數(shù)據(jù)值、字符串和對象。(F)39.代表優(yōu)先級的常數(shù)值越大優(yōu)先級越低(F)40.線程一旦被創(chuàng)建,則自動運行(F)二、單選題1、下列關(guān)于Java線程的說法那些是正確的(B)A、每一個Java線程可以看成由代碼、一個真實的CPU以及數(shù)據(jù)三部份組成。B、創(chuàng)建線程的兩種方法中,從Thread類中繼承的創(chuàng)建方式可以防止出現(xiàn)多父類問題。C、Thread類屬于程序包。D、以上說法無一正確。2、運行下列程序,會產(chǎn)生什么2果?(D)publicclassXextendsThreadimplementsRunablepublicvoidrun()thisisrun();)publicstaticvoidm

6、ain(Stringargs)Threadt=newThread(newX();();)A、第一行會產(chǎn)生編譯錯誤B、第六行會產(chǎn)生編譯錯誤C、第六行會產(chǎn)生運行錯誤D、程序會運行和啟動3、下列選項中,用于定義接口的關(guān)鍵字是(C)A、importB、implementsC、interfaceD、protected4,定義類頭時能使用的修飾符是(C)。A)privateB)staticC)abstractD)protected5、下面哪個方法不可以在任何時候被任何線程調(diào)用?(A)A、wait()B、sleep()C、yield()Dsynchronized(this)6 .下列關(guān)于線程優(yōu)先級的說法中,

7、正確的是(D)A)線程的優(yōu)先級是不能改變的B)線程的優(yōu)先級是在創(chuàng)建線程時設(shè)置的C)在創(chuàng)建線程后的任何時候都可以設(shè)置D)B和C7.線程生命周期中正確的狀態(tài)是(C)A)新建狀態(tài)、運行狀態(tài)和終止狀態(tài)B)新建狀態(tài)、運行狀態(tài)、阻塞狀態(tài)和終止狀態(tài)C)新建狀態(tài)、可運行狀態(tài)、運行狀態(tài)、阻塞狀態(tài)和終止狀態(tài)D)新建狀態(tài)、可運行狀態(tài)、運行狀態(tài)、恢復狀態(tài)和終止狀態(tài)類中能運行線程體的方法是(D)A)start()B)resume()C)init()D)run()9在程序讀入字符文件時,能夠以該文件作為直接參數(shù)的類是(A)10)包的File類是(D)A)字符流類C)對象流類11)下列描述中,正確的是(C)接口中定義了抽象

8、方法接口中定義了常量接口中沒有定義抽象方法, 也沒有定義常量接口中定義了成員方法12.java中用于創(chuàng)建文件對象的類是(A)A.FileB.ObjectC.ThreadD.Frame13.從鍵盤上輸入一個字符串創(chuàng)建文件對象,若要判斷該文件對象為目錄文件或數(shù)據(jù)文件,可使用下列哪個方法?(C)A.getPath()B.getName()()D.isAbsolute()14.下列哪個類不對直接創(chuàng)建對象?(A)A.InputStreamB.FileInputStreamC.BufferedInputStreamD.DataInputStream15.從鍵盤上輸入多個字符時,為了避免回車換行符的影響,需

9、要使用下列哪個流方法?(D)A.write()B.flush()C.close()D.skip()A)FileReaderC)FileInputStreamB)BufferedReaderD)ObjectInputStreamB)字節(jié)流類D)非流類A)在SerializableB)在SerializableC)在SerializableD)在Serializable16.以對象為單位把某個對象寫入文件,則需要使用什么方法?(B)A.writeInt()BwriteObject()C.write()17.下列哪個類的方法能夠直接把簡單數(shù)據(jù)類型寫入文件?(C)A.OutputstreamB.Buf

10、feredWriterC.ObjectOutputStream.18.若一個類對象能被整體寫入文件,則定義該類時必須實現(xiàn)下列哪個接口?(D)B.ActionListenerC.WindowsAdapterD.Serializable19.下列哪種類型的數(shù)據(jù)能以對象的形式寫入文件?(A)A.StringB.FrameC.DialogD.Button20.File類的方法中,用于列舉某目錄下的子目錄及文件的方法是(C)A.longlength()B.longlastModified()C.String口list()D.StringgetName()21 .能夠以字符串為單位寫入文件數(shù)據(jù)的流類是(C

11、)A.FileOutputStreamB.FileWriterC.BufferedWriterC.OutputStream22.能夠向文件輸入邏輯型數(shù)據(jù)的類是:(D)A.FileOutputStreamB.OutputStreamC.FileWriter23.在線程同步中,為了喚醒另一個等待的線程,使用下列方法(C)A.sleep()B.wait()Cnotify()D.join()24.為了得到當前正在運行的線程,可使用下列哪個方法?(B)A.getName()B.().B.sleep()D.run()25.以下(D)不屬于線程的狀態(tài)。A.就緒狀態(tài)Bo運行狀態(tài)Co掛起狀態(tài)Do獨占狀態(tài)26.當

12、線程被創(chuàng)建后,其所處的狀態(tài)是(D)A,阻塞狀態(tài)Bo運行狀態(tài)C、就緒狀態(tài)D、新建狀態(tài)27.當線程調(diào)用start()后,其所處狀態(tài)為(C)()A,阻塞狀態(tài)Bo運行狀態(tài)C、就緒狀態(tài)D、新建狀態(tài)28.()方法調(diào)用后,當?shù)却龝r間未到,該線程所處狀態(tài)為(A)A,阻塞狀態(tài)Bo運行狀態(tài)C、就緒狀態(tài)D、新建狀態(tài)29.新生狀態(tài)的線程其可能直接進入的狀態(tài)是(D)A,阻塞狀態(tài)B、運行狀態(tài)C、新建狀態(tài)D、結(jié)束狀態(tài)30.()方法調(diào)用后,當?shù)却龝r間已到,該線程所處狀態(tài)為(C)A,阻塞狀態(tài)Bo運行狀態(tài)C、就緒狀態(tài)D、新建狀態(tài)31 .當線程因異常而退出run()后,其所處狀態(tài)為(D)A,阻塞狀態(tài)Bo運行狀態(tài)C、就緒狀態(tài)D、結(jié)束

13、狀態(tài)32.wa()方法首先是哪個類的方法?(A)A.ObjectB.Thread.C.RunnableD.File33.如果我們想實現(xiàn)先把要寫入文件的數(shù)據(jù)先緩存到內(nèi)存中, 再把緩存中的數(shù)據(jù)寫入文件中”的功能時,則需要使用下列哪個類?(C)A.FileReaderB.OutputStreamC.FilterOutputStreamD.DataOutputStream34.用read()方法讀取文件內(nèi)容時,判斷文件結(jié)束的標記為(C)A.0B.1C-1D.無標記35.以下哪個方法只對使用了緩沖的流類起作用?(D)A.read()B.write()Cskip()D.flush()36.Java提供的類

14、InetAddress來進行有關(guān)Internet地址的操作.(D)A.SocketC.DatagramSocketDInetAddress37.InetAddress類中哪個方法可實現(xiàn)正向名稱解析?(B)A.isReachable()B.getHostAddress()C.getHosstName()()38.為了獲取遠程主機的文件內(nèi)容,當創(chuàng)建URL對象后,需要使用哪個方法獲取信息(C)()()()39.java程序中,使用TCP套接字編寫服務(wù)端程序的套接字類是(B)A.SocketB.ServerSocketC.DatagramSocket40.ServerSocket的監(jiān)聽方法accept

15、()的返回值類型是(C)A.voidB.ObjectC.SocketD.DatagramSocket41 .ServerSocket的getInetAddress()W返回值類型是(C)A.SocketBServerSocketD,.URL42.當使用客戶端套接字Socket創(chuàng)建對象時,需要指定(A)A.服務(wù)器主機名稱和端口B、服務(wù)器端口和文件C、服務(wù)器名稱和文件D.服務(wù)器地址和文件43.使用流式套接字編程時,為了向?qū)Ψ桨l(fā)送數(shù)據(jù),則需要使用哪個方法(C)A.getInetAddress()B.getLocalPort()()()44.使用UDP套接字通信時,常用哪個類把要發(fā)送的信息打包?A.S

16、tringB.DatagramSocketC.MulticastSocket45.使用UDP套接字通信時,哪個方法用于接收數(shù)據(jù)(B)A.read()B.receive()C.accept()D.Listen()46.若要取得數(shù)據(jù)包的中源地址,可使用下列哪個語句(A)?A.getAddress()B.getPort()C.getName()()47.要使用java程序訪問數(shù)據(jù)庫,則必須首先與數(shù)據(jù)庫建立連接,在建立連接前,應(yīng)加載數(shù)據(jù)庫驅(qū)動程序,該語句為(A)rs=(“,:).createStatement()D.Statementst=(“:).createStaement()48.要使用java

17、程序訪問數(shù)據(jù)庫,則必須首先與數(shù)據(jù)庫建立連接,該語句為(B)rs=(“,:).createStatement()D.Statementst=(“:).createStaement()49.java程序與數(shù)據(jù)庫連接后,需要查看某個表中的數(shù)據(jù),使用下列哪個語句?(A)A.executeQuery()()CexecuteEdit()()50.java程序與數(shù)據(jù)庫連接后,需要查看某個表中的數(shù)據(jù),使用下列哪個語句?(B)A.executeQuery()()CexecuteEdit()()51 .Swing與AWT的區(qū)別不包括(D)(D)是由純Java實現(xiàn)的輕量級構(gòu)件沒有本地代碼不依賴操作系統(tǒng)的支持支持圖形

18、用戶界面52.JAVA中提供了多種布局對象類。其中使用卡片式布局的是(D)53.每個使用Swing組件的程序必須至少有一個(B)A.按鈕B.頂層容器C.標簽D.菜單54.下列哪個選項是創(chuàng)建一個標識有關(guān)閉按鈕的語句?(C)b=newJtextField(關(guān)閉);b=newJTextArea(關(guān)閉)b=newJbutton(關(guān)閉);b=newJcheckbox(關(guān)閉);55.鼠標事件的監(jiān)聽器接口MouseListener能實現(xiàn)的事件不包括(D)A.按下B.釋放C.點擊D.拖動56.在Java中,而無需在程序中用import導入的包是(D)A.B.C.D.57.類Panel默認的布局管理器是(C)A

19、.GridLayoutB.BorderLayoutC.FlowLayoutD.CardLayout58.容器Frame缺省使用的布局編輯策略是(B)。A.FlowLayoutB.BorderLayoutC.GridLayoutD.CardLayout59.容器類的父類是(B)。A.B.C.D.編寫Java圖形界面程序時,若需要對發(fā)生的事件做出響應(yīng)和處理,一般需要在程序的開頭寫上(D)語句。A.import.*;B.import.*;C.import.*;D.import;三、填空題1 .Stdout作為PrintStream的實例,來實現(xiàn)stdout,它代表的是屏幕2.Stdin作為Input

20、Stream類的一個實例來實現(xiàn)stdin,它代表的是鍵盤,你可以使用其中兩個成員函數(shù),read()讓你從輸入中讀一個字節(jié),skip(longn)讓你在輸入中跳過n個字節(jié)。3.Java中的IO流分為兩種,一種是字節(jié)流.另一種是字符流,分別由四個抽象類來表示(每種流包括輸入和輸出兩種所以一共四個):InputStream.OutputStream.Reader.Writer。它們通過重載read()和write()方法定義了6個讀寫操作方法。4.File類不是一彳固檄型的I/O類,在類庫中它是唯一的non-streamH別,既不能U取文件內(nèi)容,也不能修改文件內(nèi)容,主要作用是收集槽案(或目金景)的相

21、信息,例如:建立文件對象、修改文件名、設(shè)置文件屬性、測試文件屬性5.目錄是一個包含其他文件和路徑列表的File類。當你創(chuàng)建一個File對象且它是目錄時,isDirectory()方法返回ture。這種情況下,可以調(diào)用該對象的Stringlist()方法來提取該目錄內(nèi)部其他文件和目錄的列表6.所有的輸出過濾流都是抽象類一的子類。(FilterOutputStream)7、字符輸入流BufferedReader使用了_技術(shù)。(PrintStream)8、InputStreamReader負責將InputStream轉(zhuǎn)化成Reader,而OutputStreamWriter則將OutputStrea

22、m轉(zhuǎn)化成Writer。實際上是通過byte和String來關(guān)聯(lián)。9、設(shè)為當前目錄下的一個文本文件,則以字符方式向該文件寫數(shù)據(jù)時,需要建立的輸出流通道為:newFileWriter();10.隨機訪問文件類是RandomAccessFile,它實現(xiàn)了與DataInputStream,DataOutputStream類同樣實現(xiàn)的接口DataInput,DataOutput.。11.實現(xiàn)多線程的兩種方式是:1、繼承Thread類:2、實現(xiàn)Runnable接口。12、取得當前線程的語句是:();13.主線程的名稱是main,默認創(chuàng)建的第一個子線程的名稱是thread-014.可以調(diào)用Thread類的方

23、法getPriority()和setPriority()來存取線程的優(yōu)先級,線程的優(yōu)先級界于1(MINPRIORITY)和10(MAXPRIORITY)之間,缺省是5(NORMPRIORITY)。15.(1)當多個線程同時運行時,會產(chǎn)生數(shù)據(jù)錯誤及其它沖突問題。Java語言提供了線程同步控制機制,一是鎖定共享資源,使得在任何時刻只有一個線程能夠訪問共享資源,以保持共享資源的完整和一致,二是讓互相通信的線程運行,以保證通信的正確性。(2)線程之間的通信有兩種方法:一是把共享變量和方法封閉在一個類中,二是利用系統(tǒng)方法和控制線程通信.實現(xiàn)對共享資源互拆訪問的方法是在方法聲明中加入synchronize

24、d關(guān)鍵字來聲明一個訪問共享資源的方法.或者通過synchronized關(guān)鍵字來聲明synchronized塊。16、守護線程一般被用于在后臺為其它線程提供服務(wù)。調(diào)用方法isDaemon()來判斷一個線程是否是守護線程,也可以調(diào)用方法setDaemon()將一個線程設(shè)為守護線程。17、InetAddress是用于封裝IP地址和DNS的一個類。18、TCP/IP套接字是最可靠的雙向流協(xié)議。等待客戶端的服務(wù)器使用ServerSocket類,而要連接到服務(wù)器的客戶端則使用Socket類。19、包中提供了一個類MulticastSocket、允許數(shù)據(jù)報以廣播方式發(fā)送到該端口的所有客20.在TCP/IP協(xié)

25、議的傳輸層除了TCP協(xié)議之外還有一個UDP協(xié)議。幾個標準的應(yīng)用層協(xié)議HTTP,FTP,SMTP-使用的都是TCP協(xié)議。UDP協(xié)議主要用于需要很強的實時交互性的場合,如網(wǎng)絡(luò)游戲,視頻會議等21、當我們得到一個URL對象后,就可以通過它讀取指定的WWWe源。這時我們將使用URL的方法openStream()、其定義為:InputStreamopenStream();22、URL的構(gòu)造方法都聲明拋棄非運行時異常MalformedURLException,因此生成URL對象時,我們必須要對這一例外進行處理,通常是用try-catch語句進行捕獲。23、一個Statement對象,可以執(zhí)行多個sql語句

26、以后,批量更新。這多個語句可以是delete、update、insert等或兼有24、Java數(shù)據(jù)庫操作基本流程:取得數(shù)據(jù)庫連接、執(zhí)行sql語句、處理執(zhí)行結(jié)果、釋放數(shù)據(jù)庫連接。25、下列程序的功能是在監(jiān)控臺上每隔一秒鐘顯示一個字符串“Hello”,能夠填寫在程序中下劃線位置,使程序完整并能正確運行的語句是publicclassTestimplementsRunnablepublicstaticvoidmain(Stringargs兒Testt=newTest();Threadtt=newThread(t);();publicvoidrun()for(;)try(1000);catch(Inte

27、rruptedExceptione)Hello);26、下列程序的功能是把整型數(shù)組myArray中的各元素存入文件中,請將程序補充完整。Import.*;PublicclassWriteFilePublicstaticvoidmain(String口A)intmyArray=10,20,30,40;TryFileOutputStreamf=newFileOutputStream();DataOutputStreamDos=newDataOutputStream(f);For(inti=0;i;i+)(myArrayi);();catch(IOExceptionioe)27、面程序運行后,可以使

28、用上下鍵移動文本框組件。請將程序補充完整。publicclassYidongextendsFrameimplementskeyListenerTextFieldb1;intx,y;Yidong()setLayout(newFlowLayout();bl=newTextField(走);(b1);_(this);setSize(200,120);publicvoidkeyPressed(KeyEvente)x=().x;y=().y;if()=y=y-3;if(y=100)y=50;(x,y);publicvoidkeyTyped(KeyEvente)publicvoidkeyReleased(

29、KeyEvente)publicstaticvoidmain(Stringargs口)Yidonga=newYidong();(true);28、下面的程序段完成服務(wù)器在端口4331監(jiān)聽客戶端的連接,如果有連接,則在服務(wù)端顯示客戶端的IP地址,請將程序補充完整。publicclassServerpublicstaticvoidmain(Stringargs)ServerSocketserver=null;Server_threadthread;Socketyou=null;while(true)tryserver=newServerSocket(4331);catch(IOExceptione

30、1)try等待客戶呼叫);you=0J客戶的地址:+;catch(lOExceptione)四、編程題1、利用文件輸入輸出流編寫一個實現(xiàn)文件拷貝的程序,源文件名和目標文件名通過命令行參數(shù)傳入。答:import.*;classCopyFilepublicstaticvoidmain(String口args)Stringfile1,file2;intch=0;tryfile1=args0;file2=args1;FileInputStreamfis=newFileInputStream(file1);FileOutputStreamfos=newFileOutputStream(file2);wh

31、ile(ch=()!=-1)(ch);();();catch(FileNotFoundExceptione)源文件:未找到!);catch(ArrayIndexOutOfBoundsExceptione)缺少運行參數(shù)!);(-1);catch(IOExceptione)、編寫程序?qū)崿F(xiàn)窗口,包含一個標簽、一個文本框和一個按鈕,當用戶單擊按鈕時,程序把文本框中的內(nèi)容復制到標簽中。import.*;import.*;publicclassMyFrameextendsJFrameimplementsActionListenerJLabellbl;JTextFieldtxt;JButtonbtn;publicMyFrame()Containerc=getContentPane();publicclassInFilepublicstaticvoi

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論