《Java程序設(shè)計》實驗指導(dǎo)書_第1頁
《Java程序設(shè)計》實驗指導(dǎo)書_第2頁
《Java程序設(shè)計》實驗指導(dǎo)書_第3頁
《Java程序設(shè)計》實驗指導(dǎo)書_第4頁
《Java程序設(shè)計》實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE Java程序設(shè)計實驗指導(dǎo)書成都信息工程學(xué)院計算機系2006目 錄 TOC o 1-1 h z u HYPERLINK l _Toc173257874 概 述 PAGEREF _Toc173257874 h - 1 - HYPERLINK l _Toc173257875 實驗一 Java程序設(shè)計基礎(chǔ) PAGEREF _Toc173257875 h - 3 - HYPERLINK l _Toc173257876 實驗二 Java語言基礎(chǔ) PAGEREF _Toc173257876 h - 15 - HYPERLINK l _Toc173257877 實驗三 Java語言面向?qū)ο蠡A(chǔ) PA

2、GEREF _Toc173257877 h - 28 - HYPERLINK l _Toc173257878 實驗四 異常處理和包裝類的編程練習(xí) PAGEREF _Toc173257878 h - 45 - HYPERLINK l _Toc173257879 實驗五 Java語言的字符串類 PAGEREF _Toc173257879 h - 54 - HYPERLINK l _Toc173257880 實驗六 多線程基礎(chǔ)編程 PAGEREF _Toc173257880 h - 55 - HYPERLINK l _Toc173257881 實驗七 多線程并發(fā)編程 PAGEREF _Toc1732

3、57881 h - 56 - HYPERLINK l _Toc173257882 實驗八 字符流和字符流輸入/輸出編程 PAGEREF _Toc173257882 h - 57 - HYPERLINK l _Toc173257883 實驗九 集合、列表、映射類編程 PAGEREF _Toc173257883 h - 58 - PAGE - 102 -概 述上機實驗的目的上機實驗的目的是提高學(xué)生的分析問題、解決問題的能力和動手能力,通過實踐環(huán)節(jié)理解Java語言的基本結(jié)構(gòu)和程序設(shè)計方法。通過親手編程掌握Java 語言編程的方法。實驗基本內(nèi)容為了使學(xué)生在上機實驗時目標明確,本實驗指導(dǎo)書針對課程內(nèi)容編

4、寫了9個實驗。學(xué)生可以在課內(nèi)機時先完成指導(dǎo)書中給出的程序,理解所學(xué)的知識,在此基礎(chǔ)上再編寫其他應(yīng)用程序。指導(dǎo)書中的9個實驗如下。HYPERLINK l _Toc173254632Java程序設(shè)計基礎(chǔ)HYPERLINK l _Toc173254633Java語言基礎(chǔ)HYPERLINK l _Toc173254634Java語言面向?qū)ο蠡A(chǔ)HYPERLINK l _Toc173254635異常處理和包裝類的編程練習(xí)HYPERLINK l _Toc173254636Java語言的字符串類HYPERLINK l _Toc173254637多線程基礎(chǔ)編程HYPERLINK l _Toc173254638

5、多線程并發(fā)編程HYPERLINK l _Toc173254639字符流和字符流輸入/輸出編程HYPERLINK l _Toc173254640集合、列表、映射類編程實驗任務(wù)與時間安排Java 編程技術(shù)是一門實踐性很強的課程,除了在課內(nèi)安排的實驗外,鼓勵同學(xué)在課外使用相關(guān)技術(shù)進行編程練習(xí)。Java 編程技術(shù)上機實驗時間為18學(xué)時,與教學(xué)內(nèi)容同時進行上機實驗。18個上機學(xué)時分為9個實驗。實驗設(shè)備要求Java的開發(fā)和運行環(huán)境對機器的配置要求較高。下面給出的是實驗用機的軟件和硬件基本配置。軟件配置:Windows 2000 Professional、IE5.5以上硬件配置:CPU P4 2.0G以上、

6、內(nèi)存 512MB以上實驗一 Java程序設(shè)計基礎(chǔ)實驗?zāi)康膶W(xué)習(xí)構(gòu)建Java語言開發(fā)和運行環(huán)境學(xué)習(xí)使用EditPlus編寫Java源程序?qū)W習(xí)使用javac命令編譯源程序?qū)W習(xí)使用java命令運行程序初步了解使用Java語言進行程序設(shè)計的基本步驟為進行后續(xù)實驗做好準備實驗要求下載、安裝Java軟件開發(fā)工具包(JSDK);設(shè)置相關(guān)環(huán)境變量;使用EditPlus編寫一個簡單的Java程序;使用javac命令編譯源程序;使用java命令運行程序,觀察運行結(jié)果。實驗內(nèi)容Java軟件開發(fā)工具包(JSDK)的下載與安裝下載SDK為了建立基于SDK 的Java 運行環(huán)境,需要先下載Sun 的免費SDK 軟件包。SD

7、K 包含了一整套開發(fā)工具,其中包含對編程最有用的是Java 編譯器、Applet 查看器和Java 解釋器。在瀏覽器中輸入/,可看到圖1.1 所示的Sun 公司網(wǎng)站頁面。圖 1.1在頁面右邊“Popular Downloads”欄中可看到最新版的SDK 軟件包(早期版本稱為JDK),這里顯示的是“J2SE 5.0”(當前最新版)。單擊“J2SE 5.0”超鏈接,可看到圖1.2 所示頁面。圖 1.2在頁面的“Download JDK 5.0 Update 6”欄可以選擇下載 最新的J2SE 5.0 SDK 軟件包。有兩種選擇:一種是在線安裝“Windows Installation”;一種是離線

8、安裝“Windows Offline Installation”。單擊頁面中“SDK”列對應(yīng)的“DOWNLOAD”超鏈接,可看到圖1.3 所示的下載協(xié)議說明書。圖 1.3單擊“ACCEPT”按鈕,同意Sun 公司的協(xié)議,可進入到圖1.4 所示的下載頁面,單擊“Windows Offline Installation, Multi-language”超鏈接,開始下載工作,下載的安裝文件保存為“jdk-1_5_0_06-windows-i586-p.exe”。圖 1.4安裝SDK運行“jdk-1_5_0_06-windows-i586-p.exe”軟件包,可安裝SDK,在安裝過程中可以設(shè)置安裝路徑

9、及選擇組件,默認的安裝路徑為“C:Program FilesJavajdk1.5.0_06”,這里將安裝目錄指定為“D:jdkjdk1.5.0_06”,默認的組件選擇是全部安裝。SDK安裝目錄中的Java命令安裝成功后,D:jdkjdk1.5.0_06 中的文件和子目錄結(jié)構(gòu)如圖1.5 所示。圖 1.5其中,“bin”文件夾中包含編譯器(javac.exe)、解釋器(javac.exe)、Applet 查看器(appletviewer.exe)等Java命令的可執(zhí)行文件,如圖1.6 所示?!癲emo”文件夾中包含一些源代碼的程序示例。圖 1.6環(huán)境變量的設(shè)置SDK 中的工具都是命令行工具,需要在

10、命令行窗口從命令行提示符下運行它們。很多人可能會不習(xí)慣,但這是Sun 特意采取的策略,為的是把精力更多地投入到Java 語言本身而不是花在開發(fā)工具上。為了能正確方便的使用SDK,可手工配置一些Windows 的環(huán)境變量。以Windows 2000 為例說明設(shè)置過程。在桌面“我的電腦”圖標上單擊右鍵,選擇“屬性”菜單,將出現(xiàn)系統(tǒng)特性設(shè)置界面,如圖1.7 所示。圖 1.7在“高級”選項卡中單擊“環(huán)境變量”按鈕。將出現(xiàn)“環(huán)境變量”設(shè)置界面,如圖1.8 所示。圖 1.8在“系統(tǒng)變量”框中選擇“Path”,然后單擊“編輯”按鈕,在出現(xiàn)的“編輯系統(tǒng)變量”對話框中,在“變量值”欄的命令前添加“D:jdkjd

11、k1.5.0_06bin;”命令,如圖1.9 所示。圖 1.9用同樣方法設(shè)置環(huán)境變量“classpath”,其值為“D:jdkjdk1.5.0_06lib;”命令。設(shè)置完成后,單擊“開始”“運行”,在對話框中輸入“cmd”,點擊“確定”或鍵盤回車鍵后打開命令行窗口。在命令提示符下輸入“java”或“javac”,回車后,如果出現(xiàn)其用法參數(shù)提示信息,則安裝正確,如圖1.10所示。圖 1.10為了在打開命令行窗口時可以直接進入包含你開發(fā)的java程序的路徑下,下面以Windows 2000為例說明設(shè)置過程。(1)首先建立一個存放java 源程序的路徑和文件夾,如將實驗中建立的java 源程序都存放

12、在為“d:javaprog”文件夾中。(2)單擊“開始”“所有程序”“附件”“命令提示符”,選擇“命令提示符”選項右擊,在出現(xiàn)的下拉菜單中選擇“屬性”菜單,將打開“命令提示符 屬性”對話框,如圖1.11 所示。圖 1.11(3)在“命令提示符 屬性”對話框中選擇“快捷方式”選項,在“起始位置”欄輸入“d:javaprog”,單擊“確定”按鈕。進行了上面的設(shè)置后,打開命令行窗口時將直接進入“e:javaprog”路徑下。如果沒有進行上述設(shè)置,可使用DOS 命令,直接輸入“d:”按回車進入到d 盤,再輸入“cd java”到d 盤的java 子目錄下,再輸入“cd prog”即可到“e:javap

13、rog”路徑下。使用EditPlus編寫源程序要編寫Java 程序,需要有文本編輯器??梢允褂貌僮飨到y(tǒng)提供的Edit 或記事本作為編輯器,最好選擇EditPlus 編輯軟件,它可以使用不同顏色顯示Java 的關(guān)鍵字和類名,簡單好用,同時可以對程序進行編譯和運行。EditPlus為共享軟件,在教育網(wǎng)各個軟件下載網(wǎng)站都有下載。下載安裝EditPlus軟件后打開EditPlus 編輯軟件,如圖1.17 所示,在其右邊文本區(qū)輸入如下代碼。public class HelloJava public static void main(String args) System.out.println(Hell

14、o Java!);圖1.17將文件命名為HelloJava.java,保存為文本文件格式文件,注意保存文件的路徑。根據(jù)前面環(huán)境變量的設(shè)置,HelloJava.java 應(yīng)該保存在“e:javaprog”的路徑下。使用javac命令編譯源程序Java 源程序編寫后,要使用Java 編譯器(javac.exe)進行編譯,將Java 源程序編譯成可執(zhí)行的程序代碼。Java 源程序都是擴展名為 .java 的文本文件。編譯時首先讀入Java 源程序,然后進行語法檢查,如果出現(xiàn)問題就終止編譯。語法檢查通過后,生成可執(zhí)行程序代碼即字節(jié)碼,字節(jié)碼文件名和源文件名相同,擴展名為 .class??砂凑找韵虏襟E操

15、作:(1) 打開命令提示符窗口進入Java 源程序所在路徑。(2) 鍵入“javac HelloJava.java”,如圖1.18 所示。圖 1.8(3) 按回車鍵開始編譯(注意:文件名大小寫敏感)。如果源程序沒有錯誤,則屏幕上沒有輸出,鍵入 “dir”按回車鍵后可在目錄中看到生成了一個同名字的.class 文件“Hello. class” ,如圖1.18 所示。否則,將顯示出錯信息。使用java命令運行程序使用Java 解釋器(java.exe)可將編譯后的字節(jié)碼文件HelloJava.class 解釋執(zhí)行。在命令提示符窗口鍵入“java HelloJava”,按回車鍵即開始解釋并可看到運行

16、結(jié)果,如果看到如圖1.19 所示結(jié)果,表明程序運行成功了,這是一種字符方式的應(yīng)用程序其結(jié)果顯示在屏幕。圖 1.19在EditPlus中編譯和運行程序EditPlus中可以設(shè)置在后臺運行javac.exe和java.exe或其它外部可執(zhí)行程序,同時可以指定當前編輯的文件或其它內(nèi)容作為外部程序的執(zhí)行參數(shù),并將外部程序運行的結(jié)果顯示在消息欄中,這可簡化對Java程序編譯和執(zhí)行的操作,提高編程效率。打開EditPlus ,單擊“工具”“配置用戶工具”菜單,如圖1.22 所示。圖 1.22在打開的“參數(shù)設(shè)置”窗口如圖1.23、圖1.24 所示配置編譯與運行環(huán)境。設(shè)置“編譯”工具單擊“組名稱”按鈕確定工具

17、組的名稱。單擊“添加工具”按鈕,從彈出的快捷菜單中選擇“程序文件”命令。在“菜單文字”欄中輸入“編譯”文字;在“命令”欄中輸入或通過文件夾選擇javac.exe文件的路徑;在“參數(shù)”欄選擇“文件名稱”;在“初始目錄”欄輸入Java 程序所在的路徑。設(shè)置“運行”工具與(a)同樣的方法可以設(shè)置“運行”工具。請同學(xué)自己練習(xí)。圖 1.23圖 1.24編譯與運行設(shè)置工具后,在“工具”菜單下的下拉菜單中就可以對Java 程序進行編譯與運行操作了。單擊“工具”“編譯”菜單,如圖1.25 所示。就開始對選中的程序進行編譯處理。該過程要等一會兒。圖 1.25編譯通過后,可在右下方窗口看到編譯結(jié)果,如圖1.26

18、所示。如果程序有問題,會看到提示。圖 1.26編譯成功后,可運行該程序。單擊“工具”“運行”菜單,如圖1.27 所示。圖 1.27運行成功后,可在右下方窗口看到程序的運行結(jié)果,如圖1.28 所示。圖 1.28實驗二 Java語言基礎(chǔ)實驗?zāi)康牧私釰ava 的數(shù)據(jù)類型;掌握各種變量的聲明方式;理解運算符的優(yōu)先級;掌握Java 基本數(shù)據(jù)類型、運算符與表達式、數(shù)組的使用方法;理解Java 程序語法結(jié)構(gòu),掌握順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)語法的程序設(shè)計方法;通過以上內(nèi)容,掌握Java 語言的編程規(guī)則。實驗要求編寫一個聲明Java 不同數(shù)據(jù)類型變量的程序;編寫一個使用運算符、表達式、變量的程序;編寫一個使用

19、Java 數(shù)組的的程序;編寫表達式語句、復(fù)合語句的程序;編寫使用不同選擇結(jié)構(gòu)的程序;編寫使用不同循環(huán)結(jié)構(gòu)結(jié)構(gòu)的程序。實驗內(nèi)容聲明不同數(shù)據(jù)類型的變量編寫聲明不同數(shù)據(jù)類型變量的程序文件LX2_1.java,源代碼如下。public class EXP2_1 public static void main(String args) byte b=0 x55;short s=0 x55ff;int i=1000000;long l=0 xffffL;char c=a;float f=0.23F;double d=0.7E-3;boolean B=true;String S=這是字符串類數(shù)據(jù)類型;Sys

20、tem.out.println(字節(jié)型變量 b = +b);System.out.println(短整型變量 s = +s);System.out.println( 整型變量 i = +i);System.out.println(長整型變量 l = +l);System.out.println(字符型變量 c = +c);System.out.println(浮點型變量 f = +f);System.out.println(雙精度變量 d = +d);System.out.println(布爾型變量 B = +B);System.out.println(字符串類對象 S = +S);編譯并運行

21、該程序,結(jié)果如圖2.1 所示。圖 2.1了解變量的使用范圍建立EXP2_2.java 文件,通過本程序了解變量的使用范圍,源代碼如下。public class EXP2_2 static int i=10;public static void main(String args) int k=10;System.out.println(i=+i);System.out.println(k=+k);System.out.println(i=+i);System.out.println(k=+k);/編譯時將出錯,已出k的使用范圍編譯EXP2_2.java此時會出現(xiàn)錯誤提示如圖2.2 所示。因為變量

22、k 在方法塊中聲明,在方法塊之外它是不存在的,所以編譯時會出錯。圖 2.2修改上面的程序成功運行該程序思考:EXP2_2.java 程序說明了什么問題?使用關(guān)系運算符和邏輯運算符建立使用關(guān)系運算符和邏輯運算符的程序文件,源代碼如下。class EXP2_3 public static void main(String args) int a=25, b=20, e=3, f=0;boolean d=ab;System.out.println(a=25,b=20,e=3,f=0);System.out.println(因為關(guān)系表達式 a5)System.out.println(因為e 非0 且a

23、/e 為8 大于5,所以輸出 a/e +a/e);if (f!=0 & a/f5)System.out.println(a/f = +a/f);elseSystem.out.println(因為f 值為0,所以輸出 f = +f);編譯并運行該程序,結(jié)果如圖2.3 所示。圖 2.3使用數(shù)組建立使用數(shù)組的程序,本程序建立了一個長度為5 的1 維數(shù)組,一個長度為12 的2 維數(shù)組,源代碼如下。public class EXP2_4 public static void main(String args) int a=new int5;int arr1=new int34;a0=10;a1=10+a

24、0;a2=30;a3=40;a4= a1+ a2;arr100=0; arr101=1; arr102=2;arr110=3; arr111=4; arr112=5;arr120=6; arr121=7; arr122=8;System.out.println(a+0+ = +a0);System.out.println(a+1+ = +a1);System.out.println(a+2+ = +a2);System.out.println(a+3+ = +a3);System.out.println(a+4+ = +a4);System.out.println(arr1(+0+,+0+)

25、= +arr100);System.out.println(arr1(+0+,+1+) = +arr101);System.out.println(arr1(+0+,+2+) = +arr102);System.out.println(arr1(+1+,+0+) = +arr110);System.out.println(arr1(+1+,+1+) = +arr111);System.out.println(arr1(+1+,+2+) = +arr112);編譯并運行程序,結(jié)果如圖2.4 所示。圖 2.4使用表達式語句與復(fù)合語句建立包含表達式語句程序,源代碼如下。class EXP2_5pub

26、lic static void main(String args) int k, i=3, j=4;k=20*8/4+i+j*i;System.out.println(表達式(20*8/4+i+j*i)+k);建立包含復(fù)合語句程序,源代碼如下。class EXP2_6public static void main(String args) int k, i=3, j=4;k=i+j;System.out.println(在復(fù)合塊外的輸出 k=+k);float f;f=j+4.5F;i+;System.out.println(在復(fù)合塊內(nèi)的輸出 f=+f);System.out.println(

27、在復(fù)合塊內(nèi)的輸出 k=+k);System.out.println(在復(fù)合塊外的輸出 i=+i);編譯并運行上述兩個源程序,結(jié)果如圖2.5、2.6 所示。將變量i 在塊內(nèi)定義會怎樣?改變其他變量的位置看看會發(fā)生什么變化。思考:指出程序的復(fù)合結(jié)構(gòu)以及變量的使用范圍。圖 2.5圖 2.6使用選擇語句 使用if.else 語句程序功能:使用if.else 語句構(gòu)造多分支,判斷某一年是否為閏年。閏年的條件是符合下面二者之一:能被4 整除,但不能被100 整除;能被4 整除,又能被100 整除。編寫源程序文件,代碼如下。public class EXP2_7 public static void mai

28、n(String args) boolean leap;int year=2005;if (year%4=0 & year%100!=0) | (year%400=0) / 方法1System.out.println(year+ 年是閏年);elseSystem.out.println(year+ 年不是閏年);year=2008; / 方法2if (year%4!=0)leap=false;else if (year%100!=0)leap=true;else if (year%400!=0)leap=false;elseleap=true;if (leap=true)System.out.

29、println(year+ 年是閏年);elseSystem.out.println(year+ 年不是閏年);year=2050; / 方法3if (year%4=0) if (year%100=0) if (year%400=0)leap=true;elseleap=false;elseleap=false;elseleap=false;if (leap=true)System.out.println(year+ 年是閏年);elseSystem.out.println(year+ 年不是閏年);編譯運行程序,其結(jié)果如圖2.7 所示。圖 2.7思考:本程序中有幾個選擇語句,哪些具有嵌套關(guān)系

30、?使用switch 語句 程序功能:在不同溫度時顯示不同的解釋說明。 程序源代碼如下。class EXP2_8public static void main(String args) int c=38;switch (c10?1:c25?2:c35?3:4) case 1:System.out.println( +c+ 有點冷。要多穿衣服。);case 2:System.out.println( +c+ 正合適。出去玩吧。);case 3:System.out.println( +c+ 有點熱。);default:System.out.println( +c+ 太熱了!開空調(diào)。);編譯運行程序

31、,其結(jié)果如圖2.8 所示。圖 2.8使用循環(huán)語句for 循環(huán)語句練習(xí)程序功能:按5 度的增量打印出一個從攝氏溫度到華氏溫度的轉(zhuǎn)換表。程序源代碼如下。class EXP2_9public static void main (String args) int h,c;System.out.println(攝氏溫度華氏溫度);for (c=0; c=40; c+=5) h=c*9/5+32;System.out.println(+c+h);編譯并運行程序,其結(jié)果如圖2.9 所示。圖 2.9while 循環(huán)語句練習(xí)程序功能:運行程序后從鍵盤輸入數(shù)字1/2/3 后,可顯示抽獎得到的獎品;如果輸入其它數(shù)字

32、或字符顯示“沒有獎品給你!”。程序源代碼如下。import java.io.*;class EXP2_10 public static void main(String args) throws IOException char ch;System.out.println(按 1/2/3 數(shù)字鍵可得大獎!);System.out.println(按Q鍵可退出循環(huán)操作.);while (ch=(char)System.in.read()!= ) System.in.skip(2); / 跳過回車鍵switch (ch) case 1:System.out.println(恭喜你得大獎,一輛汽車!

33、);break;case 2:System.out.println(不錯呀,你得到一臺筆記本電腦!);break;case 3:System.out.println(沒有白來,你得到一臺冰箱!);break;case q: System.out.println(“歡迎下次再來!”); System.exit(0);default:System.out.println(真不幸,你沒有獎品!下次再來吧。);編譯源程序。在命令提示符窗口運行程序,然后分別按1、2、3、r 結(jié)果如圖2.10 所示。圖 2.10dowhile 循環(huán)語句練習(xí)程序功能:求12+100 之和,并將求和表達式與所求的和顯示出來。

34、程序源代碼如下。class EXP2_11 public static void main(String args) int n=1, sum=0;do sum+=n+;while (n=100);System.out.println(1+2.+100 =+sum);(3)編譯并運行程序,結(jié)果如圖2.11 所示。圖 2.11多重循環(huán)練習(xí)輸出九九乘法表的程序,源代碼如下。public class EXP2_12public static void main(String args)int i,j,n=9;System.out.print( * |);for (i=1;i=n;i+)System.

35、out.print( +i);System.out.print(n|);for (i=1;i=n;i+)System.out.print();System.out.println();for (i=1;i=n;i+)System.out.print( +i+ |);for (j=1;jb)return a+ +b;elsereturn b+ +a;public String sort(int a, int b, int c) int swap;if (ab) swap=a;a=b;b=swap;if (ac) swap=a;a=c;c=swap;if (bc) swap=b;b=c;c=swa

36、p;return a+ +b+ +c;public String sort(int arr) String s= ;int swap;for (int i=0; iarr.length; i+)for (int j=0; jarrj+1) swap=arrj;arrj=arrj+1;arrj+1=swap;for (int i=0; i10) throw new MyException(a); / 主動拋出MyExceptionSystem.out.println(正常返回);public static void main(String args) try System.out.println

37、(n 進入監(jiān)控區(qū),執(zhí)行可能發(fā)生異常的程序段);mathod(8);mathod(20);mathod(6);catch (MyException e) System.out.println(t 程序發(fā)生異常并在此處進行處理);System.out.println(t 發(fā)生的異常為:+e.toString();System.out.println(這里可執(zhí)行其它代碼);編譯并運行,結(jié)果如圖5.7所示。圖 5.7由基本數(shù)據(jù)類型的值構(gòu)建包裝類對象從包裝類對象中得到基本數(shù)據(jù)類型的值實驗五 Java語言的字符串類實驗?zāi)康睦斫庾址恓ava.lang.String對象對字符序列的存儲方式,掌握使用字符串

38、直接量和構(gòu)造函數(shù)創(chuàng)建String對象,理解字符串連接操作中的對象創(chuàng)建過程,掌握字符串查找相關(guān)方法的使用,掌握取子串操作相關(guān)方法的使用,掌握字符串與基本數(shù)據(jù)類型之間的轉(zhuǎn)換方法。實驗要求編寫一個使用字符串類,以及字符串類相關(guān)方法的應(yīng)用程序。實驗內(nèi)容使用字符串直接量和構(gòu)造函數(shù)創(chuàng)建String對象;字符串連接操作中的對象創(chuàng)建;調(diào)用字符串查找相關(guān)方法;調(diào)用獲取子串操作相關(guān)方法;實現(xiàn)字符串與基本數(shù)據(jù)類型之間的轉(zhuǎn)換。熟悉String類的構(gòu)造方法,掌握String類的常用方法/StringTest.javaimport javax.swing.*;public class StringTest String

39、string1, string2, string3, string4;byte byte1 = 72, 101, 108, 111, 32, 110, 101, 119, 32, 87, 111, 114, 108, 100;char char2 = H,e,l,l,o, ,n,e,w, , W,o,r,l,d;public StringTest() string1 = new String();string2 = new String(byte1,6,9);string3 = new String(char2,0,5)string4 = JOptionPane.showInputDialog

40、(Input a String:);System.out.println();System.out.println(String 1:”string1);System.out.println(String 2:”string2);System.out.println(String 3:”string3);System.out.println(String 4:”string4);public static void main(String args) StringTest st = new StringTest();System.exit(0);熟悉String類中獲取子字符串的方法/ Sub

41、string.java/* Practice how to use the various substring methods of the String class.*/public class Substring private static void doSubstring() String a = Alex Michael Hunter; System.out.println(Original string: + a); String b = a.substring(5); System.out.println(a.Substring(5) : + b); String c = a.s

42、ubstring(5,12); System.out.println(a.substring(5,12) : + c); String d = a.substring(13,a.length(); System.out.println(a.substring(13,a.length() : + d); System.out.println(); public static void main(String args) doSubstring(); StringBuffer /StringBufferTest.javapublic class StringBufferTest public st

43、atic void main(String args) StringBuffer name = new StringBuffer(Alex); name.append(, Hunter); / One way to convert a StringBuffer to a String String nameStr1 = name.toString(); / Allocates a new string that contains the sequence of characters / currently contained in the string buffer argument. Str

44、ing nameStr2 = new String(name); System.out.println(name : + name); System.out.println(nameStr1 : + nameStr1); System.out.println(nameStr2 : + nameStr2); Reverse a String/StringReverseChar.javapublic class StringReverseChar private static void doStringReverseChar() String a = Alex Michael Hunter; Sy

45、stem.out.println(nOriginal string: + a); StringBuffer b = new StringBuffer(a).reverse(); System.out.println(Reverse character string: + b); System.out.println(n); public static void main(String args) doStringReverseChar();Get Characters of a String/StringCharacters.javapublic class StringCharacters

46、private static void doCharAt() String a = Alex Michael Hunter; for (int i = 0; i x= + x + , y= + y + ; public static void main(String args) ToStringExample a1 = new ToStringExample(10, 20); System.out.println(a1); 編寫程序熟悉String類的其他方法。實驗六 多線程基礎(chǔ)編程實驗?zāi)康耐ㄟ^繼承線程類java.lang.Thread創(chuàng)建具有特定功能的線程類,通過實現(xiàn)接口java.lang.

47、Runnable創(chuàng)建可作為線程運行的類,創(chuàng)建線程類對象,啟動線程,并觀察運行、停止。創(chuàng)建實現(xiàn)了Runnable接口的線程類對象以后,啟動線程,通過觀察運行和停止,掌握線程類java.lang.Thread常用方法的使用,掌握對線程執(zhí)行過程中的異常的處理方法。實驗要求編寫一個實現(xiàn)接口java.lang.Runnable的簡單多線程應(yīng)用程序。實驗內(nèi)容使用java.lang.Thread創(chuàng)建具有特定功能的線程類;創(chuàng)建以java.lang.Runnable為接口的線程類;啟動線程,并觀察運行、停止。Exercise 1#:Write a program that displays the name o

48、f the thread that executes main.Exercise 2#:Creat two threads, one thread print ”A” and the other print “B” alternately. E.g. ABBABAABBA.etc.Exercise 3#:隨便選擇兩個城市作為預(yù)選旅游目標。實現(xiàn)兩個獨立的線程分別顯示10次城市名,每次顯示后休眠一段隨機時間(1000毫秒以內(nèi)),哪個城市先顯示完畢,就決定去哪個城市。分別用Runnable 接口和Thread類實現(xiàn)。實驗七 多線程并發(fā)編程實驗?zāi)康恼莆帐褂藐P(guān)鍵字synchronized同步方法、使用關(guān)

49、鍵字synchronized同步語句塊、和使用wait、notify(notifyAll)實現(xiàn)線程的通信,同時,練習(xí)使用join實現(xiàn)線程的協(xié)作。實驗要求在實驗六的程序基礎(chǔ)上,編寫一個多線程并發(fā)的應(yīng)用程序。實驗內(nèi)容創(chuàng)建多個線程;使用synchronized方法實現(xiàn)線程同步;運用wait、notify(notifyAll)實現(xiàn)線程的通信;使用join實現(xiàn)線程的協(xié)作;Exercise 1#:Write a program that prints out the elapsed time each second from the start of execution, with another thr

50、ead that prints a message every fifteen seconds. Have the message-printing thread be notified by the time-printing thread as each second passes by. Add another thread that prints a different message every seven seconds without modifying the time-printing thread.Exercise 2#:設(shè)計兩個線程,一個充當電子表,每隔1秒在DOS窗口顯

51、示下一系統(tǒng)時間;另一個充當鬧鐘,每到整點就開始報時,即在DOS窗口顯示5次整點提示,同時將第一個線程掛起,報時完畢再將第一個線程恢復(fù)運行。實驗步驟創(chuàng)建第一個類繼承Thread類用來顯示系統(tǒng)時間第一個類實現(xiàn)run()方法創(chuàng)建線程,線程體中每秒獲取一次系統(tǒng)時間并顯示。創(chuàng)建第二個類繼承Thread類用來實現(xiàn)鬧鐘功能第二個類實現(xiàn)run()方法創(chuàng)建線程,線程體中循環(huán)判斷當前時間是否為整點,若是則將第一個線程掛起,并每隔一秒輸出提示,提示完畢恢復(fù)第一個線程的執(zhí)行創(chuàng)建第三個類,包含main()方法,作為程序的執(zhí)行入口。實驗八 字符流和字符流輸入/輸出編程實驗?zāi)康恼莆栈谧止?jié)流進行輸入/輸出的方法、基于字符流

52、進行輸入/輸出的方法、字節(jié)流與字符流之間的轉(zhuǎn)換方法、對于字節(jié)文件和字符文件的讀寫方法,以及對輸入/輸出過程中可能發(fā)生的異常的處理方法。實驗要求編寫一個運用字符流和字符流輸入/輸出各種方法的應(yīng)用程序。實驗內(nèi)容實現(xiàn)基于字節(jié)流進行輸入/輸出;實現(xiàn)基于字符流進行輸入/輸出;實現(xiàn)字節(jié)流與字符流之間的轉(zhuǎn)換;實現(xiàn)對于字節(jié)文件和字符文件的讀寫;實現(xiàn)對對輸入/輸出過程中異常的處理并觀察。Exercise 1#:有純文件“Early-Precaution.txt”,(1)計算這篇短文的字符數(shù)(含空白)共有多少?(2)若不含空白,這篇短文共有多少個字符?(3)統(tǒng)計這篇短文的單詞數(shù)。(4)統(tǒng)計這篇短文用了多少個單詞“

53、to”。(5)試計算這篇短文中,元音a,e,i,o,u的字符數(shù)各多少?(6)將這篇短文內(nèi)所有大寫字母改成小寫,并將更改后的短文寫到純文本文件”joke.txt” 里。There was an American couple who had no children, so they wanted to adopt a child. Finally, an orphanage contacted them, saying, We have a baby for adoption.Its a Russian orphan. The couple was delighted and went to b

54、ring the baby home. On the way home, they stopped by a university to enroll in a Russian course. Why do you want to learn Russian? The English that we speak is a very good language, the university secretary asked.Well, we just adopted a Russian baby. When he begins to speak Russian in a few years, w

55、e are afraid that we might not be able to understand him, the couple replied.實驗九 集合、列表、映射類編程實驗?zāi)康恼莆?java.util.Set接口的實現(xiàn)類的特點和使用方法、 java.util.List接口的實現(xiàn)類的特點和使用方法、 java.util.Map接口的實現(xiàn)類的特點和使用方法、對集合進行排序的方法、以及將非線程安全集合轉(zhuǎn)換為線程安全的集合的方法。實驗要求編寫一個包括集合、列表、映射類,以及運用這些類的方法的應(yīng)用程序。實驗內(nèi)容創(chuàng)建java.util.Set接口的實現(xiàn)類;創(chuàng)建java.util.List接

56、口的實現(xiàn)類;創(chuàng)建java.util.Map接口的實現(xiàn)類;實現(xiàn)集合進行排序;實現(xiàn)非線程安全集合轉(zhuǎn)換為線程安全的集合。附錄資料:java重點筆記歸納整理Java初級eclipse快捷鍵:右鍵REFACTER-RENAME 一改全改ALT+ENTER 查看現(xiàn)在項目的位置 Alt+ 當前行和下面一行交互位置(特別實用,可以省去先剪切,再粘貼了) Alt+ 當前行和上面一行交互位置(同上) Ctrl+W 關(guān)閉當前Editer C+/ 注釋(取消注釋)選中行C+S+/ 注釋多行C+S+取消注釋 F2 查看完整的函數(shù)幫助信息,并且可以復(fù)制粘貼文字 ,當選中文件時,有改名作用 F3找到變量的定義 C+鼠標點擊

57、 找到變量的定義 作用和F3C差不多。 F4找到接口方法的具體實現(xiàn)類.=C+T F5刷新 C+F6:在打開的文件間進行切換; C+F7:在資源窗口間進行切換; C+F8:在各種模式間進行切換; C+E:選擇某個打開的文件; C+S+r:打開一個文件; c+s+t:打開一個類; c+s+f:格式化代碼; C+S+O:導(dǎo)入需要的類 c+o:查看類結(jié)構(gòu); c+t:列出子類或接口實現(xiàn)類(類的等級結(jié)構(gòu)) Ctrl+Alt+ 復(fù)制當前行到下一行(復(fù)制增加) Ctrl+Alt+ 復(fù)制當前行到上一行(復(fù)制增加) CtrlK (加SHIFT是向上)向下查找選中的字符串 Ctrlshift 向上向下查找一個函數(shù)和

58、變量 Java基礎(chǔ)知識1.Java是Sun公司的JamesGosling發(fā)明的面向?qū)ο蟮目煽缙脚_的編程語言。2.SUN公司,Stanford University Network,斯坦福大學(xué);3.平臺:我們把cpu處理器與操作系統(tǒng)的整體叫做平臺。不同的操作系統(tǒng)支持不同的cpu指令集。不同的cup有不同的指令集,如intel和AMD.4.JDK:Java Software Develop Kit. JVM:Java Virtual Machine.Java虛擬機,包含:類加載器,字節(jié)碼校驗器,java解釋器。 JRE:java運行時環(huán)境,包含jvm與java運行支持類庫。5.環(huán)境變量:java_

59、home;classpath:.;C:Javajdk1.6.0_10lib;path6.jdkjdk1.1為jvm增加了JIT(即時編譯)編譯器;jdk1.2也叫java2;jdk1.5也叫java5(改動較大);現(xiàn)在使用的是jdk1.6。7.jdk,Java Developent ToolKit;開發(fā)java需要有源程序文件到中間文件的編譯器;運行java中間文件需要對應(yīng)平臺的解釋器(官方叫法JVM);編譯器、解釋器加上一些其它的組件合稱為JDK.JDK的另外一個稱呼為Java Software develop kit.JDK即開發(fā)java程序的組件。jdk=java編譯器+jre(java

60、運行環(huán)境) jre=jvm+運行支持類庫 eclipse和jbuilder本身自帶了java編譯器但不包含jre。8.jre:Java Runtime Environment,java運行時需要的環(huán)境。有兩類,開發(fā)需要的jre和公共jre。9.jdk版本,jdk1.2到j(luò)dk1.4為java2時代,java技術(shù)有j2ee,j2se,jeme.jdk1.5,也叫做java5,技術(shù)術(shù)語改為javase,javaee,javame.1.5在1.4的基礎(chǔ)上改動很大。10.常用的DOS命令:dir,現(xiàn)實當前文件夾的所有文件;cd . 打開上級目錄;exit:退出。11.java注釋:java注釋分為三種

溫馨提示

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

評論

0/150

提交評論