版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1、(2、理3、4、5、6、程7、8、9、10、11、 6。12、13、14、15、16、17、18、19、20、21、22、1、A、B、C、Java 期末復(fù)習(xí)題一、判斷題在Java程序中發(fā)生異常時(shí),JVM會(huì)找到每個(gè)符合條件的catch都執(zhí)行一次。F )在 Java 程序中異常分為運(yùn)行時(shí)異常和非運(yùn)行時(shí)異常 , 非運(yùn)行異常必須進(jìn)行處F )異常處理的 try-catch 塊后必須有 finally 塊。 異常處理器的排列次序影響處理異常的方法。( T ) 用 catch(Exception exception) 語句可以捕獲所有異常和錯(cuò)誤。( F ) 啟動(dòng)多線程必須調(diào)用 start() 方法, 如
2、果調(diào)用 run() 方法則沒有啟動(dòng)新的線 ( T )run()方法是運(yùn)行線程的主體,若run方法運(yùn)行結(jié)束,線程就消亡了。( T )線程可以用 yield() 方法使同優(yōu)先級(jí)的線程運(yùn)行。 ( T ) 一個(gè)線程創(chuàng)建并啟動(dòng)后,它將執(zhí)行自己的 run() 方法。( T )線程可以用 yield() 方法使較低優(yōu)先級(jí)的線程運(yùn)行。( F ) 每個(gè) Java 線程的優(yōu)先級(jí)都設(shè)置在常數(shù) 112之間,默認(rèn)的優(yōu)先級(jí)設(shè)置為常數(shù) ( F )JFrame, JPanel, JApplet 和 JButton 四種組件都屬于容器組件 .( F ) BorderLayout 是面板( J Pa nel )的缺省布局管理器。
3、(BorderLayout 最多可以使用 5 個(gè)組件。 ( T )一個(gè)面板(JPanel)不能被加入另一個(gè)面板(JPanel)中。( 菜單需要一個(gè)JMenuBar對(duì)象,以使他們能被添加到JFrameo 標(biāo)簽( JLabel )可以在屏幕上顯示一個(gè)字符或一幅圖片。(BorderLayout 是容器 javax.swing.JFrame 默認(rèn)的布局管理器。( T ) JTextArea 可以用來接收多行文本的輸入。( T ) 在Java坐標(biāo)系統(tǒng)中,X值從左向右增加。( T )BorderLayout 布局管理器把組件排列在北、南、東、西和中間區(qū)域。 ( T ) 邊界布局管理器( BorderLay
4、out )把容器分成 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 )、選擇題 下說法中錯(cuò)誤的一項(xiàng)是( A )。 線程一旦創(chuàng)建
5、,則立即自動(dòng)進(jìn)行 線程創(chuàng)建后需要調(diào)用 start() 方法,將線程置于可運(yùn)行狀態(tài) 調(diào)用線程的 start() 方法后,線程也不一定能立即執(zhí)行D線程處于可運(yùn)行狀態(tài),意味著它可以被調(diào)度 2、下列說法中不正確的一項(xiàng)是 ( A ) 。 A、Thread 類中沒有義 run() 方法 線程C、Runnable 接口中定義了 run() 方法 口來創(chuàng)建線程下列說法中,正確的一項(xiàng)是 ( C ) 線程可以不運(yùn)行于程序中 線程必須運(yùn)行于程序中、可通過繼承 Thread 類來創(chuàng)建D 、可以通過實(shí)現(xiàn) Runnable 接3、 A、 C、4、 A、5、 A、6、 A、 B、 C、D、7、 A、 void run( )
6、/ C、class A4 extends Thread public void run( )/ 、一個(gè)程序中只能有一個(gè)線程 、線程本身就是程序 線程開始運(yùn)行時(shí),是從下列哪一個(gè)方法開始執(zhí)行的 main() B、start()C、 run()Runnable 接口中定義的方法是 ( C ) start() B、init()C、run()下列說法中不正確的一項(xiàng)是 ( B ) 。、init()、Runnable()多線程并發(fā)執(zhí)行時(shí),各個(gè)線程中語句的執(zhí)行順序是確定的 多線程并發(fā)執(zhí)行時(shí),線程之間的相對(duì)執(zhí)行順序是確定的 線程執(zhí)行順序的不確定性會(huì)導(dǎo)致執(zhí)行結(jié)果的不確定性 線程執(zhí)行順序的不確定性會(huì)破壞共享數(shù)據(jù)的一
7、致性 下列是繼承 Thread 類后得到的子類,請(qǐng)選擇正確的一項(xiàng)。class A4 extends Thread、class A4 implements Threadpublic void run()/run( )/、class A4 extends Thread 8、A)C)9、A)B)C)D)10下面那一個(gè)函數(shù)是線程的入口函數(shù)? private void run() public void start() 下列方法中可以用來創(chuàng)建一個(gè)新線程的是 實(shí)現(xiàn) java.lang.Runnable 實(shí)現(xiàn) java.lang.Runnable 繼承 java.lang.Thread 實(shí)現(xiàn) java.la
8、ng.Thread 、 Thread 類 中 能( BB)public void run()D)public void begin() _C_。 接口并重寫 start() 方法接口并重寫 run() 方法 類并重寫 run() 方法 類并實(shí)現(xiàn) start() 方法 運(yùn)行線程體的方法是C)A ) start() B ) resume() init()D )run()11、在 java 程序中,下列關(guān)于線程的說法錯(cuò)誤的是 ( D )A、線程啟動(dòng)調(diào)用start方法B、線程的主體是run方法C線程運(yùn)行中調(diào)用sleeP方法可以進(jìn)入阻塞狀態(tài)D在java中,優(yōu)先級(jí)的數(shù)值為1的線程可以搶占優(yōu)先級(jí)為5的線程的
9、資源 12、若編譯和運(yùn)行下列代碼,出現(xiàn)的結(jié)果將是Public class MyAdd extends Thread static int total = 10; int n;Public MyAdd(int n) this.n=n; Public void run() try sleeP(n); total=total+n;System.out.Println(total); catch(ExcePtion e)EXCEPTION”! );System.out.Println(Public static void main(String args) MyAdd t1 = new MyAdd(3
10、000); MyAdd t2 = new MyAdd(1000);t1.start(); t2.start();A、C、 1010, 4010 B 、3010, 40101010, 3010 D 、3010, 101013、若編譯和運(yùn)行下列代碼,出現(xiàn)的結(jié)果將是 public class MyThread implements Runnable String myString = Yes ;public void run() this.myString = No ;public static void main(String args) MyThread t = new MyThread();
11、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 nono、打印結(jié)果無法確定C、打印 yes no yes no yes no yes no yes no D14、下面關(guān)于 Java 中線程的說法不正確的是 ( C )?A) 調(diào)用join()方法可能拋出異常InterruptedExceptionB) sleep() 方法是 Thread 類的靜態(tài)方法
12、。C) 調(diào)用Thread類的sleep()方法可終止一個(gè)線程對(duì)象。D) 線程啟動(dòng)后執(zhí)行的代碼放在其run方法中。A、 量B、C、D、15、下列關(guān)于 try 和 catch 子句的描述中,錯(cuò)誤的一項(xiàng)是 ( A ) 。不同的 catch 代碼段是不同的作用域,但是可以訪問相互之間定義的局部變 如果沒有異常產(chǎn)生,則所有的 catch 代碼段都被略過不執(zhí)行 try 代碼段后跟有一個(gè)或多個(gè) catch 代碼段 異常總是由距離產(chǎn)生異常最近的匹配 catch 代碼段處理 16、下列關(guān)于拋出異常的描述中,錯(cuò)誤的一項(xiàng)是 ( C ) 。A、B、C、D、異??梢杂?try 代碼段中的語句拋出異??梢詮谋?try 代
13、碼段中調(diào)用的方法中拋出 異常的拋出并不影響代碼段的執(zhí)行順序 異常還可能產(chǎn)生于數(shù)組下標(biāo)越界及 Java 虛擬機(jī)內(nèi)部的錯(cuò)誤等A、B、C、D、17、下列描述中,正確的一項(xiàng)是 ( D ) 。異常機(jī)制可以用于流程控制finally 代碼段在發(fā)生異常時(shí)不一定必須執(zhí)行在 catch 代碼段中可以使用 return 語句來返回到異常拋出點(diǎn)可以把 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ù)庫A、B、C、D、19、如果一個(gè)程序段中有多個(gè) catc
14、h ,則程序會(huì)按如下哪種情況執(zhí)行? ( C ) 找到合適的異常類型后繼續(xù)執(zhí)行后面的 catch 找到每個(gè)符合條件的 catch 都執(zhí)行一次 找到合適的異常類型后就不再執(zhí)行后面的 catch 對(duì)每個(gè) catch 都執(zhí)行一次20、 對(duì)于異常處理語句trycatch,下面那句話不正確?( A )A、 一個(gè)符合條件的catch的處理語句中沒有break語句,則執(zhí)行后會(huì)繼續(xù)執(zhí)行 后續(xù) catchB、 不管有沒有捕獲異常,fin ally 部分都會(huì)被執(zhí)行C、 找到合適的異常類型后就不再執(zhí)行后面的catchD應(yīng)該先處理子異常類,再處理父異常類。21、 下列哪種操作不會(huì)拋出異常?( B )A) 浮點(diǎn)數(shù)除 0B
15、) 浮點(diǎn)數(shù)乘 0C) 打開不存在的文件D) 用負(fù)數(shù)索引訪問數(shù)組22、程序員將可能發(fā)生異常的代碼放在 ( )塊中,后面緊跟著一個(gè)或多個(gè) ( ) 塊。 ( B )B、 try 、 catchD、 exception 、try 下列那些內(nèi)容 B) 程 序A、catch 、try( C 編譯錯(cuò)C、try 、 exception23 、 異 常 包 含A) 程序中的語法錯(cuò)誤C) 程序執(zhí)行過程中遇到的事先沒有預(yù)料到的情況D) 程序事先定義好的可能出現(xiàn)的意外情況24、有下列程序 class TestExceptionclass MyException extends Exception public voi
16、d testMethod() throws MyException public void test()testMethod();A、B、C、D、25、設(shè)有以下程序段class TestExceptionpublic static void main(String args)在 public void test() 后加上哪一句可以使編譯不出錯(cuò)。 throw MyException throws MyException throw new MyException() throws new MyException()tryreturn;finallySystem.out.println(fina
17、lly); 程序編譯并執(zhí)行,其結(jié)果將是 ( B ) 程序執(zhí)行,但沒有任何輸出 程序輸出 finally 程序編譯時(shí)出錯(cuò),提示缺少 catch 程序編譯時(shí)出錯(cuò),提示 finally 語句無法訪問到。A、B、C、D、文件26、用文件字節(jié)輸出流對(duì)文件進(jìn)行寫操作時(shí), 需要先創(chuàng)建文件輸出流對(duì)象, 輸出數(shù)據(jù)流的構(gòu)造方法是 public FileOutputStream(String name,Boolean append) throws FileNotFoundException ,當(dāng)參數(shù) append 的值為 true 時(shí),表示 ( B )A、創(chuàng)建一個(gè)新文件B、在原文件的尾部添加數(shù)據(jù)C覆蓋原文件的內(nèi)容D
18、在原文件的指定位置添加數(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) 345 B)5
19、 C) 123 D) 1234528、下列說法中,錯(cuò)誤的一項(xiàng)是 ( B )。B 、打開一個(gè)文件時(shí)不可能產(chǎn)生A、Java 系統(tǒng)的標(biāo)準(zhǔn)輸入對(duì)象是 System.in IOExceptionD 、使用 File 對(duì)象可以判斷一個(gè)C使用File對(duì)象可以判斷一個(gè)文件是否存在 目錄是否存在29、下面的程序段的功能是 ( A ) 。 File file1=new File(e:xxxyyy);file1.mkdir();A)在當(dāng)前目錄下生成子目錄:xxxyyy B) C)在當(dāng)前目錄下生成文件xxx.yyy D)30、下列敘述中,錯(cuò)誤的是 ( B )A)B)C)D)生成目錄: e:xxxyyy 以上說法都不對(duì)
20、FileFileFile File類能夠存儲(chǔ)文件類能夠讀寫文件 類能夠建立文件 類能夠獲取文件目錄信息31、下列哪個(gè)是JAVA程序和數(shù)據(jù)庫連接的一種機(jī)制A) URL B) JDBC C) SOCKET D) RMI32、關(guān)于JDBC訪問數(shù)據(jù)庫的說法錯(cuò)誤的是:A)B) 法C)( D )Class.forName() 實(shí)現(xiàn)、 import java.util. *、import java.1ang.* B )34、以下哪個(gè)方法不屬于 Applet 小程序生命周期中的方法?(A、initB、mainC、destroyD、stop35、下列說法中,錯(cuò)誤的一項(xiàng)是 ( C ) 。建立數(shù)據(jù)庫連接時(shí),必須加載
21、驅(qū)動(dòng)程序,可采用 用于建立與某個(gè)數(shù)據(jù)源的連接可采用 DriverManager 類的 getConnection 方建立數(shù)據(jù)庫連接時(shí),必須要進(jìn)行異常處理D) JDBC中查詢語句的執(zhí)行方法必須采用 Statement類實(shí)現(xiàn)33、定義 Java.Applet 程序時(shí),必須有的 import 語句是( C )A、import java.awt.event;BC、import java.applet.Applet; D使用 FlowLayout 在容器中放置組件的策略是:從上到下、從左到右使用 FlowLayout 進(jìn)行布局管理時(shí),組件的大小采用的是其最佳尺寸 使用 FlowLayout 進(jìn)行布局管理
22、時(shí),不能調(diào)節(jié)組件之間的距離 用 FlowLayout 管理的組件隨容器大小變化的變化規(guī)律是: 組件大小不變, 組A、B、C、D、件之間的相對(duì)位置改變36、在類中若要處理 ActionEvent 事件,則該類需要實(shí)現(xiàn)的接口是 ( A A、ActionListener B 、Runnable C 、Serializable D 、Event37、下列說法中,錯(cuò)誤的一項(xiàng)是 ( C ) 。內(nèi)部類是被定義于另一個(gè)類中的類 使用內(nèi)部類實(shí)現(xiàn)監(jiān)聽器,在編程時(shí)比較容易實(shí)現(xiàn) 內(nèi)部類對(duì)象可以訪問外部類的成員方法和變量,包括私有成員 由于內(nèi)部類定義于另一個(gè)類,因此不適用于 AWT的事件處理機(jī)制C )A、B、C、D、3
23、8、選擇正確的語句填入下列程序的橫線處。( 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.setVisible(true);A、setMenuBar(mB);C、f.se
24、tMenuBar(mB) ;39、下列說法哪個(gè)是不正確的?););B、 mb.setMenuBar( ) ; D、 mb.setMenuBar(f) ; ( B )一個(gè)組件可以注冊(cè)多個(gè)事件監(jiān)聽器 一個(gè)監(jiān)聽器只能監(jiān)聽一個(gè)組件 一個(gè)組件可以引發(fā)多種事件 一個(gè)監(jiān)聽器可以監(jiān)聽處理多種事件A、B、C、D、40、下面說法錯(cuò)誤的是 ( D )A) 單擊 CheckBox (復(fù)選框)產(chǎn)生 ItemEvent 事件,并由 ItemListenerB) 處理 JButton 和 JTextField 事件監(jiān)聽器接口都是 ActionListener 。 C )一個(gè)面板 (JPanel) 可以加入到另一個(gè)面板 (J
25、Panel) 中。D)在BorderLayout中,添加到NORTHS的兩個(gè)按鈕將并排顯示。41、下面說法錯(cuò)誤的是: ( C )A) 單擊 JCheckBox (復(fù)選框)產(chǎn)生 ItemEvent 事件,并由 ItemListenerB) 處理 JButton 和 JTextField 事件監(jiān)聽器接口都是 ActionListener 。)。處理。處理。C) 處理鼠標(biāo)事件的事件監(jiān)聽器接口只有 MouseListener 。D) 在 JTextField 和 JPasswordField 中輸入數(shù)據(jù)后按 Enter 鍵會(huì)激發(fā)一個(gè)事 件。42、下列說法哪個(gè)是不正確的? ( B )(Jpanel) 中
26、A) 一個(gè)面板(Jpanel)能被加入到另一個(gè)面板B) 一個(gè)監(jiān)聽器只能監(jiān)聽一個(gè)組件C) Frame, Panel , Applet 都屬于容器組件。接口實(shí)現(xiàn)事件處理( D )D) Button 和 TextField 都可用 ActionListener43、常規(guī)菜單是由()、()和菜單項(xiàng)組成。A. JMenuItem、 JCheckBoxMenuItemB. JButton 、 JRadioButtonC. JPopupMenu、 JMenuItem44、下列哪一個(gè)方法是自動(dòng)調(diào)整窗口的大小(setSize()setDefaultClose() pack() setVisible()D. JM
27、enuBar、 JMenuA、B、C、D、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) JCheckBoxA、B、C、D、47、下列敘述中,不符合JAVA語言特點(diǎn)的選項(xiàng)是(C ) 可移植性和跨平臺(tái)的特點(diǎn) 多線程的并發(fā)機(jī)制編譯器將JAVA源程序轉(zhuǎn)換
28、成機(jī)器碼Applet是JAVA的特殊應(yīng)用程序,它嵌入到 HTM中,隨主頁發(fā)布到互聯(lián)網(wǎng)上 48、JPanel 和 Applet 的 默 認(rèn) 布 局 管 理 器 是 (CardLayout FlowLayout BorderLayout GridLayoutA)B)C)D) 49下列語句錯(cuò)誤的是: ( D )A、B、C、D、ServerSocket svrsoc = new ServerSocket(8000); URL urlBase=new URL(“http:/. ”) ;File inFile = new File( “C:/ test.txt”);BufferedReader br =
29、new BufferedReader( “C:/ test.txt”);三、程序填空題1、通過TCP協(xié)議方式,定義一個(gè)服務(wù)器端,端口為5000,要求可以同時(shí)連接多個(gè)客戶端,并且每個(gè)客戶端在休眠10秒鐘之后退出連接;將下面的程序補(bǔ)齊: imp ortjava. net.*;imp ortjava.io.*;(1)Runn ablep ublic class ServerExa mple imp leme ntsp rivate Socket m_socket;p rivate int m_id;(Socket s, i nt id) public(2)_ServerExamplem_socket
30、= s;m_id= id;(3)_run() _(4)Thread . sleep(10000);System.out .printin (Socket+m_id+ is closi ng.); m_socket.close(); catch (Exce pti on e) p ublic voidtry p ublic static void main( Stri ng args) int n= 1;(5)ServerSocket server= nu II;Serversocket _ (5000);System.out .prin tl n( Server start.);catch (
31、IOExce pti on e)while (true)trySystem.out .printin (Wait NO. +n+ conn ectio n.);(7)Socket s= server.acce pt();ServerExa mple t=new ServerExa mpl e(s, n+);(8) hread th =new Thread(t); _.start();try server= new ( 6)(9) thcatch (IOExce pti on e) / End of loop: while / End of method: main2、下面是一個(gè)支持多個(gè)客戶端交
32、互的程序,請(qǐng)根據(jù)注釋要求補(bǔ)充、完成代碼: imp ortjava.io.*;(1) _.*;_ / 加載網(wǎng)絡(luò) API 包p ublic class ServerThread exte nds ThreadSocket socket=nu II;int clie ntnum;p ublicServerThread(Socket socket, int num) this.socket=socket;clie ntnum=nu m+1;p ublic void run() tryString line;InputStream in=(2)socket .getlnputStream(); / 得到
33、 socket 的輸入流BufferedReader is=new BufferedReader( new Inp utStreamReader(i n);Prin tWriter os=new Prin tWriter(socket.getOut putStream();/由系統(tǒng)標(biāo)準(zhǔn)輸入設(shè)備構(gòu)造BufferedReader對(duì)象BufferedReader sin=newBufferedReader( newinputStreamReader(Svstem.in);System.out .printin (Clie nt-+ clie ntnum +: +is.readLi ne(); lin
34、 e=si n.readLi ne();while(!li ne.equals(bye)os.println (I in e);/刷新輸出流,使Client馬上收到該字符串(4) os.flushO;System.out. prin tl n(Server:+li ne);System.out .printin (Clie nt-+ clie ntnum +: +is.readLi ne(); lin e=si n.readLi ne();os.close();/ 關(guān)閉 Socket 輸出流is.close(); / 關(guān)閉 Socket 輸入流 socket.close(); / 關(guān)閉 Soc
35、ket 對(duì)象 catch(Exce pti on e)System.out. prin tl n(Error:+e.toStri ng(); 3、定義類ThdTest,其父類為Thread類;并在主方法中創(chuàng)建一個(gè) ThdTest的對(duì) 象,同時(shí)啟動(dòng)該線程對(duì)象。/聲明類ThdTest,其父類為Thread類(1) class ThdTest extends Thread p ublic void run() for(i nt i = 0; i 10; i+)Thread.curre ntThread().getName()+i(2) ystem.out .println(出當(dāng)前線程的名字和i的值t
36、ry/讓當(dāng)前線程休眠100ms(3) _Thread.sleep(100);catch(Exce pti on e) e. prin tStackTrace (); p ublic class Demop ublic static void main( Stri ng args)/創(chuàng)建一個(gè)ThdTest的對(duì)象啟動(dòng)線程對(duì)象,使其進(jìn)入就緒狀態(tài)(4) ThdTest t=new ThdTest_;(5) _ _t.start(); 4、下面的程序利用線程輸出從a到z的26個(gè)字母,每隔一秒鐘輸出一個(gè)字母, 程序不完整,請(qǐng)閱讀程序代碼,根據(jù)注釋要求在劃線處補(bǔ)充完成代碼。P ublic class Tes
37、t4 imp leme nts Runn ablecharcharArray二 new char26;public Test4()for(i nt i = 0; icharArray.le ngth; i+)charArrayi=(char)(i+a);P ublic void run()tryfor (int i = 0; i charArray.le ngth; i+) (1)Thread.sleep(1000);System.out. prin t(charArrayi);catch (Interrup tedExce pti on e)e.prin tStackTrace();p ub
38、lic static void main( Stri ng args)Thread t = _線程對(duì)象/休眠一秒鐘(2) new Thread(new Test4();/實(shí)例化/啟動(dòng)線程“ ” ,+ i);(3) _ _t.start();5、定義類ThdDemo實(shí)現(xiàn)接口 Runnable;并在主方法中創(chuàng)建一個(gè) ThdDem啲對(duì) 象td,然后使用對(duì)象td創(chuàng)建一個(gè)線程對(duì)象,同時(shí)啟動(dòng)該線程對(duì)象。/聲明類ThdDemo實(shí)現(xiàn)接口 Runnable(1) class TheDemo implements Runnable_ class ThdDemo impi eme nts Runn ablep ub
39、lic void run()for(i nt i = 0; i vapplet code=_(5) AppletDemo.class width=300 height=200x/applet 7、編寫程序?qū)崿F(xiàn)窗口,包含一個(gè)標(biāo)簽、一個(gè)文本框和一個(gè)按鈕,當(dāng)用戶單擊按 鈕時(shí),程序把文本框中的內(nèi)容提制到標(biāo)簽中。(使用 AWT(1) import java.awt.*; / 引入相關(guān)包P ublicMyFramepublicMyFrame()Frame fr = new Frame();/設(shè)置窗體的布局為FlowLayout(2) fr.addLayout( new FlowLayout();Label
40、 lbl = new Label( “Init info ” );TextField txt = new TextField(30);Butt on btn = new Butt on(“ Sure ” );fr.add(lbl);fr.add(txt);fr.add(bt n);/給按鈕注冊(cè)監(jiān)聽器(3 )Bt n.addActio nList ner(new Mon itor();/使用窗體可見,并設(shè)置大小(3)fr.setSize(400,400):fr.setVisible(true):/定義內(nèi)部類監(jiān)聽ActionEvent事件(4) class Mon itor imp leme nt
41、s Action Eve ntp ublic void actionP erformed(Acti on Eve nt e)lbl.setText(txt.getText();)一p ublic static void main( Stri ng args)n ewMyFrame(); 8、設(shè)計(jì)程序?qū)崿F(xiàn)帶菜單的窗口,包含“ File ”和“ Edit ”二個(gè)菜單,在“ File ”下又包含“ New”, “ Open”, “Exit ”三個(gè)菜單項(xiàng),選擇“ Exit ”項(xiàng)時(shí)退出應(yīng) 用程序。(提示:涉及到的類有 MenuBar, Menu, MenuItem ) importjava.awt.*;
42、importjava.awt.event.*; public class MenuTestNew”); “Open”); “Exit ”);/ 定義各菜單項(xiàng)MenuItem newItem = new MenuItem( MenuItem openItem = new MenuItem( MenuItem exitItem = new MenuItem( public MenuTest()Frame fr = new Frame();/ 定義菜單“ File ”);“ Edit ”);newItem, openItem, exitItemMenu fileMenu = new Menu(Men
43、u editMenu = new Menu(/ 往 File 菜單中添加菜單項(xiàng)(1)_fileMenu.add(newItem);fileMenu.add(openItem); fileMenu.add(exitItem);/ 定義菜單條,并添加菜單 fileMenu, editMenu(2) MenuBar bar=new MenuBar();bar.add(fileMenu); bar.add(editMenu);/ 給窗口添加菜單條fr.setMenuBar(bar);/ 給 exitItem 注冊(cè)事件(3) _ exitItem.addActionListener(newMenuHan
44、dler();_/ 設(shè)置窗口的可見性fr.setSize(200,200);/fr.setVisible(true);/ 定義內(nèi)部類處理菜單事件class MenuHandler implements 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、寫
45、程序?qū)崿F(xiàn)包括一個(gè)復(fù)選框的窗體,并處理用戶選取事件。importjava.awt.*; importjava.awt.event.*;(1) _class MyCheck extends _FrameMyChecK繼承自Frame類 / 類體public MyChecK()(2) _ Panel p=new Panel();p.setLayout(new FlowLayout(); 實(shí)例,并設(shè)置其布局為 FlowLayoutChecKbox cbx = new ChecKbox( “isPassed ”);(3) _ _p.add(cbx);_cbx.addActionListener(new
46、Mt();_/向面板中加入組件cbx,并為組件注冊(cè)監(jiān)add(p);(4) setVisible(true);_setSize(400,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);/ 類聲明,類 名為/ 創(chuàng)建 Panel
47、 的一個(gè)/10、制作一個(gè)窗體,包括一個(gè)帶圖標(biāo)的按鈕( JButton 類對(duì)象),并設(shè)置邊框, 當(dāng)用戶點(diǎn)擊按鈕時(shí),彈出一個(gè)確認(rèn)對(duì)話框。importjavax.swing.*;importjavax.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
48、btn =new JButton(ii);/* 使用線形邊框類的構(gòu)造方法 LineBorder(Color c, int n),*創(chuàng)建一個(gè)邊框?qū)ο骲d,其中c為邊框的顏色,n為邊框的粗細(xì)。*/Lin eBorder bd =new Lin eBorder( new Color(0,0,0)btn. setBorder(bd);/給按鈕注冊(cè)監(jiān)聽事件(4)_ btn.addActionListener(new BtnHandler();fr = new JFrame();Container c = fr.getC on te ntPan e();c.add(bt n);fr.setSize(300
49、,300);fr.setVisible(true);class BtnHan dler imp leme nts Actio nListe nerp ublic void actionP erformed(Acti on Eve nt e)Stri ng msg = Are you sure?;/* 使用 JOptionPane 類的靜態(tài)方法 showConfirmDialog(Frame f, Strings),其中f為對(duì)話框所屬的窗體,s為對(duì)話框顯示的信息,彈出一個(gè)確認(rèn)對(duì)話框。*/(5),11、以下程序的功能為:讀入從鍵盤輸入的一串字符存放于一個(gè)字節(jié)數(shù)組中,然 后將該數(shù)組寫入到當(dāng)前目錄下的文件out.txt中。Importava.io.*;_p ublic class byteArraytofilep ublic static void main( Stri ng args)trybyte buffer=new _byte 128;FileOut pu tStream fos= new FileOut pu tStream(_;System.i n.read(buffer
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國衍生品行業(yè)發(fā)展模式及投資競爭力分析報(bào)告
- 2024-2030年中國蠟酸蠟醋產(chǎn)業(yè)未來發(fā)展趨勢(shì)及投資策略分析報(bào)告
- 2024-2030年中國股票配資行業(yè)發(fā)展模式及投資規(guī)劃分析報(bào)告
- 2024-2030年中國能效管理平臺(tái)產(chǎn)業(yè)發(fā)展?jié)摿σ?guī)劃分析報(bào)告
- 2024-2030年中國肺功能儀行業(yè)發(fā)展趨勢(shì)及投資策略建議報(bào)告版
- 古文化博物館改造方案
- 2024-2030年中國糖精行業(yè)競爭態(tài)勢(shì)與需求趨勢(shì)預(yù)測報(bào)告
- 2024-2030年中國程控電源行業(yè)運(yùn)作模式及發(fā)展策略研究報(bào)告
- 合成樹脂瓦工程驗(yàn)收合同
- 2024-2030年中國石材行業(yè)資產(chǎn)規(guī)模預(yù)測及發(fā)展戰(zhàn)略動(dòng)向咨詢報(bào)告
- 【公開課】《農(nóng)業(yè)專題復(fù)習(xí)》【課件】
- 第7課《大雁歸來》課件(共15張ppt) 部編版語文八年級(jí)下冊(cè)
- 培訓(xùn)的方式和方法課件
- 三年級(jí)下冊(cè)口算天天100題(A4打印版)
- 三基選擇題(東南大學(xué)出版社)
- 2021年大唐集團(tuán)招聘筆試試題及答案
- DBJ53/T-39-2020 云南省民用建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)
- 2022版義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)解讀課件PPT模板
- 實(shí)驗(yàn)五 PCR擴(kuò)增課件
- 馬拉松運(yùn)動(dòng)醫(yī)療支援培訓(xùn)課件
- 中醫(yī)藥宣傳手冊(cè)
評(píng)論
0/150
提交評(píng)論