JAVA試驗手冊_第1頁
JAVA試驗手冊_第2頁
JAVA試驗手冊_第3頁
JAVA試驗手冊_第4頁
JAVA試驗手冊_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、JAVA驗手冊2011 年 2 月實驗一 Java 編程環(huán)境下載、安裝、配置與運行【 開發(fā)語言及實現(xiàn)平臺或?qū)嶒灜h(huán)境 】Windows2000或 XP,與 UltraEdit【實驗?zāi)康摹?掌握下載 javasdk 軟件包2掌握設(shè)置 Java 程序運行環(huán)境的方法3掌握編寫與運行 Java 程序的方法4了解 Java 語言的概貌【實驗要求】1. JDK的下載與安裝2設(shè)置環(huán)境變量3. 使用 UltraEdit 編輯源程序4. 編譯 Java 源程序5. 運行 Java 程序6. 掌握向 main() 方法中傳遞參數(shù)【實驗內(nèi)容】一 JDK下載與安裝1 .機器要求Java對機器運行要求不高。下面給出的是基

2、于Windows平臺的機器要求。硬件要求:CPU田,128 M內(nèi)存,1G硬盤空間即可軟件要求: Windows2000/XP,2. 下載 JDK“PopularDownloads ”欄中可看到最新版的 JDK軟件包(),并下載。3. 安裝 SDK運行下載的“ jdk-6u15-windows-i586 ”軟件包,在安裝過程中可以設(shè)置 安裝路徑及選擇組件, 默認(rèn)的組件選擇是全部安裝, 安裝成功后, 其中 bin 文件夾中包含編譯器()、解釋器()、Applet查看器()等可執(zhí)行文件, lib文件夾中包含了所有的類庫以便幵發(fā)Java程序使用,demo文件夾中包含開源代碼程序?qū)嵗?。中主要文件夾和文件

3、安裝成功后, C:ProgramFilesJavajdk1.6.0_15 中文件和子目錄結(jié)構(gòu)如 圖所示。 其中 bin 文件夾中包含編譯器 ()、解釋器()、 Applet 查看器() 等可執(zhí)行文件, lib 文件夾中包含了所有的類庫以便開發(fā) Java 程序使用, sample 文件夾包含開源代碼程序?qū)嵗?src 壓縮文件中包含類庫開源代碼。 二設(shè)置環(huán)境變量J DK中的工具都是命令行工具,需要從命令行即MS-DOS!示符下運行它們。很多人可能會不習(xí)慣,但這是 Sun 特意采取的策略,為的是把精力 更多投入到Java語言本身而不是花在幵發(fā)工具上。以WindowsXP為例說明設(shè)置過程。右擊桌面“

4、我的電腦”圖標(biāo),選擇“屬性”菜單 在“高級”選項卡中單擊“環(huán)境變量”按鈕,將出現(xiàn)“環(huán)境變量”設(shè)置界 面 在“系統(tǒng)變量”中,找到變量名“ PATH,選中后,點擊“編輯”按鈕,增加路徑C:j2SDK1.6.0_15bin ”,如圖所示; 在“系統(tǒng)變量”框中,單擊“新建”按鈕,在出現(xiàn)的“新建系統(tǒng)變量”的 對話 框中, 在“變 量名 ”欄中 輸入“ classpath ”,設(shè) 置路徑 為 “.;C:J2SDK1.6.0_15lib ”, 如圖所示。設(shè)置完成后,單擊“開始”>“所有程序” >“附件” >“命令提示符”打幵DOS窗口,在命令行提示符輸入“ java ”或“ javac ”

5、回車后, 如果出現(xiàn)其用法參數(shù)提示信息,則安裝正確。三、編輯源程序要編寫 Java 程序,需要有文本編輯器??墒褂貌僮飨到y(tǒng)提供的記事本作 為編輯器, 也可選擇 UltraEdit 編輯軟件, 它可以使用不同顏色顯示 java 的關(guān)鍵字和類名,簡單好用。(1) 下載并安裝 UltraEdit 編輯軟件或其他編輯軟件 編寫在屏幕上顯示文字 “ HelloWorld !”的文件(和)。打開 UltraEdit 編輯軟件,新建源文件,并編寫源代碼,如圖所示。四編譯 java 源程序Java 源程序編寫后,要使用 Java 編譯器()進行編譯,將 Java 源程序 編譯成可執(zhí)行的程序代碼。 Java 源程

6、序都是擴展名為 .java 的文件。編 譯時,首先讀入 Java 源程序,然后進行語法檢查,如果出現(xiàn)問題就終止 編譯。語法檢查通過后,生成可執(zhí)行程序代碼即字節(jié)碼,字節(jié)碼文件名 和源文件名相同,擴展名為 .class 。1)打開命令提示符窗口,進入 java 源程序所在路徑(2)鍵入“ dir ”命令并回車可在目錄中看到生成的同名類文件五.運行Java程序使用java編譯器()可將編譯后的字節(jié)碼文件解釋為本地計算機代碼。在命令提示符窗口鍵入解釋器和要解釋的字節(jié)碼文件名javahelloworld 。按回車鍵即幵始執(zhí)行程序并輸出結(jié)果。注意:字節(jié)碼 文件區(qū)分大小寫。六、編寫程序要求給 main()方

7、法傳遞參數(shù),并在屏幕上輸出。七、在上面兩個源程序的基礎(chǔ)上自定義包,編譯運行程序。八(選做)編寫小應(yīng)用程序,嵌入到 HTML文件中,利用小程序查看器運行查看。 【思考題】環(huán)境變量path和classpath 的作用。實驗二Java基本語法練習(xí)【開發(fā)語言及實現(xiàn)平臺或?qū)嶒灜h(huán)境】Windows2000或 XP,與 UltraEdit【實驗?zāi)康摹? 了解 Java 的數(shù)據(jù)類型2 掌握各種變量的聲明方式3 理解運算符的優(yōu)先級4 掌握 java 基本數(shù)據(jù)類型。運算符與表達式、數(shù)組的使用方法5 理解 Java 程序語法結(jié)構(gòu),掌握順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)語 法的程序設(shè)計方法【實驗要求】1 編寫一個聲明 ja

8、va 不同數(shù)據(jù)類型變量的程序2 編寫一個使用運算符、表達式、變量的程序3 編寫一個使用 java 數(shù)據(jù)的程序4 編寫表達式語句、復(fù)合語句的程序5 編寫使用不同選擇結(jié)構(gòu)的程序6 編寫使用不同循環(huán)結(jié)構(gòu)的程序【實驗內(nèi)容】一聲明不同數(shù)據(jù)類型的變量 1編寫聲明不同數(shù)據(jù)類型變量的程序文件,源代碼如下。publicclassDemo2_1publicstaticvoidmain(Stringargs)byteb=0x55;shorts=0x55ff;inti=1000000;longl=0xffffL;charc='a'floatf=0.23F;doubled=;booleanB=true;

9、StringS=" 這是字符串類數(shù)據(jù)類型 "字節(jié)型變量 b="+b);短整型變量 s="+s);整型變量 i="+i);長整型變量 l="+l);字符型變量 c="+c);浮點型變量 f="+f);雙精度變量 d="+d);布爾型變量 B="+B);字符串類對象 S="+S);2編譯并運行該程序。3定義一個浮點數(shù)類型的數(shù)據(jù), 查看其在計算機內(nèi)部的二進制數(shù)據(jù)流 十進制或二進制整型數(shù)據(jù)顯示。提示:利用 floatToIntBit 方法)4在屏幕上輸出正、負(fù)無窮大的浮點數(shù)5. 創(chuàng)建一個CPe

10、rson類,包括以下屬性:姓名、身份證號、性別和年齡。要求設(shè)計該類并添加一個對其成員變量初始化的構(gòu)造方法。6. 課后思考題 P104-105 :1, 7,8二. 使用關(guān)系運算符和邏輯運算符1. 建立使用關(guān)系運算符和邏輯運算符的程序文件,源代碼如下。 classDemo2_2publicstaticvoidmain(Stringargs)inta=25,b=20,e=3,f=0;booleand=a<b;因為關(guān)系表達式a<b為假,所以其邏輯值為:"+d);if(e!=0&&a/e>5)因為e非0且a/e為8大于5,所以輸出a/e = "+a/

11、e);if(f!=0&&a/f>5)="+a/f);else因為f值為0,所以輸出f="+f);2. 編譯并運行該程序,結(jié)果如圖所示。三. 使用數(shù)組1. 建立使用數(shù)組的程序,本程序建立了一個長度為5的1維數(shù)組 , 源代碼如下。publicclassDemo2_3publicstaticvoidmain(Stringargs)inta=newint5;a0=10;a1=10+a0;a2=30;a3=40;a4=a1+a2;="+a0);="+a1);="+a2);="+a3);="+a4);2編譯并運行程

12、序。 四使用表達式語句與復(fù)合語句 1建立包含表達式語句程序,源代碼如下 classDemo2_4publicstaticvoidmain(Stringargs)intk,i=3,j=4;k=20*8/4+i+j*i;表達式(20*8/4+i+j*i)= "+k);2建立包含復(fù)合語句程序,源代碼如下。 classDemo2_5publicstaticvoidmain(Stringargs) intk,i=3,j=4;k=i+j;在復(fù)合塊外的輸出 k="+k);floatf;f=j+4.5F;i+;在復(fù)合塊內(nèi)的輸出 f="+f);在復(fù)合塊內(nèi)的輸出 k="+k

13、);在復(fù)合塊外的輸出 i="+i);3編譯并運行上述兩個源程序,結(jié)果如圖、所示 五使用選擇語句1使用 if.else 語句1)程序功能:使用 if.else 語句構(gòu)造多分支, 判斷某一年是否為閏年 閏年的條件是符合下面二者之一:能被 4整除,但不能被 100整除;能被 4 整除,又能被 100整除。(2)編寫源程序文件,代碼如下。 publicclassDemo2_6publicstaticvoidmain(Stringargs)booleanleap;intyear=2005; if(year%4=0&&year%100!=0)|(year%400=0)1/2/3;

14、 classDemo2_9publicstaticvoidmain(Stringargs)throwsIOExceptioncharch;按 1/2/3 數(shù)字鍵可得大獎 !"); 按空格鍵后回車可退出循環(huán)操作 .");while').+100="+sum); (3)編譯并運行程序,結(jié)果如圖所示。【思考題】1. 程序的復(fù)合結(jié)構(gòu)以及變量的使用范圍2. 選擇語句,哪些具有嵌套關(guān)系? 和dowhile的區(qū)別。實驗三 Java 語言面向?qū)ο蠡A(chǔ)實驗?zāi)康耐ㄟ^編程和上機實驗理解 Java 語言是如何體現(xiàn)面向?qū)ο缶幊袒舅?想,了解類的封裝方法,以及如何創(chuàng)建類和對象,了解

15、成員變量和成員方 法的特性,掌握面向?qū)ο蟪绦蛟O(shè)計的方法,了解類的繼承性和多態(tài)性的作 用,了解接口的作用。實驗要求1、 編寫一個體現(xiàn)面向?qū)ο笏枷氲某绦颍?、 編寫一個創(chuàng)建對象和使用對象的方法的程序;3、編寫一個顯示當(dāng)前日期和時間的程序;4、編寫不同成員變量修飾方法的程序;5、編寫不同成員方法修飾方法的程序;6、編寫體現(xiàn)類的繼承性(成員變量、成員方法、成員變量隱藏)的程序;7、編寫體現(xiàn)類的多態(tài)性(成員方法重載、構(gòu)造方法重載)的程序;實驗內(nèi)容1、 設(shè)計類來描述真實客觀世界中的事物,使用類的成員變量來表示事物的屬性和狀態(tài),使用類的成員方法來提供對成員變量的訪問或修改(1) 程序功能: 設(shè)計一個用來描述

16、汽車的類, 使用類的非靜態(tài)成員變量來表示汽車的車主姓名、當(dāng)前的速率和當(dāng)前方向盤的轉(zhuǎn)向角度,使用類的非靜態(tài)成員方法來表示改變汽車的速率和停車兩個操作。 (2)程序源代碼如下。publicclassEXP3_1 privateStri ngow nerName;200f25f解Java系統(tǒng)包的結(jié)構(gòu)。2. 掌握創(chuàng)建自定義包的方法。3. 掌握使用系統(tǒng)接口的技術(shù)和創(chuàng)建自定義接口的方法。4. 理解系統(tǒng)異常處理的機制和創(chuàng)建自定義異常的方法?!緦嶒灢襟E】一.了解并使用Java的系統(tǒng)包1. API包、接口、異常處理的作用包是類和接口的集合。利用包可以把常用的類或功能相似的類放在一個包中。Java語言提供系統(tǒng)包,

17、其中包含了大量的類,可以在編寫Java程序時直接引用它們。為便于管理和使用它們,將這些類分為了不同的包。包又稱類庫或 API包,所謂API (ApplicationProgramlnterface)即應(yīng)用程序接口。API包一方面提供豐富的類與方法供大家使用,如畫圖形、播 放聲音等,另一方面又負(fù)責(zé)和系統(tǒng)軟硬件打交道,圓滿實現(xiàn)用戶程序的功 能。所有 JavaAPI 包都以“ java. ”開頭,以區(qū)別用戶創(chuàng)建的包。接口解決了 Java不支持多重繼承的問題,可以通過實現(xiàn)多個接口達到 與多重繼承相同的功能。處理程序運行時的錯誤和設(shè)計程序同樣重要,只有能夠完善處理運行 時出錯的程序,軟件系統(tǒng)才能長期穩(wěn)定

18、地運行,異常處理就是說明如何處 理程序運行時出錯的問題。2上網(wǎng)瀏覽 JavaAPI 文檔在地址上,可以看到Java系統(tǒng)提供的JavaAPI文檔,類文檔的內(nèi)容主要是:類層次、類及用途描述、成員變量列表、構(gòu)造方法列表、成員方法 列表、從類層次上繼承的方法列表、成員變量的詳細說明、構(gòu)造方法詳細 說明、成員方法詳細說明。在這里可以看到Java提供的JavaAPI文檔的最新內(nèi)容二創(chuàng)建并使用自定義包1自定義包的聲明方式vpackage><自定義包名 >聲明包語句必須添加在源程序的第一行,表示該程序文件聲明的全部類 都屬于這個包。2創(chuàng)建自定義包 Mypackage在存放源程序的文件夾中建立

19、一個子文件夾 Mypackage。例如,在 “E:javademo ”文件夾之中創(chuàng)建一個與包同名的子文件夾 Mypackage (E:javademoMypackage ),并將編譯過的 class 文件放入該文件夾中。注意:包名與文件夾名大小寫要一致。再添加環(huán)境變量 classpath 的路徑,例如: D:javalib;E:javademo3在包中創(chuàng)建類(1) 程序功能:在源程序中,首先聲明使用的包名Mypackage,然后創(chuàng)建YM類,該類具有計算今年的年份,可以輸出一個帶有年月日的字符 串的功能。( 2)編寫文件,源代碼如下。packageMypackage;et;2 a( 2)編譯并運

20、行四了解異常處理機制1 錯誤與異常在程序執(zhí)行期間,會有許多意外的事件發(fā)生。例如,程序申請內(nèi)存時 沒有申請到、對象還未創(chuàng)建就被使用、死循環(huán)等,稱為運行錯誤。據(jù)錯誤 的性質(zhì)將運行錯誤分為錯誤與異常兩種類型。( 1 )錯誤程序進入了死循環(huán)或內(nèi)存溢出,這類現(xiàn)象稱為錯誤或致命性錯誤。錯 誤只能在編程階段解決,運行時程序本身無法解決,只能依靠其它程序干 預(yù),否則會一直處于一種不正常的狀態(tài)。( 2)異常運算時除數(shù)為 0,或操作數(shù)超出數(shù)據(jù)范圍,打開一個文件時發(fā)現(xiàn)文件 不存在, 網(wǎng)絡(luò)連接中斷等等, 這類運行錯誤現(xiàn)象稱為異常。 對于異常情況, 可在源程序中加入異常處理代碼,當(dāng)程序出現(xiàn)異常時,由異常處理代碼調(diào) 整程

21、序運行流程,使程序仍可正常運行直到正常結(jié)束。由于異常是可以檢測和處理的,所以產(chǎn)生了相應(yīng)的異常處理機制。而錯誤處理一般由系統(tǒng)承擔(dān)對于一個應(yīng)用軟件,異常處理機制是不可缺少的。程序員必須在程序中考慮每一個可能發(fā)生的異常情況并進行處理,以保證程序在任何情況下都能正常運行。事實證明,一個仔細設(shè)計了異常處理的程序,可以長時間的可靠運行,而不容易發(fā)生致命的錯誤,如程序被迫關(guān)閉、甚至系統(tǒng)終止 等等。所以學(xué)會進行異常情況處理對于想編寫功能完善且具有實用價值的 程序員來說是必不可少的。2異常發(fā)生的原因(1) Java虛擬機檢測到了非正常的執(zhí)行狀態(tài),這些狀態(tài)可能是由以下幾種情況引起的:表達式的計算違反了 Java語

22、言的語義,例如整數(shù)被0除。在載入或鏈接Java程序時出錯。超出了某些資源限制,例如使用了太多的內(nèi)存。(2) Java程序代碼中的throw語句被執(zhí)行。( 3)異步異常發(fā)生。異步異常的原因可能有: Thread的stop方法被調(diào)用。 Java虛擬機內(nèi)部錯誤發(fā)生。3異常處理機制發(fā)生異常后,怎么處理異常呢?Java提供了異常處理機制來處理異常。分為兩個步驟:( 1 )拋出異常Java是這樣規(guī)定的:當(dāng)語義限制被違反時,將會拋出( throw )異常,即產(chǎn)生一個異常事件,生成一個異常對象,并把它提交給運行系統(tǒng),再由 運行系統(tǒng)尋找相應(yīng)的代碼來處理異常。一個異常對象可以由 Java 虛擬機來 產(chǎn)生,也可以由

23、運行的方法生成。異常對象中包含了異常事件類型、程序 運行狀態(tài)等必要信息。(2)捕獲異常 異常拋出后,運行時系統(tǒng)從生成異常對象的代碼開始,沿方法的調(diào)用 棧進行查找,直到找到包含相應(yīng)處理的方法代碼,并把異常對象交給該方 法為止,這個過程稱為捕獲( catch )異常。簡單說異常處理機制就是: 當(dāng)語義限制被違反時, 將會拋出異常對象, 并將引起程序流程從異常發(fā)生點轉(zhuǎn)移到程序員指定的處理異常方法代碼 處進行異常處理。五了解異常對象的類型 在異常發(fā)生后,系統(tǒng)會產(chǎn)生一個異常事件,生成一個異常對象,有哪 些異常對象呢?這些異常對象來自哪些類呢?Java中的異常類具有層次結(jié)構(gòu)組織。其中,Throwable類是

24、Error錯誤類和Exception異常類的父類,它是Object的直接子類。RuntimeException 運行時異常類是 Exception 異常類的子類。如圖所示。異常類的子類(1)RuntimeException 運行時異常類,主要包括以下異常子類: ArithmeticExceptio n算術(shù)異常類:表示遇到了異常的算術(shù)問題,例如被0整除。ArrayStoreException 數(shù)組下標(biāo)越界異常類:試圖把與數(shù)組類型不相符的值存人數(shù)組。 ClassCastException類型強制轉(zhuǎn)換異常類:試圖把一個對象的引用強制轉(zhuǎn)換為不合適的類型。 IndexOutOfBoundsExcepti

25、on 下標(biāo)越界異常類:下標(biāo)越界。 NullPointerException 空指針異常類:試圖使用一個空的對象引用。 SecurityException 違背安全原則異常類:檢測到了違反安全的行為。(2)NoSuchMethodException 方法未找到異常(3)圖形界面異常類( 4)輸入輸出異常類 IOException :申請 I/O 操作沒有正常完成。 EOFException :在輸入操作正常結(jié)束前遇到了文件結(jié)束符。 FileNotFoundException :在文件系統(tǒng)中,沒有找到由文件名字符串指定的文件。(5)Exception 異常類的其它子類 EmptyStackExce

26、ption :試圖訪問一個空堆棧中的元素。 NoSuchFieldException :試圖訪問一個不存在的域。 NoSuchMethodException :試圖訪問不存在的方法。 ClassNotFoundException :具有指定名字的類或接口沒有被發(fā)現(xiàn)。 CloneNotSupportedException :克隆一個沒有實現(xiàn) Cloneable 接口的類。 IllegalAccessException :試圖用給出了完整的路徑信息的字符串加載一個類,但是當(dāng)前正在執(zhí)行的方法無法訪問指定類,因為該類不是public類型或在另一個包中。 InstantiationException:試

27、圖使用 Class 的newlnstanee 方法創(chuàng)建一個對象實例,但指定的對象沒有被實例化,因為它是一個接口、抽 象類或者一個數(shù)組。 In terruptedException:當(dāng)前的線程正在等待,而另一個線程使用了Thread的interrupt 方法中斷了當(dāng)前線程。2. Error錯誤類的子類(1) VirtualMachineError虛擬機錯誤OutOfMemoryError內(nèi)存溢出錯誤StackOverflowError 棧溢出錯誤(2) LinkageError 鏈接錯誤NoClassDefNotFoundError類定義未找到錯誤(3) 圖形界面錯誤六.使用trycatch語句

28、處理異常1.異常類型匹配的處理方式(1) 程序功能:首先說明"這是一個異常處理的例子",然后在程序中主 動產(chǎn)生一個ArithmeticException類型被0除的異常,并用catch語句捕獲這個異常。最后通過ArithmeticException類的對象e的方法getMessage給出異常的具體類型并顯示出來。(2) 編寫使用try catch語句處理異常的程序文件,源代碼如下。publicclassLX4_6publicstaticvoidmain(Stringarg3) 這是一個異常處理的例子 n");tryinti=10;i/=0;/* 在此處利用 cat

29、ch 語句捕獲 ArithmeticException 異常 */ finally語句被執(zhí)行 ");(3)編譯并運行程序。 2異常類型不匹配的程序( 1)編寫一個 catch 語句中聲明的異常類型不匹配的程序,源代碼如下 publicclassLX4_7publicstaticvoidmain(Stringargs) “這是一個異常處理的例子 n ”);tryinti=10;i/=0;intb=42/a;異常是: "+();finally語句被執(zhí)行 ");(2) 編譯并運行程序LX4_7,結(jié)果如圖所示。因為LX4_7程序試圖捕獲一個異常類為 In dexOutOf

30、Bou ndsExceptio n 的異常,但發(fā)生的異常卻是 ArithmeticException 類,所以,程序可以通 過編譯但在運行時,系統(tǒng)會給出異常報告:報告所發(fā)生的但沒有被捕獲的 異常。不過在此之前,其它語句和 finally 語句將會被執(zhí)行。3包含多個 catch 子句的異常處理程序(1) 程序功能:在try子句中設(shè)計兩個可能出現(xiàn)的異常,當(dāng) a為0時會 發(fā)生異常。另外一個是肯定的異常,因為數(shù)組 c的長度為1,定義c42是 為法的。通過兩個 catch 子句分別來捕獲異常。( 2)編寫包含多個 catch 子句的程序,源代碼如下。publicclassLX4_8 publicstat

31、icvoidmain(Stringargs) tryinta=;="+a);intc=1;c42=99;catch(ArithmeticExceptione)發(fā)生了被 0除: "+e);catch(ArrayIndexOutOfBoundsExceptione)數(shù)組下標(biāo)越界: "+e);(3) 實驗下面兩種情況:1)在程序運行時不輸入?yún)?shù),則的值為 0,這將引起一個被 0除異常。 其結(jié)果如圖所示。2)在運行程序時,輸入 22,將不會引起被 0除異常,但會引起一另一 個異常即數(shù)組下標(biāo)越界 ArrayIndexOutOfBoundsException 。因為整型數(shù)組

32、只有一個元素 c0 ,程序中卻要使用 c42 ,這將發(fā)生數(shù)組下標(biāo)越界。運行結(jié)果如圖所示。七使用 throw 語句拋出異常1throw 語句的作用在上面的實驗中,可以發(fā)現(xiàn),異常對象是 Java 運行時由系統(tǒng)拋出的。拋出異常也可以通過使用throw語句實現(xiàn)。throw是Java語言的關(guān)鍵字,用來告知編譯器此處要發(fā)生一個異常。throw后面要跟一個新創(chuàng)建的異常類對象,用于指出異常的名稱和類型。throw語句格式為:<throw><new><異常對象名()>;程序會在throw語句處立即終止,轉(zhuǎn)向try catch尋找異常處理方法, 不再執(zhí)行 throw 后面的語句

33、。2throw 語句的使用(1) 編寫帶有 throw 語句的程序,源代碼如下。publicclassLX4_9staticvoidthrowProcess()trythrownewNullPointerException(" 空指針異常 ");catch(NullPointerExceptione)在throwProcess方法中捕獲一個"+();throwe;publicstaticvoidmain(Stringargs)trythrowProcess();catch(NullPointerExceptione)再次捕獲: "+e);(2)編譯并運行

34、程序,結(jié)果如圖所示。(3)程序執(zhí)行流程程序首先調(diào)用 throwProcess 方法,明確地拋出了一個NullPointerException 異常并將其命名為“空指針異常”。然后程序流程 將轉(zhuǎn)向 throwProcess 方法中的 catch 子句,輸出一條信息。 throwProcess 方法的catch子句又拋出了一個同樣的異常 e。然后結(jié)束throwProcess方法 的調(diào)用,執(zhí)行main方法中的catch子句,再次捕獲這個異常。八使用 throws 子句1throws 子句的作用throws 子句一般用來表明在使用該方法時可能拋出異常但不捕獲的 異常。異常由系統(tǒng)來處理。throws 子句也可以指出拋出異常是 RuntimeException 或自定義異常 類,即異常的類型,以便準(zhǔn)備調(diào)用其它方法捕獲它,這種情況一般需要兩 個方法來分別處理拋出異常和處理異常。2只是在方法中拋出異常的程序?qū)τ诔绦蛑袩o法處理的異常,可以使用 throws 子句在方法中拋出異常 交由系統(tǒng)處理。1)程序功能:在程序中打開文件,因為該文件可能不存在或路徑不對,所以存在 IOException 類型異常的可能,因此這里使用 throws 來拋出 異常

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論