Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專業(yè)社群,歡迎你的加入!!
一、填空題 1、Java的三大體系分別是_JavaSE_____、_JavaEE_____、_JavaME_____。
2、Java程序的運(yùn)行環(huán)境簡(jiǎn)稱之為JRE_____。 3、編譯Java程序需要使用_javac_____命令。
4、javac.exe和java.exe兩個(gè)可執(zhí)行程序存放在JDK安裝目錄的bin______目錄下。 5、path______環(huán)境變量用來(lái)存儲(chǔ)Java的編譯和運(yùn)行工具所在的路徑,而_classpath_____環(huán)境變量則用來(lái)保存保存Java虛擬機(jī)要運(yùn)行的“.class”文件路徑。更多資料找小編,推薦一個(gè)學(xué)JAVA的學(xué)習(xí)裙【 一三三,九三零,六九三】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!

二、選擇題
1、以下選項(xiàng)中,哪些屬于JDK工具?(多選)ABCD
A、Java編譯器 B、Java運(yùn)行工具 C、Java文檔生成工具 D、Java打包工具
2、Java屬于以下哪種語(yǔ)言?C A、機(jī)器語(yǔ)言 B、 匯編語(yǔ)言 C、高級(jí)語(yǔ)言
D D、.class
4、安裝好JDK后,在其bin目錄下有許多exe可執(zhí)行文件,其中java.exe命令的作用是以下哪一種? B A、Java文檔制作工具 B、Java解釋器 C、Java編譯器
5、 5、如果jdk的安裝路徑為:d:jdk,若想在命令窗口中任何當(dāng)前路徑下,都可以直接
使用javac和java命令,需要將環(huán)境變量path設(shè)置為以下哪個(gè)選項(xiàng)?B A.d:jdk;
B.d :jdkin; C.d:jrein; D.d:jre;
三、問(wèn)答題

更多資料找小編,推薦一個(gè)學(xué)JAVA的學(xué)習(xí)裙【 一三三,九三零,六九三】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!1、簡(jiǎn)述Java的特點(diǎn)。面向?qū)ο?、跨平臺(tái)性、健壯性、安全性、可移植性、多線程性、動(dòng)態(tài)性等。
2、 2、簡(jiǎn)述JRE與JDK的區(qū)別JRE(Java Runtime Environment,Java運(yùn)行時(shí)環(huán)境),它相當(dāng)于操作系統(tǒng)部分,提供了Java程序運(yùn) 行時(shí)所需要的基本條件和許多Java基礎(chǔ)類,例如,IO類、GUI控件類、網(wǎng)絡(luò)類等。JRE是提供給普通用戶使用的,如果你只想運(yùn)行別人開(kāi)發(fā)好的Java程序,那么,你的計(jì)算機(jī)上必須且只需安裝JRE。 JDK(Java Development Kit,Java開(kāi)發(fā)工具包),它包含編譯工具、解釋工具、文檔制作工具、打包工具多種與開(kāi)發(fā)相關(guān)的工具,是提供給Java開(kāi)發(fā)人員使用的。初學(xué)者學(xué)習(xí)和使用Java語(yǔ)言時(shí),首先必須下載和安裝JDK。JDK中已經(jīng)包含了JRE部分,初學(xué)者安裝JDK后不必再去下載和安裝JRE了。
第二章
、Java語(yǔ)言的八種基本數(shù)據(jù)類型有:byte字節(jié)型,占一個(gè)字節(jié)。short短整型,占兩個(gè)字節(jié)。int整型,占4個(gè)字節(jié)。long長(zhǎng)整型,占8個(gè)字節(jié)。float單精度浮點(diǎn)型,占4個(gè)字節(jié)。double雙精度浮點(diǎn)型,占8個(gè)字節(jié)。char字符型,占兩個(gè)字節(jié)。boolean型,表示邏輯值,有true和false兩個(gè)值,分別占一個(gè)字節(jié)。
2、如果使用“&”在表達(dá)式之間進(jìn)行連接,那么無(wú)論任何情況,“&”兩邊的表達(dá)式都會(huì)參與計(jì)算。如果使用“&&”進(jìn)行連接,當(dāng)“&&”左邊的表達(dá)式為false,則不會(huì)執(zhí)行其右邊的表達(dá)式。例如定義int x = 2,y = 0; boolean b = x < y & x / 2 > 0表達(dá)是會(huì)發(fā)生被0除異常,因?yàn)閤 / y的表達(dá)式執(zhí)行了。而boolean b = x < y & x / 2 > 0是不會(huì)出現(xiàn)這種異常的,因?yàn)閤 < y為false,表達(dá)式x / y不會(huì)執(zhí)行。
3、方法重載指的是在一個(gè)類中可以聲明多個(gè)同名的方法,而方法中參數(shù)的個(gè)數(shù)或者數(shù)據(jù)類型不一致。調(diào)用這些同名的方法時(shí),JVM會(huì)根據(jù)實(shí)際參數(shù)的不同綁定到不同的方法
冒泡排序:
public class Test03 { public static void main(String[] args) { int[] arr = { 25, 24, 12, 76, 101, 96, 28 }; for (int i = 0; i < arr.length - 1; i++) { // 定義內(nèi)層循環(huán) for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 比較相鄰元素 // 下面的三行代碼用于交換兩個(gè)元素 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + ""); // 打印元素和空格 } }
第三章
1、構(gòu)造方法是類的一個(gè)特殊成員,它會(huì)在類實(shí)例化對(duì)象時(shí)被自動(dòng)調(diào)用。而普通方法只有在使用的時(shí) 候才會(huì)被調(diào)用。在定義構(gòu)造方法時(shí)要求方法名與類名相同、在方法名的前面沒(méi)有返回值類型的聲 明、在方法中不能使用return語(yǔ)句返回一個(gè)值
2、單例模式可以保證在整個(gè)程序運(yùn)行期間針對(duì)該類只存在一個(gè)實(shí)例對(duì)象。
Java中的變量可分為兩種數(shù)據(jù)類型,分別是_基本數(shù)據(jù)類型_____和_引用數(shù)據(jù)類型_____。 5、在Java中,byte類型數(shù)據(jù)占____1__個(gè)字節(jié),short類型數(shù)據(jù)占__2____個(gè)字節(jié),int類型數(shù)據(jù)占___4___個(gè)字節(jié),long類型數(shù)據(jù)占____8__個(gè)字節(jié)。
面向?qū)ο蟮娜筇卣魇欠庋b性_、_繼承性_____和__多態(tài)性____。 2、 在Java中,可以使用關(guān)鍵字__new____來(lái)創(chuàng)建類的實(shí)例對(duì)象。 3、 定義在類中的變量被稱為_(kāi)_成員變量____,定義在方法中的變量被稱為局部變量______ 4、 面向?qū)ο蟪绦蛟O(shè)計(jì)的重點(diǎn)是_類___的設(shè)計(jì),__類____是用來(lái)創(chuàng)建對(duì)象的模板。 5、 在非靜態(tài)成員方法中,可以使用關(guān)鍵字_this__訪問(wèn)類的其它非靜態(tài)成員。 6、 當(dāng)一個(gè)對(duì)象被當(dāng)成垃圾從內(nèi)存中釋放時(shí),它的__finalize()____方法會(huì)被自動(dòng)調(diào)用。 7、 被static關(guān)鍵字修飾的成員變量被稱為_(kāi)靜態(tài)變量_,它可以被該類所有的實(shí)例對(duì)象共享。 8、 在一個(gè)類中,除了可以定義屬性、方法,還可以定義類,這樣的類被稱為_(kāi)內(nèi)部類_____。 9、在Java中,提供了一個(gè)_javadoc_____命令,用于將程序中的文檔注釋提取出來(lái),生成HTML格式 的幫助文檔。
10、所謂類的封裝是指在定義一個(gè)類時(shí),將類中的屬性私有化,即使用_private_____關(guān)鍵字來(lái)修飾。更多資料找小編,推薦一個(gè)學(xué)JAVA的學(xué)習(xí)裙【 一三三,九三零,六九三】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!3、下面哪種類型的文件可以在Java虛擬機(jī)中運(yùn)行?
第四章:
在Java語(yǔ)言中,允許使用已存在的類作為基礎(chǔ)創(chuàng)建新的類,這種技術(shù)我們稱為繼承______。 2、一個(gè)類如果實(shí)現(xiàn)一個(gè)接口,那么它就需要實(shí)現(xiàn)接口中定義的全部_方法_____,否則該類就必須定義成_抽象類_____。 3、在程序開(kāi)發(fā)中,要想將一個(gè)包中的類導(dǎo)入到當(dāng)前程序中,可以使用_import_____關(guān)鍵字。 4、一個(gè)類可以從其它的類派生出來(lái),派生出來(lái)的類稱為_(kāi)子類_____,用于派生的類稱為_(kāi)基類_____或者_(dá)_父類____。
5、 JDK中定義了大量的異常類,這些類都是_Exception_____類的子類或者間接子類。
6、定義一個(gè)Java類時(shí),如果前面加使用_final_____關(guān)鍵字修飾,那么該類不可以被繼承。 7、如果子類想使用父類中的成員,可以通過(guò)關(guān)鍵字__super____引用父類的成員。
8、在Java語(yǔ)言中,所有的類都直接或間接繼承自_Object_____類。 9、異常的捕獲通常由try、catch兩部分組成,_try_____代碼塊用來(lái)存放可能發(fā)生異常,_catch_____ 代碼塊用 來(lái)處理產(chǎn)生的異常。 10、在Java語(yǔ)言中,要想是將一個(gè)已編譯的類打包成jar文件,可以使用的命令是_jar-cvf_____,要 想在命令行窗口運(yùn)行jar文件,可以使用的命令是__java-jar___。
1、什么是方法重寫(xiě)? 在繼承關(guān)系中,子類的方法與父類的某一方法具有相同的方法名、返回類型和參數(shù)列表,則稱子類的該方法重寫(xiě)(覆蓋)父類的方法。 2、什么是多態(tài)? 多態(tài)意味著一個(gè)對(duì)象有著多種形態(tài),可以在特定的情況下,表現(xiàn)不同的狀態(tài),從而對(duì)應(yīng)著不同的屬性和方法。簡(jiǎn)單的說(shuō),多態(tài)就是使用父類類型的變量引用子類對(duì)象,根據(jù)被引用子類對(duì)象的特性,程序會(huì)得到不同的運(yùn)行效果。 3、抽象類和接口的區(qū)別? 在Java中,使用abstract關(guān)鍵字修飾的類稱之為抽象類。抽象類是不能被實(shí)例化的,通常需要寫(xiě)一個(gè)子類來(lái)繼承抽象類,同時(shí)實(shí)例化子類來(lái)獲得該類的對(duì)象。抽象類通常用于表示一種抽象的概念。 接口可以說(shuō)是一種特殊的抽象類,接口中只能定義常量和抽象方法。由于接口的特殊性,在定義時(shí)需要使用interface關(guān)鍵字。
第六章:
1、在Java中定義了兩個(gè)類來(lái)封裝對(duì)字符串的操作,它們分別是String_和_StringBuffer____。 2、Java中的操作日期的類有_Date___、_Calendar___、DateFormat____等。 3、在程序中若想取得一個(gè)Runtime實(shí)例,則可以調(diào)用Runtime類的靜態(tài)方法getRnutime()_____。 4、Math類中用于計(jì)算所傳遞參數(shù)平方根的方法是_sqrt()____。 5、Java中專門用于將日期格式化為字符串的類是_DateFormat____。 6、Math類中有兩個(gè)靜態(tài)常量PI和E,分別代表數(shù)學(xué)常量_π___和_e___。
7、Java中的用于產(chǎn)生隨機(jī)數(shù)的類是_Random___,它位于java.util____包中。 8、String類中用于返回字符串字符個(gè)數(shù)的方法是_length()____。 9、System類中所提供的屬性和方法都是_靜態(tài)___的,想要引用這些屬性和方法,直接使用System類調(diào)用即可。10、已知 sb 為 StringBuffer 的一個(gè)實(shí)例,且 sb.toString() 的值為 "abcde ", 則執(zhí)行sb. reverse()后,sb.toString()的值為_(kāi)”edcba_”___。
1、String和StringBuffer有什么區(qū)別? String類是不可變類,即字符串值一旦初始化后就不可能改變。StringBuffer是可變字符串類,類似String的緩沖區(qū),可以修改字符串的值。 2、Date和Calender類有什么區(qū)別和聯(lián)系? Date類用來(lái)表示某個(gè)特定的瞬間,能夠精確到毫秒。而在實(shí)際應(yīng)用中,往往需要把一個(gè)日期中的年、月、日等信息單獨(dú)返回進(jìn)行顯示或處理,這個(gè)類中的大部分方法都已被標(biāo)記過(guò)時(shí)。Calender類基本取代了Date類,該類中定義了一系列用于完成日期和時(shí)間字段操作的方法。 Calendar的getTime()方法,getTime()返回一個(gè)表示Calendar時(shí)間值的Date對(duì)象,同時(shí)Calendar有一個(gè)setTime(Date date)方法,setTime()方法接收一個(gè)Date對(duì)象,將Date對(duì)象表示的時(shí)間值設(shè)置給Calendar對(duì)象,通過(guò)這兩個(gè)方法就可以完成Date和Calendar對(duì)象之間的轉(zhuǎn)換。
I/O
1、Java中的IO流,按照傳輸數(shù)據(jù)不同,可分為_(kāi)___和____。 2、在Java中,____類用于操作磁盤(pán)中文件和目錄,位于____包中。 3、在Java中,___類用來(lái)把兩個(gè)或更多的InputStream輸入流對(duì)象合并為單個(gè)InputStream輸入流對(duì)象 使用。 4、Java中提供了一個(gè)類____,它不但具有讀寫(xiě)文件的功能,并且可以隨機(jī)地從文件的任何位置開(kāi)始執(zhí)行讀寫(xiě)數(shù)據(jù)的操作。 5、在Java中,能實(shí)現(xiàn)線程間通信的流是____。 6、Java中提供了一個(gè)可以在讀文件的同時(shí)記錄行號(hào)的類,這個(gè)類是____,它是____的直接子類,它通過(guò)____和 ____方法設(shè)置和獲取當(dāng)前行號(hào)。 7、InputStreamReader類是用于將____轉(zhuǎn)換為_(kāi)___。 8、System.out是____類的對(duì)象,稱為標(biāo)準(zhǔn)輸出流,調(diào)用System類的____方法可以實(shí)現(xiàn)標(biāo)準(zhǔn)輸出流的重定向。 9、Java中一個(gè)字符占用兩個(gè)字節(jié),所有字符采用的都是____碼表。 10、BufferedWriter的____方法可以寫(xiě)入一個(gè)換行符。
第8章 IO(輸入輸出) 一、填空題 1、 字節(jié)流、字符流 2、 File、java.io 3、 SequenceInputStream
4、 RandomAccessFile 5、 管道流 6、 LineNumberReader、BufferedReader、setLineNumber(int)、getLineNumber() 7、 字節(jié)流、字符流 8、 PrintStream、setOut(PrintStream out) 9、 Unicode 10、newLine()
1、簡(jiǎn)述流的概念。 2、Java流被分為字節(jié)流、字符流兩大流類,兩者有什么區(qū)別? 3、簡(jiǎn)要說(shuō)明管道流。
1、Java程序通過(guò)流來(lái)完成輸入和輸出,流是輸入或輸出信息的抽象。流通過(guò)Java的輸入/輸出系統(tǒng)與外設(shè)連接進(jìn)行數(shù)據(jù)通信。流是抽象的對(duì)象,具體實(shí)現(xiàn)代碼在java.io包中。 2、字節(jié)流的兩個(gè)基類是InputStream和OutputStream,字符流的兩個(gè)基類是Reader和Writer,它們都是Object類的直接子類,字節(jié)流是處理以8位字節(jié)為基本單位的字節(jié)流類;Reader和Writer類是專門處理16位字節(jié)的字符流類。 3、管道流分為管道輸入流(PipedInputStream)和管道輸出流(PipedOutputStream),通常由一個(gè)PipedInputStream實(shí)例對(duì)象和一個(gè)PipedOutputStream實(shí)例對(duì)象相互連接而實(shí)現(xiàn)管道通信, PipedOutputStream向管道寫(xiě)入數(shù)據(jù),PipedInputStream從管道中讀取PipedOutputStream寫(xiě)入的數(shù)據(jù),管道流主要用來(lái)完成線程之間的通信。

GU1、更多資料找小編,推薦一個(gè)學(xué)JAVA的學(xué)習(xí)裙【 一三三,九三零,六九三】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!
1、 在Java中,圖形用戶界面簡(jiǎn)稱______,它的組件包含在______和______這兩個(gè)包中。 2、 為了避免實(shí)現(xiàn)監(jiān)聽(tīng)器中定義的所有方法,造成代碼的臃腫,在JDK中提供了一些______類,這些 類實(shí)現(xiàn)了接口所有的方法,但是方法中沒(méi)有任何代碼,屬于一種空實(shí)現(xiàn)。 3、 在Java中,______類相當(dāng)于一個(gè)抽象的畫(huà)筆對(duì)象,使用它可以在組件上繪制圖形。 4、 ______負(fù)責(zé)監(jiān)聽(tīng)事件源上發(fā)生的事件,并對(duì)各種事件做出響應(yīng)處理。 5、 大部分的Swing組件都是______類的直接或者間接子類,其名稱都是在原來(lái)AWT組件名稱前加 上字母J。 6、 AWT事件有多種多樣,大致可以分為_(kāi)_____、______、______、______等。 7、 如果點(diǎn)擊Frame窗口右上角的關(guān)閉按鈕能將其關(guān)閉,那么這個(gè)Frame窗口添加了______監(jiān)聽(tīng)器, 并實(shí)現(xiàn)了監(jiān)聽(tīng)器的實(shí)現(xiàn)了______方法。 8、 對(duì)話框可以分為_(kāi)_____和______兩種。 9、 每一個(gè)容器都有一個(gè)默認(rèn)的布局管理器,如果不希望通過(guò)布局管理器對(duì)容器進(jìn)行布局,可以調(diào)用 容器的______方法將其取消。 10、創(chuàng)建下拉式菜單需要使用三個(gè)組件,分別是______、______和______。
1,java.awt、javax.swing 2、 適配器 3、 Graphics 4、 事件監(jiān)聽(tīng)器 5、 JComponent 6、 窗體事件、鍵盤(pán)事件、鼠標(biāo)事件、動(dòng)作事件 7、 WindowListener、windowClosing(WindowEvent e) 8、 模態(tài)對(duì)話框、非模態(tài)對(duì)話框 9、 setLayout(null) 10、JMenuBar、JMenu、JMenuItem I1、實(shí)現(xiàn)時(shí)間監(jiān)聽(tīng)的步驟
? 通過(guò)實(shí)現(xiàn)XxxListener接口或者繼承XxxAdapter類實(shí)現(xiàn)一個(gè)事件監(jiān)聽(tīng)器類,并對(duì)處理監(jiān)聽(tīng)動(dòng)作的 方法進(jìn)行重寫(xiě) ? 創(chuàng)建事件源對(duì)象和事件監(jiān)聽(tīng)器對(duì)象 ? 調(diào)用事件源的addXxxLisntener()方法,為事件源注冊(cè)事件監(jiān)聽(tīng)器對(duì)象
2、awt和swing的區(qū)別
AWT 是Abstract Window ToolKit (抽象窗口工具包)的縮寫(xiě),這個(gè)工具包提供了一套與本地圖形界面進(jìn)行交互的接口。AWT 中的圖形函數(shù)與操作系統(tǒng)所提供的圖形函數(shù)之間有著一一對(duì)應(yīng)的關(guān)系,當(dāng)我們利用 AWT 來(lái)構(gòu)件圖形用戶界面的時(shí)候,我們實(shí)際上是在利用操作系統(tǒng)所提供的圖形庫(kù)。由于不同操作系統(tǒng)的圖形庫(kù)所提供的功能是不一樣的,在一個(gè)平臺(tái)上存在的功能在另外一個(gè)平臺(tái)上則可能不存在。為了實(shí)現(xiàn)Java語(yǔ)言所宣稱的"一次編譯,到處運(yùn)行"的概念,AWT 不得不通過(guò)犧牲功能來(lái)實(shí)現(xiàn)其平臺(tái)無(wú)關(guān)性,也就是說(shuō),AWT 所提供的圖形功能是各種通用型操作系統(tǒng)所提供的圖形功能的交集。由于AWT 是依靠本地方法來(lái)實(shí)現(xiàn)其功能的,我們通常把AWT控件稱為重量級(jí)控件。 Swing 是在AWT的基礎(chǔ)上構(gòu)建的一套新的圖形界面系統(tǒng),它提供了AWT 所能夠提供的所有功能,并且用純粹的Java代碼對(duì)AWT 的功能進(jìn)行了大幅度的擴(kuò)充。由于在Swing 中沒(méi)有使用本地方法來(lái)實(shí)現(xiàn)圖形功能,我們通常把Swing控件稱為輕量級(jí)控件。 AWT和Swing之間的基本區(qū)別:AWT 是基于本地方法的C/C++程序,其運(yùn)行速度比較快;Swing是基于AWT 的Java程序,其運(yùn)行速度比較慢。對(duì)于一個(gè)嵌入式應(yīng)用來(lái)說(shuō),目標(biāo)平臺(tái)的硬件資源往往非常有限,而應(yīng)用程序的運(yùn)行速度又是項(xiàng)目中至關(guān)重要的因素。在這種矛盾的情況下,簡(jiǎn)單而高效的AWT 當(dāng)然成了嵌入式Java的第一選擇。而在普通的基于PC或者是工作站的標(biāo)準(zhǔn)Java應(yīng)用中,硬件資源對(duì)應(yīng)用程序所造成的限制往往不是項(xiàng)目中的關(guān)鍵因素,所以在標(biāo)準(zhǔn)版的Java中則提倡使用Swing,也就是通過(guò)犧牲速度來(lái)實(shí)現(xiàn)應(yīng)用程序的功能。
更多資料找小編,推薦一個(gè)學(xué)JAVA的學(xué)習(xí)裙【 一三三,九三零,六九三】,無(wú)論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來(lái)了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!3、下面哪種類型的文件可以在Java虛擬機(jī)中運(yùn)行?簡(jiǎn)述java.awt包中提供了哪些布局管理器。
在java.awt包中提供了五種布局管理器,分別是FlowLayout(流式布局管理器)、BorderLayout(邊界布局管理器)、GridLayout(網(wǎng)格布局管理器)、GridBagLayout(網(wǎng)格包布局管理器)和CardLayout(卡片布局管理器)。
簡(jiǎn)述在事件處理機(jī)制中所涉及到的概念
事件處理機(jī)制專門用于響應(yīng)用戶的操作,比如,想要響應(yīng)用戶的點(diǎn)擊鼠標(biāo)、按下鍵盤(pán)等操作,就需要使用AWT的事件處理機(jī)制。在學(xué)習(xí)如何使用AWT事件處理機(jī)制之前,首先向大家介紹幾個(gè)比較重要的概念,具體如下所示:
1、事件對(duì)象(Event):封裝了GUI組件上發(fā)生的特定事件(通常就是用戶的一次操作)。
2、事件源(組件):事件發(fā)生的場(chǎng)所,通常就是產(chǎn)生事件的組件。
3、監(jiān)聽(tīng)器(Listener):負(fù)責(zé)監(jiān)聽(tīng)事件源上發(fā)生的事件,并對(duì)各種事件做出響應(yīng)處理的對(duì)象(對(duì)象中包含事件處理器)。
4、事件處理器:監(jiān)聽(tīng)器對(duì)象對(duì)接收的事件對(duì)象進(jìn)行相應(yīng)處理的方法。
TCP協(xié)議的特點(diǎn)是 ,即在傳輸數(shù)據(jù)前先在 和 建立邏輯連接。
2、在計(jì)算機(jī)中,端口號(hào)是用 字節(jié),也就是16位的二進(jìn)制數(shù)表示,它的取值范圍是
。 3、TCP/IP協(xié)議被分為四個(gè)層,分別是
4、在JDK中,IP地址用 類來(lái)表示的,該類提供了許多和 IP地址相關(guān)的操作。。
5、使用UDP協(xié)議開(kāi)發(fā)網(wǎng)絡(luò)程序時(shí),需要使用兩個(gè)類,分別是 和 。
答案:
1、面向連接、客戶端、服務(wù)器端 2、2、0-65535 3、鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層、應(yīng)用層 4、InetAddress 5、DatagramPacket、DatagramSocket
1、網(wǎng)絡(luò)通信協(xié)議是什么? 2、TCP協(xié)議和UDP協(xié)議有什么區(qū)別? 3、Socket類和ServerSocket類各有什么作用?
1、在Internet中傳輸數(shù)據(jù)都需要遵守一定的規(guī)則,這種規(guī)則通常被稱作網(wǎng)絡(luò)通信協(xié)議。網(wǎng)絡(luò)通信協(xié)議對(duì)數(shù)據(jù)傳輸格式、傳輸速率、傳輸步驟等作了統(tǒng)一規(guī)定,通信雙方必須共同遵守這個(gè)規(guī)定才能完成數(shù)據(jù)的交互。到目前為止,網(wǎng)絡(luò)通信協(xié)議已經(jīng)有很多種,其中TCP/IP協(xié)議在世界范圍內(nèi)應(yīng)用最為廣泛。 2、UDP協(xié)議是無(wú)連接通信協(xié)議,所謂的無(wú)連接就是指數(shù)據(jù)的發(fā)送端和接收端不建立邏輯連接。由于UDP協(xié)議消耗資源小,通信效率高,通常都會(huì)用于音頻、視頻和普通數(shù)據(jù)的傳輸。UDP協(xié)議在傳輸數(shù)據(jù)時(shí)不能保證數(shù)據(jù)的完整性,因此在傳輸重要數(shù)據(jù)時(shí)不建議使用UDP協(xié)議。 TCP協(xié)議是面向連接的通信協(xié)議,即在傳輸數(shù)據(jù)前先在發(fā)送端和接收端建立邏輯連接,然后再傳輸數(shù)據(jù),它提供了兩臺(tái)計(jì)算機(jī)之間可靠無(wú)差錯(cuò)的數(shù)據(jù)傳輸。在TCP連接中必須要明確客戶端與服務(wù)器端,由客戶端向服務(wù)端發(fā)出連接請(qǐng)求,每次連接的創(chuàng)建都需要經(jīng)過(guò)“三次握手”。 3、ServerSocket類用于創(chuàng)建服務(wù)端程序,通過(guò)調(diào)用ServerSocket對(duì)象的accept()方法,接收來(lái)自客戶端的請(qǐng)求。 Socket類用于創(chuàng)建客戶端程序,當(dāng)客戶端和服務(wù)端的兩個(gè)Socket建立了專線連接后,連接的一端既能向另一端連續(xù)寫(xiě)入字節(jié),也能從另一端讀取字節(jié)。Socket類中定義了getInputStream()方法返回Socket的輸入流對(duì)象,定義了getOutputStream()
方法返回Socket的輸出流對(duì)象。只要連接的一端向該輸出流對(duì)象寫(xiě)入了數(shù)據(jù),連接的另一端就能從其輸入流對(duì)象中讀取到。


