JAVA期末復(fù)習(xí)資料2_第1頁
JAVA期末復(fù)習(xí)資料2_第2頁
JAVA期末復(fù)習(xí)資料2_第3頁
JAVA期末復(fù)習(xí)資料2_第4頁
JAVA期末復(fù)習(xí)資料2_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Java 期末復(fù)習(xí)題一、判斷題1、在Java程序中發(fā)生異常時(shí),JVM會(huì)找到每個(gè)符合條件的catch都執(zhí)行一次。( F )2、在Java 程序中異常分為運(yùn)行時(shí)異常和非運(yùn)行時(shí)異常, 非運(yùn)行異常必須進(jìn)行處理( F )3、異常處理的try-catch 塊后必須有finally 塊。 ( F )4、異常處理器的排列次序影響處理異常的方法。(T )5、用catch(Exception exception) 語句可以捕獲所有異常和錯(cuò)誤。( F )6、啟動(dòng)多線程必須調(diào)用start() 方法 , 如果調(diào)用 run() 方法則沒有啟動(dòng)新的線程( T)7、 run() 方法是運(yùn)行線程的主體, 若 run 方法運(yùn)行結(jié)

2、束,線程就消亡了。( T)8、線程可以用yield() 方法使同優(yōu)先級(jí)的線程運(yùn)行。 ( T )9、一個(gè)線程創(chuàng)建并啟動(dòng)后,它將執(zhí)行自己的run() 方法。 ( T )10、線程可以用 yield() 方法使較低優(yōu)先級(jí)的線程運(yùn)行。( F )11、 每個(gè) Java 線程的優(yōu)先級(jí)都設(shè)置在常數(shù)112 之間, 默認(rèn)的優(yōu)先級(jí)設(shè)置為常數(shù)6。( F )12、 JFrame, JPanel , JApplet 和 JButton 四種組件都屬于容器組件 .( F )13、 BorderLayout 是面板( JPanel )的缺省布局管理器。 ( F )14、 BorderLayout 最多可以使用 5 個(gè)組件。

3、 ( T )15、一個(gè)面板(JPanel)不能被加入另一個(gè)面板(JPanel)中。(F )16、菜單需要一個(gè)JMenuBar對(duì)象,以使他們能被添加到 JFrame ( T )17、標(biāo)簽( JLabel )可以在屏幕上顯示一個(gè)字符或一幅圖片。( T )18、 BorderLayout 是容器 javax.swing.JFrame 默認(rèn)的布局管理器。( T )19、 JTextArea 可以用來接收多行文本的輸入。( T )20、在 Java 坐標(biāo)系統(tǒng)中,X 值從左向右增加。(T )21、 BorderLayout 布局管理器把組件排列在北、南、東、西和中間區(qū)域。 ( T )22、邊界布局管理器(

4、 BorderLayout )把容器分成5個(gè)區(qū)域,每個(gè)區(qū)域只能放一個(gè)組件。 ( T )23、一個(gè)組件可以注冊(cè)一個(gè)或多個(gè)事件監(jiān)聽器。 ( T )24、 、通過類 .URL 中的成員方法可獲得網(wǎng)絡(luò)資源定位器的相關(guān)信息( T )25、 Socket 的實(shí)例對(duì)象調(diào)用其成員方法getInputStream 來獲得該 Socket 所對(duì)應(yīng)的輸入流。( T )26、 數(shù)據(jù)報(bào)( DatagramPacket ) 傳輸是不可靠的, 無法保證包按順序到達(dá)。 ( T )27、當(dāng) Socket 連接上面的傳輸結(jié)束后,服務(wù)器執(zhí)行Socket 的 shutdown 方法來關(guān)閉連接。( F )二、選擇題1、下說法中錯(cuò)誤的一

5、項(xiàng)是(A )。A、線程一旦創(chuàng)建,則立即自動(dòng)進(jìn)行B、線程創(chuàng)建后需要調(diào)用start()方法,將線程置于可運(yùn)行狀態(tài)C、調(diào)用線程的start()方法后,線程也不一定能立即執(zhí)行D線程處于可運(yùn)行狀態(tài),意味著它可以被調(diào)度2、下列說法中不正確的一項(xiàng)是( A ) 。A、 Thread 類中沒有義run() 方法B 、可通過繼承Thread 類來創(chuàng)建線程C、 Runnable 接口中定義了 run() 方法 D 、可以通過實(shí)現(xiàn)Runnable 接口來創(chuàng)建線程3、下列說法中,正確的一項(xiàng)是( C )A線程可以不運(yùn)行于程序中B 、一個(gè)程序中只能有一個(gè)線程C、線程必須運(yùn)行于程序中D 、線程本身就是程序4、線程開始運(yùn)行時(shí),

6、是從下列哪一個(gè)方法開始執(zhí)行的 ( B )A、 main() B 、 start() C 、 run() D 、 init()5、 Runnable 接口中定義的方法是( C )A、 start() B 、 init() C 、 run() D 、 Runnable()6、下列說法中不正確的一項(xiàng)是( B ) 。A多線程并發(fā)執(zhí)行時(shí),各個(gè)線程中語句的執(zhí)行順序是確定的B、多線程并發(fā)執(zhí)行時(shí),線程之間的相對(duì)執(zhí)行順序是確定的C、線程執(zhí)行順序的不確定性會(huì)導(dǎo)致執(zhí)行結(jié)果的不確定性D線程執(zhí)行順序的不確定性會(huì)破壞共享數(shù)據(jù)的一致性7、下列是繼承Thread 類后得到的子類,請(qǐng)選擇正確的一項(xiàng)。 ( C )A、 class

7、 A4 extends Thread Bvoid run( )/class A4 implements Threadpublic void run()/C、 class A4 extends Threadpublic void run( )/D、 class A4 extends Threadrun( )/8、下面那一個(gè)函數(shù)是線程的入口函數(shù)?( B )A) private void run()B) public void run()C) public void start()D) public void begin()9、下列方法中可以用來創(chuàng)建一個(gè)新線程的是_C_。A)實(shí)現(xiàn) java.lang

8、.Runnable 接口并重寫 start() 方法B)實(shí)現(xiàn) java.lang.Runnable 接口并重寫 run()方法C)繼承java.lang.Thread類并重寫run()方法D)實(shí)現(xiàn) java.lang.Thread類并實(shí)現(xiàn) start() 方法10 、 Thread 類 中 能 運(yùn) 行 線 程 體 的 方 法 是( D )A ) start()B ) resume()C )init()D) run()11、在 java 程序中,下列關(guān)于線程的說法錯(cuò)誤的是( D )A、線程啟動(dòng)調(diào)用start方法B、線程的主體是run方法C、線程運(yùn)彳T中調(diào)用sleep方法可以進(jìn)入阻塞狀態(tài)D在jav

9、a中,優(yōu)先級(jí)的數(shù)值為1的線程可以搶占優(yōu)先級(jí)為5的線程的資源12、若編譯和運(yùn)行下列代碼,出現(xiàn)的結(jié)果將是 ( A ) public class MyAdd extends Threadstatic int total = 10;int n;public MyAdd(int n) this.n=n; public void run() trysleep(n);total=total+n;System.out.println(total);catch(Exception e)System.out.println(“ EXCEPTION” ! );public static void main(Stri

10、ng args)MyAdd t1 = new MyAdd(3000);MyAdd t2 = new MyAdd(1000);t1.start();t2.start();A、 1010, 4010 B、 3010, 4010C、 1010, 3010 D、 3010, 101013、若編譯和運(yùn)行下列代碼,出現(xiàn)的結(jié)果將是 D_public class MyThread implements Runnable String myString = "Yes "public void run() this.myString = "No "public static

11、 void main(String args)MyThread t = new MyThread();new Thread(t).start();for (int i=0; i < 10; i+)System.out.print(t.myString);A、打印 yes yes yes yes yes yesyes yes yes yesB 、打印 no no no no no no no no nonoC、打印 yes no yes no yes no yes no yes no D、打印結(jié)果無法確定14、下面關(guān)于Java 中線程的說法不正確的是( C )?A) 調(diào)用 join() 方

12、法可能拋出異常InterruptedException 。B)sleep() 方法是 Thread 類的靜態(tài)方法。C)調(diào)用Thread類的sleep()方法可終止一個(gè)線程對(duì)象。D)線程啟動(dòng)后執(zhí)行的代碼放在其run方法中。15、下列關(guān)于try 和 catch 子句的描述中,錯(cuò)誤的一項(xiàng)是( A ) 。A、不同的catch代碼段是不同的作用域,但是可以訪問相互之間定義的局部變 量B、如果沒有異常產(chǎn)生,則所有的catch代碼段都被略過不執(zhí)行C、 try 代碼段后跟有一個(gè)或多個(gè)catch 代碼段D異??偸怯删嚯x產(chǎn)生異常最近的匹配catch代碼段處理16、下列關(guān)于拋出異常的描述中,錯(cuò)誤的一項(xiàng)是( C )

13、。A、異??梢杂蓆ry代碼段中的語句拋出B、異常可以從被try代碼段中調(diào)用的方法中拋出C、異常的拋出并不影響代碼段的執(zhí)行順序D異常還可能產(chǎn)生于數(shù)組下標(biāo)越界及Java虛擬機(jī)內(nèi)部的錯(cuò)誤等17、下列描述中,正確的一項(xiàng)是( D ) 。A、異常機(jī)制可以用于流程控制B、 finally 代碼段在發(fā)生異常時(shí)不一定必須執(zhí)行C、在catch代碼段中可以使用return語句來返回到異常拋出點(diǎn)D、 可以把catch 到的異常對(duì)象再次拋出, 使上層 try catch 結(jié)構(gòu)繼續(xù)處理該異常事件18、下列描述中,哪一項(xiàng)不屬于finally 語句應(yīng)該執(zhí)行的功能 ( C )A、釋放資源B、關(guān)閉文件 C、分配資源D關(guān)閉數(shù)據(jù)庫1

14、9、 如果一個(gè)程序段中有多個(gè)catch , 則程序會(huì)按如下哪種情況執(zhí)行? ( C )A、找到合適的異常類型后繼續(xù)執(zhí)行后面的catchB、找到每個(gè)符合條件的catch都執(zhí)行一次C、找到合適的異常類型后就不再執(zhí)行后面的catchD對(duì)每個(gè)catch都執(zhí)行一次20、對(duì)于異常處理語句try catch ,下面那句話不正確?( A )A、一個(gè)符合條件的catch的處理語句中沒有break語句,則執(zhí)行后會(huì)繼續(xù)執(zhí)行 后續(xù) catchB、不管有沒有捕獲異常,finally 部分都會(huì)被執(zhí)行C、找到合適的異常類型后就不再執(zhí)行后面的catchD應(yīng)該先處理子異常類,再處理父異常類。21、下列哪種操作不會(huì)拋出異常? (

15、B )A) 浮點(diǎn)數(shù)除 0B) 浮點(diǎn)數(shù)乘 0C) 打開不存在的文件D) 用負(fù)數(shù)索引訪問數(shù)組22、 程序員將可能發(fā)生異常的代碼放在( ) 塊中, 后面緊跟著一個(gè)或多個(gè)( )塊。 ( B )A、 catch 、 tryC、 try 、 exception23 、 異 常 包含8、 try 、 catchD、 exception 、 try 下列那些內(nèi)容A)程序中的語法錯(cuò)誤B) 程序C)程序執(zhí)行過程中遇到的事先沒有預(yù)料到的情況?(編C譯錯(cuò)D)程序事先定義好的可能出現(xiàn)的意外情況 24、有下列程序 class TestExceptionclass MyException extends Exception

16、 public void testMethod() throws MyException public void test()testMethod();在 public void test() 后加上哪一句可以使編譯不出錯(cuò)。A、 throw MyExceptionB、 throws MyExceptionC、 throw new MyException()D、 throws new MyException()25、設(shè)有以下程序段 class TestExceptionpublic static void main(String args)tryreturn;finallySystem.out.

17、println("finally");程序編譯并執(zhí)行,其結(jié)果將是 ( B )A、程序執(zhí)行,但沒有任何輸出B、程序輸出finallyC、程序編譯時(shí)出錯(cuò),提示缺少 catchD程序編譯時(shí)出錯(cuò),提示finally語句無法訪問到。26、 用文件字節(jié)輸出流對(duì)文件進(jìn)行寫操作時(shí), 需要先創(chuàng)建文件輸出流對(duì)象, 文件輸出數(shù)據(jù)流的構(gòu)造方法是public FileOutputStream(String name,Booleanappend) throws FileNotFoundException ,當(dāng)參數(shù) append 的值為 true 時(shí),表示( B )A、創(chuàng)建一個(gè)新文件B、在原文件的尾部添

18、加數(shù)據(jù)C、覆蓋原文件的內(nèi)容D在原文件的指定位置添加數(shù)據(jù)27、編譯和運(yùn)行下面的應(yīng)用程序,并在命令行界面輸入12345,則回車后屏幕輸出的結(jié)果是( A )。public class A public static void main(String args) throws IOException BufferedReader buf=new BufferedReader(new InputStreamReader(System.in);String str=buf.readLine();int x=Integer.parseInt(str);System.out.println(x%1000);A

19、) 345B)5 C) 123 D) 1234528、下列說法中,錯(cuò)誤的一項(xiàng)是( B ) 。A、 Java 系統(tǒng)的標(biāo)準(zhǔn)輸入對(duì)象是 System.in B 、打開一個(gè)文件時(shí)不可能產(chǎn)生IOExceptionC、 使用File 對(duì)象可以判斷一個(gè)文件是否存在D 、 使用 File 對(duì)象可以判斷一個(gè)目錄是否存在29、下面的程序段的功能是( A ) 。File file1=new File("e:xxxyyy");file1.mkdir();生成目錄: e:xxxyyy以上說法都不對(duì)A)在當(dāng)前目錄下生成子目錄:xxxyyy B)C)在當(dāng)前目錄下生成文件xxx.yyy D)30、下列敘述

20、中,錯(cuò)誤的是( B )A) File 類能夠存儲(chǔ)文件B) File 類能夠讀寫文件C) File 類能夠建立文件D) File 類能夠獲取文件目錄信息31、下列哪個(gè)是JAVA程序和數(shù)據(jù)庫連接的一種機(jī)制(B )A) URL B) JDBC C) SOCKET D) RMI32、關(guān)于JDBC©問數(shù)據(jù)庫的說法錯(cuò)誤的是:(D )A) 建立數(shù)據(jù)庫連接時(shí),必須加載驅(qū)動(dòng)程序,可采用 Class.forName() 實(shí)現(xiàn)B) 用于建立與某個(gè)數(shù)據(jù)源的連接可采用 DriverManager 類的 getConnection 方法C) 建立數(shù)據(jù)庫連接時(shí),必須要進(jìn)行異常處理D) JDBC 中查詢語句的執(zhí)行方

21、法必須采用 Statement 類實(shí)現(xiàn)33、定義Java.Applet 程序時(shí),必須有的 import 語句是 ( C )。A、 import java.awt.event ;B 、 import java.util. *C、 import java.applet.Applet ; D 、 import java.1ang.*34、以下哪個(gè)方法不屬于Applet 小程序生命周期中的方法?( B )A、 initB、 mainC、 destroyD、 stop35、下列說法中,錯(cuò)誤的一項(xiàng)是( C ) 。A、使用FlowLayout在容器中放置組件的策略是:從上到下、從左到右B、使用FlowLay

22、out進(jìn)行布局管理時(shí),組件的大小采用的是其最佳尺寸C、使用FlowLayout進(jìn)行布局管理時(shí),不能調(diào)節(jié)組件之間的距離D、 用 FlowLayout 管理的組件隨容器大小變化的變化規(guī)律是: 組件大小不變, 組件之間的相對(duì)位置改變36、在類中若要處理ActionEvent 事件,則該類需要實(shí)現(xiàn)的接口是( A )。A、 ActionListener B 、 Runnable C 、 Serializable D 、 Event37、下列說法中,錯(cuò)誤的一項(xiàng)是( C ) 。A內(nèi)部類是被定義于另一個(gè)類中的類B、使用內(nèi)部類實(shí)現(xiàn)監(jiān)聽器,在編程時(shí)比較容易實(shí)現(xiàn)C、內(nèi)部類對(duì)象可以訪問外部類的成員方法和變量,包括私有

23、成員D由于內(nèi)部類定義于另一個(gè)類,因此不適用于AWT勺事件處理機(jī)制38、選擇正確的語句填入下列程序的橫線處。(C )import javax.swing.* ;public class ex28public static void main(Stringargs)JFrame f=new JFrame( “ ex28” ) ;JMenuBar mb=new JMenuBar( ) ;JMenu ml=new JMenu(“ menul” ) ;JMenu m2=new JMenu“( menu2” ) ;mb.add(m1);mb.add(m2) ;f.setSize(300 , 100) ;f

24、.setVisible(true) ;A、 setMenuBar(mB);B、 mb.setMenuBar( ) ;C、 f.setMenuBar(mB) ;D、 mb.setMenuBar(f) ;39、下列說法哪個(gè)是不正確的?( B )A、一個(gè)組件可以注冊(cè)多個(gè)事件監(jiān)聽器B、一個(gè)監(jiān)聽器只能監(jiān)聽一個(gè)組件C、一個(gè)組件可以引發(fā)多種事件D 一個(gè)監(jiān)聽器可以監(jiān)聽處理多種事件40、下面說法錯(cuò)誤的是( D )A)單擊CheckBox (復(fù)選框)產(chǎn)生ItemEvent事件,并由ItemListener 處理。B) 處理 JButton 和 JTextField 事件監(jiān)聽器接口都是ActionListener

25、。C) 一個(gè)面板(JPanel) 可以加入到另一個(gè)面板(JPanel) 中。D)在BorderLayout中,添加到NORTH:的兩個(gè)按鈕將并排顯示。41、下面說法錯(cuò)誤的是:( C )A)單擊JCheckBox (復(fù)選框)產(chǎn)生ItemEvent事件,并由ItemListener 處理。B) 處理 JButton 和 JTextField 事件監(jiān)聽器接口都是ActionListener 。C) 處理鼠標(biāo)事件的事件監(jiān)聽器接口只有MouseListener 。D) 在 JTextField 和 JPasswordField 中輸入數(shù)據(jù)后按Enter 鍵會(huì)激發(fā)一個(gè)事件。42、下列說法哪個(gè)是不正確的?(

26、 B )A) 一個(gè)面板(Jpanel)能被加入到另一個(gè)面板(Jpanel)中B) 一個(gè)監(jiān)聽器只能監(jiān)聽一個(gè)組件C)Frame, Panel , Applet 都屬于容器組件。D)Button 和 TextField 都可用 ActionListener 接口實(shí)現(xiàn)事件處理 43、常規(guī)菜單是由()、()和菜單項(xiàng)組成。( D )A.JMenuItem 、 JCheckBoxMenuItem B.JButton 、 JRadioButtonC.JPopupMenu、 JMenuItem D.JMenuBar、 JMenu44、下列哪一個(gè)方法是自動(dòng)調(diào)整窗口的大小( C )A、 setSize()B、 se

27、tDefaultClose()C、 pack()D、 setVisible()45、 下列哪個(gè)布局管理器使容器中各個(gè)構(gòu)件呈網(wǎng)格布局, 并且平均占據(jù)容器的空 間? ( A )GridLayoutCardLayoutBorderLayoutFlowLayout46、在AWT&建中用復(fù)選框組構(gòu)件CheckboxGroup實(shí)現(xiàn)單選框的功能,但在Swing 中,JAVA語言直接提供了一個(gè)單選框,它是(C )A) JButton B) JboBox C) JRadioButton D) JCheckBox47、下列敘述中,不符合JAVA語言特點(diǎn)的選項(xiàng)是(C )A、可移植性和跨平臺(tái)的特點(diǎn)B、多線程的

28、并發(fā)機(jī)制C、編譯器將JAVA源程序轉(zhuǎn)換成機(jī)器碼D Applet是JAVA的特殊應(yīng)用程序,它嵌入到 HTM葉,隨主頁發(fā)布到互聯(lián)網(wǎng)上48、 JPanel 和 Applet 的 默 認(rèn) 布 局 管 理 器 是 ( B ) A) CardLayoutB) FlowLayoutC) BorderLayoutD) GridLayout49 下列語句錯(cuò)誤的是: ( D )A、ServerSocket svrsoc = new ServerSocket(8000);B、 URL urlBase=new URL( “ http:/. ” ) ;C、 File inFile = new File( “C:/ te

29、st.txt ” );D、 BufferedReader br = new BufferedReader( “C:/ test.txt ” );三、程序填空題1、通過TCPB議方式,定義一個(gè)服務(wù)器端,端口為 5000,要求可以同時(shí)連接多 個(gè)客戶端,并且每個(gè)客戶端在休眠10秒鐘之后退出連接;將下面的程序補(bǔ)齊: .*;importjava.io.*;public class ServerExample implements(1)Runnableprivate Socket m_socket;private int m_id;public(2) ServerExample(Socket s, int

30、 id) m_socket= s;m_id= id;5public void(3)run()try (4)Thread . sleep(10000);System.out.println("Socket"+m_id+" is closing."); m_socket.close(); catch (Exception e) public static void main(String args)int n= 1;(5)ServerSocket server= null;tryserver= new(6) ServerSocket (5000);Syste

31、m.out.println( "Server start.");catch (IOException e)while (true)trySystem.out.println("Wait NO. "+n+” connection.");(7) Socket s= server.accept();ServerExample t=new ServerExample(s, n+);(8) Thread th =new Thread(t); _(9) th .start();catch (IOException e) / End of loop: whi

32、le / End of method: main2、下面是一個(gè)支持多個(gè)客戶端交互的程序,請(qǐng)根據(jù)注釋要求補(bǔ)充、完成代碼: importjava.io.*;(1) _.*;_ _ / 加載網(wǎng)絡(luò) API 包public class ServerThread extends ThreadSocket socket=null;int clientnum;publicServerThread(Socket socket,int num) this.socket=socket;clientnum=num+1;public void run() tryString line;Inputstream in=(2

33、) socket .getInputStream(); 得至U socket 的輸入BufferedReader is=new BufferedReader(new InputStreamReader(in);PrintWriter os=new PrintWriter(socket.getOutputStream();/由系統(tǒng)標(biāo)準(zhǔn)輸入設(shè)備構(gòu)造BufferedReader對(duì)象BufferedReader sin=newBufferedReader( newInputStreamReader(System.in);System.out.println("Client-"+ c

34、lientnum +":" +is.readLine();line=sin.readLine();while(!line.equals("bye") os.println(line);/ 刷新輸出流,使Client馬上收到該字符串(4) os.flush();System.out.println("Server:"+line);System.out.println("Client-"+ clientnum +":" +is.readLine();line=sin.readLine();os.cl

35、ose();/ 關(guān)閉 Socket 輸出流is.close(); / 關(guān)閉 Socket 輸入流socket.close(); / 關(guān)閉 Socket 對(duì)象catch(Exception e)System.out.println("Error:"+e.toString();3、定義類ThdTest,其父類為Thread類;并在主方法中創(chuàng)建一個(gè) ThdTest的對(duì) 象,同時(shí)啟動(dòng)該線程對(duì)象。/聲明類ThdTest,其父類為Thread類(1) class ThdTest extends Thread public void run()for(int i = 0; i <

36、10; i+)(2) System.out.println( Thread.currentThread().getName()+i );/ 輸出而線程的名字和itry(3) Thread.sleep(100); / 讓當(dāng)前線程休眠 100mscatch(Exception e) e.printStackTrace ();public class Demopublic static void main(String口 args)(4) ThdTest t=new ThdTest ; /創(chuàng)建一個(gè) ThdTest 的對(duì)象(5) t.start(); 啟動(dòng)線程對(duì)象、使其進(jìn)入就緒狀態(tài)4、下面的程序利用線

37、程輸出從a到z的26個(gè)字母,每隔一秒鐘輸出一個(gè)字母, 程序不完整,請(qǐng)閱讀程序代碼,根據(jù)注釋要求在劃線處補(bǔ)充完成代碼。public class Test4 implements RunnablecharcharArray二new char26;public Test4()for(int i = 0; i<charArray.length; i+)charArrayi=(char)(i+'a');public void run()tryfor (int i = 0; i <charArray.length; i+)(1) Thread.sleep(1000); / 休眠

38、一秒鐘System.out.print(charArrayi);catch (InterruptedException e)e.printStackTrace();public static void main(String args口)Thread t = _(2) new Thread(new Test4(); / 實(shí)例化線程對(duì)象.(3) t.start(); / 啟動(dòng)線程5、定義類ThdDemo實(shí)現(xiàn)接口 Runnable;并在主方法中創(chuàng)建一個(gè) ThdDemO勺對(duì) 象td,然后使用對(duì)象td創(chuàng)建一個(gè)線程對(duì)象,同時(shí)啟動(dòng)該線程對(duì)象。/聲明類ThdDemo實(shí)現(xiàn)接口 Runnable(1)class

39、 TheDemo implements Runnable_ class ThdDemo implements Runnablepublic void run()for(int i = 0; i < 10; i+)/ 輸出當(dāng)前線程的名字和i的值System.out.println(Thread.currentThread().getName() +“:” + i);try(2) Thread.sleep(100); / 讓當(dāng)前線程休眠 100mscatch(Exception e) e.printStackTrace ();public class Demopublic static vo

40、id main(String口 args)_(3) ThdDemo td=new ThdDemo(); / 創(chuàng)建一個(gè) ThdDemo勺對(duì)象 td_(4)_ Thread t=new Thread(td) ;/ 使用 td 創(chuàng)建線程對(duì)象(5) t.start();啟動(dòng)線程對(duì)象、使其進(jìn)入就緒狀態(tài)6、制作一個(gè)Applet小應(yīng)用程序,設(shè)置其布局為 BorderLayout ,定義一個(gè)按鈕 和多行文本框并分別放到 “North”區(qū)域和“Center”區(qū)域。創(chuàng)建網(wǎng)頁文件運(yùn)行 這個(gè)Applet程序。importjava.applet.*;importjavax.swing.*;(1) class Apple

41、tDemo extends Applet implements ActionListener / 聲明 AppletDemo類,其父類為 Applet ,并實(shí)現(xiàn)接口 ActionListenerJbutton btn;JTextArea txt;public void init()(2) setLayout(new BorderLayout(); /設(shè)置其布局為BorderLayoutbtn = new JButton("Show Msg');txt = new JTextArea(3, 20);add(btn, " North ");/ 把按鈕 btn

42、放至U “ North , 區(qū)域,txt放到“Center”區(qū)域(3) add(txt, " Center");_(4)_btn.addActionListener(this);_/ 給按鈕注冊(cè)監(jiān)聽器public void actionPerformed(ActionEvent e)txt.append(btn.getText();網(wǎng)頁文件為:<BODY><applet code="_ AppletDemo.class "width="300" height="200"></apple

43、t></BODY> 7、編寫程序?qū)崿F(xiàn)窗口,包含一個(gè)標(biāo)簽、一個(gè)文本框和一個(gè)按鈕,當(dāng)用戶單擊按 鈕時(shí),程序把文本框中的內(nèi)容提制到標(biāo)簽中。(使用 AWT(1) import java.awt.*; / 引入相關(guān)包publicMyFrame publicMyFrame()Frame fr = new Frame();/設(shè)置窗體的布局為FlowLayout(2)fr.addLayout(new FlowLayout();Label lbl = new Label( "Init info " );TextField txt = new TextField(30);Bu

44、tton btn = new Button(“Sure” );fr.add(lbl);fr.add(txt);fr.add(btn);/給按鈕注冊(cè)監(jiān)聽器(3 )Btn.addActionListner(new Monitor。);/使用窗體可見,并設(shè)置大小(3)fr.setSize(400,400);fr.setVisible(true);/定義內(nèi)部類監(jiān)聽ActionEvent事件(4) class Monitor implements ActionEvent public void actionPerformed(ActionEvent e)lbl.setText(txt.getText()

45、;)-public static void main(String口 args) newMyFrame(); 8、設(shè)計(jì)程序?qū)崿F(xiàn)帶菜單的窗口,包含F(xiàn)ile ” 和 “Edit ” 二個(gè)菜單,在 “File下又包含“New” , “ Open” ,“ Exit ”三個(gè)菜單項(xiàng),選擇“ Exit ”項(xiàng)時(shí)退出應(yīng)用程序。(提示:涉及到的類有MenuBar, Menu, MenuItem )importjava.awt.*;importjava.awt.event.*;public class MenuTest/ 定義各菜單項(xiàng)MenuItem newItem = new MenuItem( “ New” )

46、;MenuItem openItem = new MenuItem(“Open” );MenuItem exitItem = new MenuItem( “Exit ” );public MenuTest()Frame fr = new Frame();/ 定義菜單Menu fileMenu = new Menu(“ File ” );Menu editMenu = new Menu(“ Edit ” );/ 往 File 菜單中添加菜單項(xiàng)newItem, openItem, exitItem(1)_fileMenu.add(newItem);fileMenu.add(openItem);fi

47、leMenu.add(exitItem);/ 定義菜單條,并添加菜單fileMenu, editMenu(2) MenuBar bar=new MenuBar();bar.add(fileMenu);bar.add(editMenu);/ 給窗口添加菜單條fr.setMenuBar(bar);/ 給 exitItem 注冊(cè)事件(3)_ exitItem.addActionListener(newMenuHandler();_/ 設(shè)置窗口的可見性fr.setSize(200,200);/fr.setVisible(true);/ 定義內(nèi)部類處理菜單事件class MenuHandler impl

48、ements ActionListenerpublic void actionPerformed(ActionEvent e)/ 如果用戶點(diǎn)擊了 exit 菜單項(xiàng)則退出程序(4)if(e.getSource()=exitItem)_System.exit(0);/ 定義 main 方法(5)public static void main(String args)new MenuTest();_ 9、寫程序?qū)崿F(xiàn)包括一個(gè)復(fù)選框的窗體,并處理用戶選取事件。 importjava.awt.*;importjava.awt.event.*;(1) _class MyCheck extends _Fram

49、e/ 類 聲 明 , 類 名 為MyCheck繼承自Frame類 / 類體public MyCheck()(2)_ Panel p=new Panel();p.setLayout(new FlowLayout(); / 創(chuàng)建 Panel 的一個(gè)實(shí)例,并設(shè)置其布局為 FlowLayoutCheckbox cbx = new Checkbox( “ isPassed ” );(3)_ _p.add(cbx);_cbx.addActionListener(new Mt();_/ 向面板中加入組件cbx ,并為組件注冊(cè)監(jiān)聽器add(p);(4) setVisible(true);_setSize(40

50、0,400);_ / 把窗體設(shè)為可見,并設(shè)置大小public static void main(String args)newMyCheck();/ 定義內(nèi)部類實(shí)現(xiàn)監(jiān)聽,相應(yīng)的監(jiān)聽接口為 ItemListener(5) _class Mt implements ItemListener_ /內(nèi)部類的聲明public void itemStateChanged(ItemEvent e)System.out.println(e);10、制作一個(gè)窗體,包括一個(gè)帶圖標(biāo)的按鈕( JButton 類對(duì)象),并設(shè)置邊框,當(dāng)用戶點(diǎn)擊按鈕時(shí),彈出一個(gè)確認(rèn)對(duì)話框。importjavax.swing.*;impor

51、tjavax.swing.border.*;importjava.awt.*;class ViewDemoJFrame fr;public ViewDemo()/ 用 ImageIcon 類包裝一張圖片 (java.gif) ,/ 該圖片在當(dāng)前目錄的 img 子目錄下(1) ImageIcon ii=new ImageIcon(“java.gif ” );/ 創(chuàng)建一個(gè)帶有圖標(biāo)的按鈕btn(2)JButton btn =new JButton(ii);/* 使用線形邊框類的構(gòu)造方法LineBorder(Color c, int n) ,*創(chuàng)建一個(gè)邊框?qū)ο骲d,其中c為邊框的顏色,n為邊框的粗細(xì)。

52、*/(3)LineBorder bd =new LineBorder(new Color(0,0,0), 5);btn.setBorder(bd);/給按鈕注冊(cè)監(jiān)聽事件(4)_ btn.addActionListener(new BtnHandler();fr = new JFrame();Container c = fr.getContentPane();c.add(btn);fr.setSize(300,300);fr.setVisible(true);class BtnHandler implements ActionListenerpublic void actionPerformed

53、(ActionEvent e)String msg = "Are you sure?"/* 使用 JOptionPane 類的靜態(tài)方法 showConfirmDialog(Frame f, String s),其中f為對(duì)話框所屬的窗體,s為對(duì)話框顯示的信息,彈出一個(gè)確認(rèn)對(duì)話框 */(5) _JOptionPane.showConfirmDialog(new Frame(),msg);_11、以下程序的功能為:讀入從鍵盤輸入的一用字符存放于一個(gè)字節(jié)數(shù)組中,然 后將該數(shù)組寫入到當(dāng)前目錄下的文件out.txt中。Importjava.io.*;_ public class byt

54、eArraytofilepublic static void main(String口 args)trybyte buffer二new _byte 128;FileOutputStream fos= new FileOutputStream(_ out.txt 二);System.in.read(buffer);fos.whte(buffer,0,buffer.length);fos.close();catch ( _IO Exception e )一四、程序閱讀題1、掌握數(shù)據(jù)庫的操作import java.sql.*;class Test_JDBC public static void main(String口 srg) String driverName =".microsoft.sqlserver.jdbc.SQLServerDriver"String dbURL = "jdbc:sqlserver:/localhost:1433;DatabaseName=DATA_TEST"String userName = "sa"String userPwd = &quo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論