版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章 Java語言入門 1.1【案例1】第一個(gè)Java Application程序相關(guān)知識(shí) 1.2【案例2】創(chuàng)建個(gè)人網(wǎng)頁相關(guān)知識(shí) 1.1【案例1】第一個(gè)Java Application程序相關(guān)知識(shí)1Java Application和Java AppletJava程序可以分為兩類,一類是Java Application,又稱為Java應(yīng)用程序;另一類是Java Applet,又稱為Java小程序。(1)Java Application:它是Java應(yīng)用程序,是一個(gè)完整的程序,不需要其他語言的幫助,就可以獨(dú)立運(yùn)行。其編譯和運(yùn)行的設(shè)計(jì)方法如下。 用“記事本”或者其他文本工具軟件編寫源程序。編寫好程
2、序后,保存源程序。文件名與源程序中類(class)的名稱必須一致,擴(kuò)展名必須為.Java。 在DOS命令環(huán)境下,輸入“Javac 文件名.Java”命令,計(jì)算機(jī)將自動(dòng)建立一個(gè)和源程序名稱相同,擴(kuò)展名為.class的文件,此文件用來保存源程序的Java字節(jié)碼。 輸入“Java 文件名”命令,運(yùn)行編譯好的字節(jié)碼文件,輸出程序運(yùn)行結(jié)果。(2)Java小程序:它是嵌在HTML編寫的Web頁面中的非獨(dú)立程序,由Web瀏覽器內(nèi)包含的Java編譯器來編譯執(zhí)行。編譯和運(yùn)行的設(shè)計(jì)方法如下。 用“記事本”或者其他文本工具軟件編寫源程序。編寫好程序后,保存源程序。文件名與源程序中類(class)的名稱必須一致,擴(kuò)展
3、名必須為.java。 在DOS命令環(huán)境下,輸入“Javac 文件名.java”命令,計(jì)算機(jī)將自動(dòng)建立一個(gè)和源程序名稱相同,擴(kuò)展名為.class的文件,此文件用來保存源程序的Java字節(jié)碼。 輸入“appletviewer 文件名.HTML”命令,運(yùn)行含有字節(jié)碼文件的HTML文件,輸出程序運(yùn)行結(jié)果。2Java源程序的組成Java源程序主要由5部分組成:package語句、import語句、類、方法和語句。(1)package語句用來定義該程序所屬的包,包相當(dāng)于Windows系統(tǒng)中的文件夾。Java系統(tǒng)的包提供了很多預(yù)定義的類,例如,Applet類,利用類可以直接引用而不必從頭開始編寫程序。pac
4、kage語句必須位于整個(gè)程序的最前面,并且每個(gè)程序只允許使用一條package語句。如果忽略該語句,則程序?qū)儆谀J(rèn)包。關(guān)于包的具體概念和作用將在第5章詳細(xì)介紹。(2)import語句用來引入其他包中的類,以便在程序中使用。import語句必須位于類定義之前,并且可以多次使用,引入多個(gè)類。例如,程序MyApplet中的“import Java.awt.*;”語句和“import Java.applet.*;”語句分別用來導(dǎo)入Java.awt和Java.applet中所有的包,使得該程序可以應(yīng)用這些包中所定義的類,符號“*”表示所有的類。再例如“import Java.applet.Applet;
5、”引入Java.applet包中的Applet類。對于Apple程序,一定要引入Java.applet包中的Applet類,以便使用其定義好的各種數(shù)據(jù)和方法。如果程序中使用了圖形界面,使用文本框和按鈕等,則需要引入Java系統(tǒng)的Java.awt包,Java.awt包中包含了所有處理圖形界面的類。如果需要單擊按鈕的操作,并產(chǎn)生一個(gè)鼠標(biāo)事件或按鍵事件,則需要引入專門處理各種事件的Java.event包。(3)類(class)。類是整個(gè)源程序的核心部分,也是編寫程序的地方。一個(gè)源程序文件至少要有一個(gè)類,也可以有多個(gè)類。每個(gè)類的內(nèi)容是用一對大括號括起來的。每個(gè)類都有不同的名稱,但是程序的文件名必須和程
6、序主類的名稱相同。所謂主類,是指main()方法所在的類。類的聲明格式如下: public class 類名 語句體 其中,public表示此類是公開的,其他程序也可以調(diào)用;關(guān)鍵字class用來聲明類,其后是類的名稱。(4)方法。每個(gè)Java應(yīng)用程序都要有且只有一個(gè)main()方法,不論main()方法處于程序的哪個(gè)位置,它都是程序運(yùn)行的開始點(diǎn)。main()方法的格式如下:public static void main(String args)Java Applet程序中沒有main()方法,也就是說沒有程序運(yùn)行的起始點(diǎn)。因此,Java小程序需要HTML語言的幫助來運(yùn)行程序和輸出結(jié)果。一個(gè)類中
7、可以有多個(gè)方法,每個(gè)方法都有不同的名稱,其聲明格式如下:在方法的內(nèi)部不可以再聲明其他的方法,但是可以調(diào)用其他方法。(5)語句。類或者方法中的語句體是由一條條以分號結(jié)尾的語句組成的。語句是Java程序的基本單位之一,是程序具體操作的內(nèi)容。一般來說,一條語句占據(jù)一行,以分號結(jié)尾。語句有賦值語句、調(diào)用方法語句和對象定義語句等多種形式,后面將一一講解。 修飾符 方法名(參數(shù)列表) 語句體此外,Java語言是嚴(yán)格區(qū)分大小寫的語言,所以在書寫語句時(shí),一定要注意大小寫不能混淆。例如,在程序MyApp中,“System.out.println( 歡迎進(jìn)入Java語言天地! );”語句,不可以寫成“system
8、.out.println( 歡迎進(jìn)入Java語言天地! );”或者“System.out. Println( 歡迎進(jìn)入Java語言天地! );”等。因?yàn)檫@在Java編譯器看來,是完全不同的語句。3Java程序的布局在Java語言編譯器編譯源程序時(shí),會(huì)忽略所有空白空間和空白行,只對程序進(jìn)行編譯。也就是說,無論程序的布局如何,只要內(nèi)容不變,則其字節(jié)碼文件是相同的,運(yùn)行結(jié)果也是一樣的。但是,一個(gè)美觀大方、層次分明的程序布局可以幫助編程人員閱讀和理解程序的含義和作用,從而降低編程的復(fù)雜性,提高編程的效率。下面列出一些人們約定俗成的規(guī)則。(1)在Java程序中,經(jīng)常要使用大括號“”將一組相關(guān)語句括起來,
9、例如,類中的所有語句、方法中的所有語句以及某些語句體等。一對大括號的左括號和右括號總是各自獨(dú)立占用一行,并且二者的位置垂直對齊。(2)在一對大括號中,所有語句的起始位置,相對于該對大括號的位置向右縮進(jìn)一個(gè)制表位。(3)一般來說,一條語句占據(jù)一行。如果語句較短,可以在一行中顯示多條語句,但是每條語句的分號不可以省略。 1.2【案例2】創(chuàng)建個(gè)人網(wǎng)頁相關(guān)知識(shí)1HTML簡介HTML(HyperText Markup Language,超文本標(biāo)記語言)不是一種編程語言,而是一種描述網(wǎng)頁內(nèi)容結(jié)構(gòu)的標(biāo)記語言。它與操作系統(tǒng)平臺(tái)的選擇無關(guān),只要有瀏覽器就可以運(yùn)行HTML程序,顯示網(wǎng)頁內(nèi)容。HTML制定了一組標(biāo)記
10、符(Tag),對萬維網(wǎng)(WWW)上的各種信息進(jìn)行標(biāo)記。瀏覽器會(huì)自動(dòng)根據(jù)這些標(biāo)記符,在屏幕上顯示出相應(yīng)的內(nèi)容,而標(biāo)記符不會(huì)在屏幕上顯示出來。自從1990年首次用于網(wǎng)頁制作后,幾乎所有的網(wǎng)頁都是由HTML或以其他語言鑲嵌在HTML中編寫的。HTML的語法比較簡單,所有的標(biāo)記符都是用尖括號括起來的。例如,是HTML開始的標(biāo)記符。絕大多數(shù)標(biāo)記符都是以開始標(biāo)記符和結(jié)束標(biāo)記符成對出現(xiàn)的。開始標(biāo)記符和相應(yīng)的結(jié)束標(biāo)記符之間的內(nèi)容是該標(biāo)記符所影響的范圍。結(jié)束標(biāo)記符是在開始標(biāo)記符前邊加入一個(gè)反斜線,例如,歡迎進(jìn)入Java語言天地!,表示網(wǎng)頁的標(biāo)題為“歡迎進(jìn)入Java語言天地!”。當(dāng)然也有例外,換行標(biāo)記符是一個(gè)單一
11、標(biāo)記符。雖然HTML的標(biāo)記符不區(qū)分大小寫,但是通常都是使用大寫字母,這有利于HTML文檔的維護(hù)。HTML文件的內(nèi)容可以在“記事本”或者其他文本工具軟件中輸入。在存盤輸入文件名稱時(shí),一定要輸入HTML文件的擴(kuò)展名.htm或者.HTML。Windows XP會(huì)自動(dòng)將文件保存為可以使用瀏覽器打開的文件格式,例如IE網(wǎng)頁形式等。在編寫HTML文檔時(shí),各種英文標(biāo)記符要在英文輸入方式下輸入。標(biāo) 記 符作 用表示HTML文檔的開始,表示HTML文檔的結(jié)束,它是HTML文檔中最基本的標(biāo)記,不可缺少網(wǎng)頁標(biāo)題標(biāo)記符,可以提高網(wǎng)頁文檔的可讀性,向?yàn)g覽器提供一個(gè)信息,可以被忽略網(wǎng)頁標(biāo)題標(biāo)記符,可以提高網(wǎng)頁文檔的可讀性
12、,不包括網(wǎng)頁的任何實(shí)際內(nèi)容,只是向?yàn)g覽器提供一些與網(wǎng)頁有關(guān)的特定信息,可以被忽略設(shè)置HTML程序運(yùn)行時(shí)窗口的顯示名稱,其中的內(nèi)容可以任意改動(dòng),如果沒有和標(biāo)記符,窗口的顯示名稱為程序的完整目錄,當(dāng)使用了和標(biāo)記符時(shí),一定要同時(shí)使用和標(biāo)記網(wǎng)頁主題內(nèi)容標(biāo)記符,其內(nèi)包含了網(wǎng)頁的全部內(nèi)容,一般不可缺少用來設(shè)置網(wǎng)頁的背景顏色用來導(dǎo)入圖像和動(dòng)畫文件,在網(wǎng)頁中加載GIF動(dòng)畫的方法與加載圖像的方法一樣,GIF動(dòng)畫文件的擴(kuò)展名是.gif,文件格式是GIF89A格式。如果圖像文件在該HTML文件所在文件夾內(nèi),則可以只寫圖像文件名,例如,;如果文件的目錄或者文件名寫的不對,則在網(wǎng)頁中,顯示圖像的位置處會(huì)顯示一個(gè)帶“”的
13、小方塊正文的第一級標(biāo)題標(biāo)記,此外,還有第二、三、四、五、六級標(biāo)題標(biāo)記,分別為和、和、和、和、和,級別越高,文字越小可以使二者之中的文字在網(wǎng)頁內(nèi)居中放置表1-2-1 常用的HTML語言標(biāo)記符一些常用的HTML語言標(biāo)記符的作用如表1-2-1所示。換行標(biāo)記符,表示后面的內(nèi)容移到下一行,是單向標(biāo)記符,沒有標(biāo)記符用來保留文本原來格式的標(biāo)記符,可以將其內(nèi)的文本內(nèi)容按照原來的格式顯示,否則瀏覽器會(huì)自動(dòng)取消文本中的空格,在最后加入換行粗體標(biāo)記符,可以使其中的文字變?yōu)榇煮w段落標(biāo)記符,可將其內(nèi)的文字另起一段顯示,段與段之間有一個(gè)空行有序列表標(biāo)記符,其內(nèi)用標(biāo)記符引導(dǎo)文字,顯示網(wǎng)頁中的這些文字后,文字前會(huì)自動(dòng)加上序號
14、,例如,1、2、無序列表標(biāo)記符,其內(nèi)用標(biāo)記引導(dǎo)文字,顯示網(wǎng)頁中的文字后,文字前會(huì)自動(dòng)加上一個(gè)黑色圓點(diǎn)續(xù)上表 在表1-2-1中,標(biāo)記符的格式有以下兩種。 在第一種格式中,RR、GG、BB是分別取值為00FF的十六進(jìn)制數(shù)。RR用來表示顏色中有多少紅色成分,GG用來表示顏色中有多少綠色成分,BB表示顏色中有多少藍(lán)色成分。紅、綠、藍(lán)3色按一定比例混合,可以得到各種顏色。數(shù)值越大,相應(yīng)的顏色越深。例如,表示黑色;,表示白色;,表示黃色;,表示紅色。第二種格式是直接使用顏色的英文名稱來設(shè)置網(wǎng)頁的背景顏色。例如,用來設(shè)置網(wǎng)頁的背景顏色為黑色;用來設(shè)置網(wǎng)頁的背景顏色為黃色;用來設(shè)置網(wǎng)頁的背景顏色為綠色。2DO
15、S磁盤操作系統(tǒng)“命令提示符”窗口實(shí)際上是DOS操作系統(tǒng)的用戶界面。DOS(Disk Operation System)系統(tǒng)是在Windows 9X系統(tǒng)出現(xiàn)之前應(yīng)用最廣泛的操作系統(tǒng)。它具有Windows系統(tǒng)中的絕大部分文件管理功能,但是用戶界面遠(yuǎn)不如Windows的友好,所以一般用戶很少選用DOS操作系統(tǒng)。但是,DOS操作系統(tǒng)對電腦硬件要求低,運(yùn)行速度快,而且它對Java 2 SDK的支持非常良好,用戶只需輸入簡單的命令就可以編譯和運(yùn)行Java程序。所謂操作系統(tǒng)是指直接控制和管理計(jì)算機(jī)硬件和軟件資源,以便有效地使用這些資源的程序。操作系統(tǒng)一般都具有存儲(chǔ)管理、文件管理、設(shè)備管理和作業(yè)管理等功能。D
16、OS操作系統(tǒng)是按照樹形目錄結(jié)構(gòu)管理文件的,位于最上層的目錄為根目錄,每個(gè)目錄的上一層目錄為該目錄的父目錄,下一層目錄為該目錄的子目錄。每次進(jìn)入“命令提示符”窗口后,提示符顯示當(dāng)前目錄,例如,“C:”表示W(wǎng)indows操作系統(tǒng)下的C盤是當(dāng)前目錄,“D:”表示W(wǎng)indows操作系統(tǒng)下的D盤是當(dāng)前目錄。DOS命令是一條一條地執(zhí)行,每條DOS命令都各占一行。輸入DOS命令后,按【Enter】鍵,DOS命令被執(zhí)行。如果輸入的DOS命令有錯(cuò)誤,系統(tǒng)會(huì)顯示出相應(yīng)的錯(cuò)誤提示。3常用DOS命令(1)dir命令作用:用來顯示指定目錄(也就是文件夾)中的文件及其子目錄信息。格式:dir 盤符路徑/p/w說明:“盤符
17、”為根目錄,例如,“C:”表示C盤,“D:”表示D盤;“路徑”為要顯示目錄的上級目錄名,父目錄與其子目錄之間用符號“”隔開,例如,“C:j2sdk1.4.2_09bin”表示C盤根目錄下的“j2sdk1.4.2_09”目錄中的bin子目錄。中括號表示其中的內(nèi)容可以省略。舉例:如果省略“盤符”和“路徑”只輸入dir命令,則表示顯示當(dāng)前目錄中的內(nèi)容。如圖1-2-2所示為在C盤根目錄下,輸入dir命令后的顯示結(jié)果。其中,第1列和第2列分別顯示目錄或者文件創(chuàng)建的日期和時(shí)間,第3列和第4列用來區(qū)分目錄和文件,如果是目錄則在第3列中用符號標(biāo)識(shí);如果是文件,則在第4列中顯示文件的大小。最后一列顯示目錄或者文
18、件的名稱。當(dāng)需要查看的目錄內(nèi)容太多而無法在屏幕內(nèi)完全顯示時(shí),系統(tǒng)會(huì)自動(dòng)將顯示內(nèi)容上卷,這樣不容易查看目錄所有的內(nèi)容。加上參數(shù)“/p”后,系統(tǒng)會(huì)在一屏內(nèi)容顯示完后暫停并顯示Press any key to continue的提示。用戶只需要按鍵盤中的任意一個(gè)按鍵,就可以查看下一屏的顯示內(nèi)容。圖1-2-2 dir命令運(yùn)行結(jié)果如果加上參數(shù)“/w”,則只顯示目錄或者文件的名稱,而省略目錄或者文件的大小、建立日期和時(shí)間等信息。(2)md命令作用:用來創(chuàng)建子目錄。格式:說明:“盤符”為指定要建立子目錄的磁盤驅(qū)動(dòng)器,默認(rèn)為當(dāng)前根目錄;“路徑”為要建立的子目錄所在的路徑名稱,默認(rèn)為當(dāng)前目錄下;“子目錄名”為要
19、創(chuàng)建的目錄名稱。尖括號表示其中的內(nèi)容不可以省略。舉例:在D盤根目錄下創(chuàng)建名為“我的Java程序”子目錄的命令如下。如果要在“我的Java程序”子目錄下,再創(chuàng)建名為Programs的子目錄,則輸入如下DOS命令。(3)cd命令作用:用來改變當(dāng)前目錄,可以改變提示符。格式: md 盤符路徑D:md 我的Java程序D:md 我的Java程序Programscd 盤符路徑 說明:“盤符”為新的當(dāng)前目錄的根目錄,默認(rèn)為當(dāng)前根目錄;“路徑”為新的當(dāng)前目錄的路徑名稱,默認(rèn)為當(dāng)前目錄。舉例:在“D:”提示符下,輸入“cd 我的Java程序”命令,則提示符改變?yōu)椤癉:我的Java程序”。此外,如果輸入“cd”
20、命令,則改變當(dāng)前目錄為根目錄。如果輸入“cd.”命令,則改變當(dāng)前目錄為其上一級父目錄。(4)rd命令作用:用來刪除空子目錄。格式:說明:“盤符”為要?jiǎng)h除空子目錄所在的根目錄,默認(rèn)為當(dāng)前根目錄;“路徑”為要?jiǎng)h除的空子目錄的路徑名稱,默認(rèn)為當(dāng)前目錄;“子目錄名”為要?jiǎng)h除的空子目錄名稱。rd命令只能刪除空的子目錄,不能刪除非空目錄,也不能刪除當(dāng)前目錄和根目錄。舉例:當(dāng)“我的Java程序”子目錄為空目錄時(shí),在“D:”提示符下,輸入“rd 我的Java程序”命令,則可以刪除“我的Java程序”子目錄。rd 盤符路徑(5)del命令作用:用來刪除指定目錄下的所有子目錄和文件。格式:說明:“盤符”為要?jiǎng)h除目
21、錄所在的根目錄,默認(rèn)為當(dāng)前根目錄;“路徑”為指定目錄的上級目錄名,默認(rèn)為當(dāng)前目錄;“子目錄名”為指定目錄名稱。舉例:如果“我的Java程序”目錄中具有Programs子目錄,則在“D:”提示符下,輸入“del我的Java程序Programs”命令,將會(huì)刪除“我的Java程序”子目錄中的Programs子目錄,“我的Java程序”子目錄本身不會(huì)被刪除 (6)ren命令作用:用來給指定目錄中的文件更改名稱。格式:說明:“盤符”為文件所在的根目錄,默認(rèn)為當(dāng)前根目錄;“路徑”為文件所在的目錄名稱,默認(rèn)為當(dāng)前目錄;“舊文件名”為文件的原有名稱;“新文件名”為需要更改為的名稱。ren命令只可以更改文件的名
22、稱,不能更改目錄的名稱舉例:在“D:”提示符下,輸入“ren MyApp.Java MyApplication.Java”命令,將MyApp.Java文件更名為MyApplication.Java。 del 盤符路徑ren 盤符路徑(7)copy命令作用:用來復(fù)制指定文件到指定的磁盤或目錄中。格式: 說明:copy命令中的“源文件名”必須給出,不可以省略。如果省略“目標(biāo)文件名”,則目標(biāo)文件與源文件同名。舉例:在“D:”提示符下,輸入“copy MyApp.Java C:MyApplicaiton.Java”命令表示將D盤根目錄下的MyApp文件復(fù)制到C盤根目錄中,文件的名稱仍然為“MyAppl
23、icaiton.Java”。copy 源盤符路徑 目標(biāo)盤符路徑目標(biāo)文件名第2章 Java語言編程基礎(chǔ)知識(shí) 2.1【案例3】顯示計(jì)算機(jī)配置相關(guān)知識(shí) 2.2【案例4】計(jì)算梯形面積相關(guān)知識(shí) 2.3【案例5】輸入個(gè)人信息相關(guān)知識(shí) 2.4【案例6】改變單詞形式相關(guān)知識(shí) 2.5【案例7】繪制彩色扇形圖案相關(guān)知識(shí) 2.1【案例3】顯示計(jì)算機(jī)配置相關(guān)知識(shí)下面首先介紹數(shù)據(jù)類型,然后介紹如何創(chuàng)建和使用變量和常量、注釋語句和打印語句,以及轉(zhuǎn)義符號等知識(shí)。1數(shù)據(jù)類型使用計(jì)算機(jī)語言編程的主要目的是處理數(shù)據(jù),但是現(xiàn)實(shí)生活中的數(shù)據(jù)是多種多樣的,很難統(tǒng)一處理。為了解決這個(gè)難題,Java語言先將數(shù)據(jù)分類,再依據(jù)各種類型數(shù)據(jù)的特
24、點(diǎn)做出相應(yīng)的處理??傮w上,Java將數(shù)據(jù)分成普通型數(shù)據(jù)和對象型數(shù)據(jù)兩大類。普通型數(shù)據(jù)可以分成整數(shù)類型、浮點(diǎn)類型、邏輯類型和字符類型4種。(1)整數(shù)類型:不含小數(shù)點(diǎn)的數(shù)字為整數(shù)類型數(shù)據(jù),例如,384、-274、10、0等。整數(shù)類型又根據(jù)數(shù)據(jù)所占內(nèi)存的容量和表達(dá)數(shù)字的范圍分為字節(jié)型(byte)、短整型(short)、整型(int)和長整型(long)4種。(2)浮點(diǎn)類型:含小數(shù)點(diǎn)的數(shù)字為浮點(diǎn)類型數(shù)據(jù),例如,43.53、-485.33、100.00等。浮點(diǎn)類型又根據(jù)數(shù)據(jù)所占內(nèi)存的容量和表達(dá)數(shù)字的范圍分為浮點(diǎn)型(float)和雙精度型(double)兩種。除了普通的表示方法,浮點(diǎn)類型的數(shù)據(jù)還可以用科學(xué)
25、計(jì)數(shù)法表示,例如,6.5E8、-1.7E33、5.0E-6。(3)邏輯類型:邏輯類型數(shù)據(jù)只有兩個(gè)數(shù)值true和false,表示“真”和“假”或者“是”和“否”等對立的狀態(tài)。(4)字符類型:用一對單引號圍起來的單個(gè)字符,例如,A、m、&。對象型數(shù)據(jù)是對現(xiàn)實(shí)生活中具體事物的抽象總結(jié)。每一種對象型數(shù)據(jù)都具有其對應(yīng)的類,用來聲明該種對象型數(shù)據(jù)的共性和功能。最常用的對象型數(shù)據(jù)是字符串(String)類型數(shù)據(jù)。字符串類型數(shù)據(jù)是用一對雙引號圍起來的一串字符,例如,“This is a string.”、“歡迎進(jìn)入Java語言的世界”等。雖然字符串類型是對象類型中的一種,但是它與普通類型數(shù)據(jù)在定義格式、打印方
26、式等方面很類似。關(guān)于對象型數(shù)據(jù),將在第5章詳細(xì)介紹2注釋語句 注釋語句與Java語言中的其他語句不同,其內(nèi)容不會(huì)被Java編譯器編譯,它只是用來幫助其他閱讀或使用該程序的人理解源程序的內(nèi)容。注釋語句中的內(nèi)容是程序員對整個(gè)程序或個(gè)別語句的作用做出的解釋。注釋語句一共有3種形式。1)單行注釋語句。注釋內(nèi)容從“/”開始,到行尾結(jié)束,一般位于要解釋語句的結(jié)尾處。這種形式多用于解釋定義變量的含義和語句的作用。例如: System.out.println(歡迎參觀); /在屏幕上顯示“歡迎參觀”文字 (2)多行注釋語句。注釋內(nèi)容從“/*”開始,到“*/”結(jié)束,可以單行或者多行,一般位于要解釋的類或者方法的
27、前面。這種形式多用于解釋整個(gè)源程序的目的和某個(gè)方法的作用。符號“/*”和“*/”成對出現(xiàn),不可以套用。例如: (3)文檔注釋語句。注釋內(nèi)容從“/*”開始,到“*/”結(jié)束,一般位于整個(gè)程序的最前面。文檔注釋語句是Java特有的doc注釋。使用“javadoc 文件名.java”命令,系統(tǒng)自動(dòng)生成API文檔,其內(nèi)容就是該文件中的文檔注釋語句。/*程序創(chuàng)建日期:2005年8月8號 程序創(chuàng)建人:沈 昕*/public class MyApp/*下面的方法用來在屏幕上分兩行顯示“歡迎進(jìn)入Java語言天地!”和“這是我的第一個(gè)Java Application程序?!?/ public static voi
28、d main(String args) System.out.println(歡迎進(jìn)入Java語言天地!); System.out.println(這是我的第一個(gè)Java Application程序。); 3打印語句在Java語言中,任何類型的數(shù)據(jù)都可以通過輸出語句顯示在屏幕上,以達(dá)到人機(jī)交互的目的。打印語句是最簡單也是最常用的輸出語句,它有兩種形式,輸出效果略有不同。System.out.println()語句的作用是將小括號中的內(nèi)容顯示在屏幕上,并且增加新的一行。如果還有要打印的內(nèi)容,則從新的一行開始顯示;如果沒有,則顯示空白行。System.out.print()語句和System.ou
29、t.println()語句的功能基本相同,只是不增加新的一行。如果還有要打印的內(nèi)容,則緊接著上次內(nèi)容的后邊顯示;如果沒有,則不顯示空白行。例如下面程序的運(yùn)行結(jié)果如圖2-1-2所示 圖2-1-2 運(yùn)行程序Exp.java和程序運(yùn)行結(jié)果如果System.out.println()語句的小括號中沒有任何內(nèi)容,則顯示一行空白行。System.out.print()語句的小括號中必須要有打印的內(nèi)容,否則會(huì)顯示錯(cuò)誤信息。雖然打印語句可以輸出任何類型的數(shù)據(jù),但是不同類型的數(shù)據(jù)具有不同的輸出格式。(1)輸出整數(shù)類型和浮點(diǎn)類型數(shù)據(jù)時(shí),在打印語句中的小括號內(nèi)輸入要顯示的數(shù)字,可以將該數(shù)字原封不動(dòng)地顯示在屏幕上。例
30、如:public class Exp public static void main(String args) System.out.println(歡迎進(jìn)入Java語言的世界); System.out.print(Good Morning!); System.out.print(早上好!); System.out.println(-34.98);(2)輸出字符類型數(shù)據(jù)時(shí),在打印語句中的小括號內(nèi)使用單引號將要顯示的字符圍起來,可以將該字符原封不動(dòng)地顯示在屏幕上。例如:(3)輸出邏輯類型數(shù)據(jù)時(shí),在打印語句中的小括號內(nèi)輸入“true”或者“false”,可以將該邏輯型數(shù)據(jù)原封不動(dòng)地顯示在屏幕上。例
31、如:4)輸出字符串類型數(shù)據(jù)時(shí),在打印語句中的小括號內(nèi)使用雙引號將要顯示的字符串圍起來,可以將該字符串原封不動(dòng)地顯示在屏幕上。例如: 此外,在打印語句中,可以使用符號“+”將多個(gè)數(shù)據(jù)連接起來,作為一個(gè)整體顯示在屏幕上。例如,System.out.println(“貨品的價(jià)格是:”+10.55+“元”);語句的作用是在屏幕上輸出文字“貨品的價(jià)格是:10.55元”。4ASCII碼如果是兩個(gè)字符類型(char)數(shù)據(jù)比較大小,則按照它們的ASCII碼值進(jìn)行比較。System.out.print(H); System.out.print(false);System.out.print(歡迎進(jìn)入Java語言
32、的世界); ASCII碼是用7位二進(jìn)制數(shù)表示一個(gè)字符,共能表示128個(gè)不同的字符,包括計(jì)算機(jī)處理信息常用的26個(gè)英文大寫字母AZ、26個(gè)英文小寫字母az ,數(shù)字符號09、算術(shù)與邏輯運(yùn)算符號、標(biāo)點(diǎn)符號等。常用字符的ASCII碼如表2-1-1所示。ASCII碼字 符ASCII碼字 符ASCII碼字 符032(空格)064096033!065A097a034066B098b035#067C099c036$068D100d037%069E101e038&070F102f039071G103g040(072H104h041)073I105i042*074J106j043+075K107k044,076L
33、108l045-077M109m續(xù)上表 ASCII碼字 符ASCII碼字 符ASCII碼字 符046。078N110n047/079O111o0480080P112p0491081Q113q0502082R114r0513083S115s0524084T116t0535085U117u0546086V118v0557087W119w0568088X120 x0579089Y121y058:090Z122z059;091123060094126063?095_127Del例如,字符“”的ASCII碼是60,字符“”的ASCII碼是91,字母“A”的ASCII碼是65,字母“a”的ASCII碼是9
34、7。根據(jù)上面的表格,可以判斷兩個(gè)字符類型數(shù)據(jù)的大小。例如,表達(dá)式Ff的值為true,因?yàn)樽帜浮癋”的ASCII碼是70,而字母“f”的ASCII碼是102。顯而易見,表達(dá)式70大于如果大于號左面的數(shù)值大于其右面的數(shù)值,則表達(dá)式值為true。如果大于號左面的數(shù)值小于或者等于其右面的數(shù)值,則表達(dá)式值為false=大于等于如果大于等于號左面的數(shù)值大于或者等于其右面的數(shù)值,則表達(dá)式值為true。如果其左面的數(shù)值小于其右面的數(shù)值,則表達(dá)式值為false=10)的值為false&與只有當(dāng)&前后的數(shù)值都為true時(shí),表達(dá)式的值才為true,其他情況下,表達(dá)式的值都為false。例如,表達(dá)式100=10 &
35、50=10 | 50100的值為true異或當(dāng)運(yùn)算符前后數(shù)值同為true或者同為false時(shí),表達(dá)式的值為false,當(dāng)運(yùn)算符前后數(shù)值一個(gè)為true另一個(gè)為false時(shí),表達(dá)式的值為true。例如,表達(dá)式100=1010050的值為false表2-2-5 邏輯運(yùn)算符變量名=數(shù)據(jù);變量名1=變量名2=變量名n=數(shù)據(jù);功能:將賦值運(yùn)算符右邊的數(shù)據(jù)賦給賦值運(yùn)算符左邊的一個(gè)或多個(gè)變量。此外,Java語言還提供了5種算術(shù)和賦值運(yùn)算符相結(jié)合的運(yùn)算符來簡化語句的書寫,其形式和作用如表2-2-6所示。(5)條件運(yùn)算符和條件表達(dá)式。格式:其中,“表達(dá)式”可以是邏輯表達(dá)式,也可以是邏輯型數(shù)據(jù),也就是說表達(dá)式的值只
36、可以是true或者false。功能:如果“表達(dá)式”的值是true,則執(zhí)行“語句1”;如果“表達(dá)式”的值是false,則執(zhí)行“語句2”。例如,“int i = 2010 ? 100:10;”語句的運(yùn)行過程是先計(jì)算2010的值,其值為false,則整個(gè)條件表達(dá)式的值為10,也就是說變量i的值為10。運(yùn) 算 符舉例說明運(yùn) 算 符舉例說明+=i += j相當(dāng)于i = i + j-=i -= j相當(dāng)于i = i - j*=i *= j相當(dāng)于i = i * j/=i /= j相當(dāng)于i = i / j%=i %= j相當(dāng)于i = i % j表2-2-6 特殊賦值運(yùn)算符表達(dá)式?語句1:語句2(6)優(yōu)先級。在J
37、ava語言中,對一個(gè)表達(dá)式進(jìn)行計(jì)算時(shí),是按照運(yùn)算符的優(yōu)先級來決定執(zhí)行的先后次序。首先執(zhí)行小括號中的表達(dá)式,然后按照運(yùn)算符優(yōu)先級的高低依次相對應(yīng)的執(zhí)行表達(dá)式。同一級別運(yùn)算符,基本上都是從表達(dá)式的左邊向右邊依次執(zhí)行。下面由高到低列出了Java語言中運(yùn)算符的優(yōu)先級。()+和-!和*、/和%+和-、=和!=&|&|?和:=、+=、-=、*=、/=和%=7數(shù)據(jù)類型的轉(zhuǎn)換Java程序中的每一個(gè)數(shù)據(jù)都必須有且只有一個(gè)數(shù)據(jù)類型。程序中的數(shù)據(jù)既包括用戶可以看到的變量和數(shù)值,也包括用戶看不到的在程序運(yùn)行中產(chǎn)生的中間計(jì)算結(jié)果。當(dāng)兩個(gè)數(shù)據(jù)的類型不相同時(shí),必須先進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,然后才能運(yùn)算或者賦值。(1)自動(dòng)轉(zhuǎn)換。
38、是指系統(tǒng)將所占內(nèi)存空間字節(jié)數(shù)少的類型,自動(dòng)轉(zhuǎn)換為所占內(nèi)存空間字節(jié)數(shù)多的類型,將整數(shù)類型轉(zhuǎn)換為浮點(diǎn)類型。也就是說可以將byte轉(zhuǎn)換為short,byte和short轉(zhuǎn)換為int,byte、short和int轉(zhuǎn)換為long,byte、short、int和long轉(zhuǎn)換為float,byte、short、int、long和float轉(zhuǎn)換為double等。例如,下面的語句,雖然變量與數(shù)據(jù)的類型不同,但是Java語言可以自動(dòng)轉(zhuǎn)換,程序編譯時(shí)不會(huì)顯示錯(cuò)誤信息。(2)強(qiáng)制轉(zhuǎn)換。是指通過語句將所占內(nèi)存空間字節(jié)數(shù)多的類型,強(qiáng)制轉(zhuǎn)換為所占內(nèi)存空間字節(jié)數(shù)少的類型,將浮點(diǎn)類型轉(zhuǎn)換為整數(shù)類型。其格式如下:例如:byte
39、b=8;short s=b;int i=s;long l=i;float f=l;(轉(zhuǎn)化后數(shù)據(jù)類型的聲明關(guān)鍵字)原類型數(shù)據(jù)int i=10byte b=(byte)i;如果將浮點(diǎn)類型轉(zhuǎn)換為整數(shù)類型,則整數(shù)部分保留,小數(shù)部分丟失。例如:在強(qiáng)制轉(zhuǎn)換中,一定要注意變量類型的范圍,數(shù)據(jù)不可以超出轉(zhuǎn)換后類型的范圍。例如: (3)數(shù)據(jù)類型轉(zhuǎn)換在計(jì)算中的應(yīng)用。在進(jìn)行計(jì)算的時(shí)候,Java語言根據(jù)被計(jì)算的兩個(gè)數(shù)據(jù)的類型來決定計(jì)算結(jié)果的類型。如果被計(jì)算的兩個(gè)數(shù)據(jù)的類型一樣,則計(jì)算結(jié)果的類型必須和它們保持一致。因此,整型變量在做除法運(yùn)算時(shí),如果不能整除會(huì)導(dǎo)致運(yùn)算結(jié)果的小數(shù)部分丟失,最終造成整個(gè)表達(dá)式的計(jì)算結(jié)果不精確
40、。為了避免這種情況的出現(xiàn),在進(jìn)行復(fù)雜計(jì)算的時(shí)候,變量最好不使用int型,建議使用double型。如果被計(jì)算的兩個(gè)數(shù)據(jù)的類型不一樣,則先按照自動(dòng)轉(zhuǎn)換原則將數(shù)據(jù)類型轉(zhuǎn)換為同樣的類型,然后再計(jì)算,也就是說計(jì)算結(jié)果的類型和所占內(nèi)存空間字節(jié)數(shù)多的類型一致。double p=423.422;int i=(int)p; /變量i的值為423int i=200;byte b=(byte)i;/變量i的值超出byte型變量的范圍(-128127),系統(tǒng)會(huì)顯示錯(cuò)誤例如,在下面的程序Exp中,4個(gè)算術(shù)表達(dá)式看似一樣,但是因?yàn)閿?shù)據(jù)類型不同,所以運(yùn)算結(jié)果有很大的差別,運(yùn)行結(jié)果如圖2-2-4所示。如果一個(gè)是char型數(shù)據(jù)
41、,另一個(gè)是整數(shù)或者浮點(diǎn)型數(shù)據(jù),則char型數(shù)據(jù)按照ASCII碼轉(zhuǎn)換成整數(shù)或者浮點(diǎn)型數(shù)字。例如,“System.out.println ( A +50.9 );”語句的運(yùn)行結(jié)果是115.9,即字母A的ASCII碼值65加上50.9。圖2-2-4 程序Exp的運(yùn)行結(jié)果public class Exp public static void main(String args) double q1=9/7*2-3/2+11/5; double q2=9.0/7*2-3/2+11/5; double q3=9.0/7*2-3.0/2+11/5; double q4=9.0/7*2-3.0/2+11.0/5
42、; System.out.println(q1=+q1); System.out.println(q2=+q2); System.out.println(q3=+q3); System.out.println(q4=+q4); 2.3【案例5】輸入個(gè)人信息相關(guān)知識(shí)1圖形用戶界面和組件(1)圖形用戶界面(Graphics User Interface,GUI)。圖形用戶界面就是使用圖形的方式,借助菜單、按鈕等標(biāo)準(zhǔn)界面元素和鼠標(biāo)的操作,幫助用戶方便地向計(jì)算機(jī)系統(tǒng)發(fā)出指令、執(zhí)行操作,并將系統(tǒng)運(yùn)行的結(jié)果同樣以圖形方式顯示給用戶。例如,用戶可以在文本框內(nèi)輸入信息,再單擊按鈕,然后計(jì)算機(jī)系統(tǒng)根據(jù)用戶輸入的
43、信息進(jìn)行某種運(yùn)算或者顯示某些內(nèi)容。在Java語言中,通過Java Application和Java Applet均可以創(chuàng)建圖形用戶界面。下面將主要介紹如何使用Java Applet來創(chuàng)建簡單的圖形用戶界面。(2)組件。組件是圖形用戶界面的最小單位之一,里面不再包含其他元素。組件的作用是完成與用戶的一次交互,包括接受用戶的一個(gè)操作命令,接受用戶的一個(gè)文本輸入,向用戶顯示一段文本或者一個(gè)圖形等。從某種程度上來說,組件是圖形用戶界面標(biāo)準(zhǔn)化的結(jié)果。下面將介紹標(biāo)簽組件、文本框組件、文本區(qū)組件和按鈕組件。當(dāng)用戶對組件進(jìn)行操作時(shí),Java就會(huì)產(chǎn)生一個(gè)事件(Event)來響應(yīng)用戶或者系統(tǒng)的操作。每一個(gè)組件都有
44、其對應(yīng)的監(jiān)聽者,每一個(gè)事件都有處理方法。監(jiān)聽者的作用是監(jiān)聽其對應(yīng)的組件,一旦該組件產(chǎn)生了事件,則執(zhí)行該事件對應(yīng)的處理方法中的語句。2面向?qū)ο笤O(shè)計(jì)過程的概念早期的計(jì)算機(jī)設(shè)計(jì)過程語言經(jīng)歷了面向機(jī)器(Machine-Oriented)、面向過程(Procedure-Oriented)等階段。隨著計(jì)算機(jī)技術(shù)的發(fā)展,以及要解決的問題越來越復(fù)雜,早期的面向過程的語言已經(jīng)不能適應(yīng)實(shí)際的需求。從上個(gè)世紀(jì)60年代末開始,陸續(xù)開發(fā)出了多個(gè)面向?qū)ο蟮脑O(shè)計(jì)過程語言,如C+、Visual Basic.NET、Java等。面向?qū)ο笤O(shè)計(jì)過程語言的出現(xiàn)帶動(dòng)了面向?qū)ο蟮脑O(shè)計(jì)過程方法。面向?qū)ο蟮脑O(shè)計(jì)過程是以要解決的問題中所涉及的
45、各種對象為主體,力求設(shè)計(jì)過程符合人們?nèi)粘5乃季S習(xí)慣,降低問題的難度和復(fù)雜性,提高編程的效率。使用面向?qū)ο蟮脑O(shè)計(jì)過程方法來解決問題就是從實(shí)際問題中抽象并封裝數(shù)據(jù)和操作的對象,通過定義其狀態(tài)和操作其行為來表述對象的特征和功能。此外,還可以通過定義接口來描述對象的地位以及與其他對象的關(guān)系,最終形成一個(gè)廣泛聯(lián)系的可理解、可擴(kuò)充、可維護(hù)及更接近于問題本來面目的動(dòng)態(tài)對象模型系統(tǒng)。面向?qū)ο蟮脑O(shè)計(jì)過程強(qiáng)調(diào)直接以實(shí)際問題中的事物為中心來思考和認(rèn)識(shí)問題,并按照這些事物的特征將它們抽象為對象,作為構(gòu)成軟件程序的基礎(chǔ)。面向?qū)ο蟮脑O(shè)計(jì)過程是目前軟件工業(yè)的主流,絕大多數(shù)的系統(tǒng)程序、應(yīng)用程序都是采用面向?qū)ο蟮乃枷雭碓O(shè)計(jì)開發(fā)
46、的。對象的概念是面向?qū)ο蠹夹g(shù)的核心。在面向?qū)ο螅∣bject Oriented,OO)概念中,整個(gè)世界是由各種各樣的對象(Object)組成的。世界上存在著許多類型相同的對象,也存在著許多類型不同的對象。例如,一只小狗和一本書是類型不同的兩個(gè)對象,而純白色的小狗和黑色的小狗可以看作是同一類型的兩個(gè)對象。在面向?qū)ο笤O(shè)計(jì)過程中,對象是一個(gè)由信息及對信息進(jìn)行處理的描述所組成的包,是對現(xiàn)實(shí)世界的抽象。雖然人們對對象的描述不可能完全相同,但是都是從兩個(gè)方面來描述對象:對象的狀態(tài)和對象的行為。對象的狀態(tài)是指描述對象的數(shù)據(jù),它描述了對象的屬性和特征,可以是系統(tǒng)或者用戶定義的數(shù)據(jù)類型,也可以是一個(gè)抽象的數(shù)據(jù)類
47、型。例如,計(jì)算器的型號、顏色、品牌等。對象的行為是指聲明在對象狀態(tài)上的一組操作方法的集合,說明了對象的功能。例如,計(jì)算器進(jìn)行加法、減法、開方等運(yùn)算。在面向?qū)ο笤O(shè)計(jì)過程中,經(jīng)常使用一些術(shù)語,下面介紹5個(gè)常用的術(shù)語。(1)對象(Object)。對象是面向?qū)ο笤O(shè)計(jì)過程的核心,也是程序的主要組成部分。一個(gè)程序?qū)嶋H上就是一組對象的總和。在現(xiàn)實(shí)世界中,人們面對的所有事物都可以稱為對象,例如,手機(jī)、電話、書、各種動(dòng)物、各種植物等。在Java語言中,對象是由數(shù)據(jù)以及對數(shù)據(jù)進(jìn)行處理的方法組成的,是對現(xiàn)實(shí)世界的抽象描述。在面向?qū)ο笤O(shè)計(jì)過程中,通過對象的狀態(tài)(States)和行為(Behaviors)兩個(gè)方面描述對
48、象。每一個(gè)對象都是由狀態(tài)和行為兩個(gè)最基本的部分組成的。雖然同一類對象的行為是一樣的,但是每個(gè)對象的狀態(tài)卻是獨(dú)立于其他對象的。例如,進(jìn)行各種數(shù)學(xué)運(yùn)算是任何一個(gè)計(jì)算器都具有的行為,但是每個(gè)計(jì)算器的品牌、型號、顏色等狀態(tài)又是不同的。 (2)類(Class)。在客觀世界中對象是大量存在的,為了便于理解和管理,通過歸類的方法從一個(gè)個(gè)具體對象中抽取共同特征,就形成了類。對象是由類創(chuàng)建的,類是同一類型對象的集合和抽象。例如,汽車有很多種分類,包括寶馬、尼桑、紅旗等。它們是不同的對象,但是都屬于汽車類,存在著許多共同點(diǎn)。在Java語言中,每一個(gè)類是一種對象類型數(shù)據(jù),屬于不同類的對象具有不同的數(shù)據(jù)類型。一個(gè)對象
49、被稱為其類的一個(gè)實(shí)例(Instance),是該類的一次實(shí)例化的結(jié)果。例如,月餅?zāi)W涌梢钥醋魇窃嘛灥念悾褂媚W幼鲈嘛灥倪^程實(shí)際上就是一個(gè)實(shí)例化的過程,最終制作出的月餅是該月餅?zāi)W拥囊粋€(gè)對象。再比如,前面介紹的組件,每種組件都是Java語言中的一個(gè)類,而在程序中創(chuàng)建的各種組件就是其對應(yīng)類的對象。例如,文本框組件是TextField類,按鈕組件是Button類,標(biāo)簽組件是Label類。類還可以具有子類,子類除了具有類的所有狀態(tài)和行為外,還具有自己特有的狀態(tài)和行為。例如,狗是哺乳動(dòng)物類的一個(gè)子類,它除了具有哺乳動(dòng)物類共有的狀態(tài)和行為外,還具有狗類特有的狀態(tài)和行為。(3)消息(Message)。消息是
50、面向?qū)ο笙到y(tǒng)中實(shí)現(xiàn)對象間的通信和請求任務(wù)的操作。當(dāng)一個(gè)對象需要另外一個(gè)對象提供服務(wù)時(shí),它會(huì)向?qū)Ψ桨l(fā)出一個(gè)請求,而收到請求的對象會(huì)響應(yīng)這個(gè)請求并完成指定的服務(wù),這種向?qū)ο蟀l(fā)出的請求就稱為消息。消息是系統(tǒng)構(gòu)成的基本元素,為對象提供了唯一合法的動(dòng)態(tài)聯(lián)系途徑,使對象成為一個(gè)互相配合的有機(jī)整體。對象間傳遞的消息一般由3個(gè)部分組成:接受對象名、調(diào)用的操作名和參數(shù)。(4)域(Field)。域是類或者對象的狀態(tài)屬性的總稱。它可以是普通數(shù)據(jù)類型的變量,也可以是其他類的對象類型變量。例如,在計(jì)算器類中,品牌和顏色可以是String類型數(shù)據(jù),型號可以是int類型數(shù)據(jù),屏幕顯示的數(shù)字可以是double類型數(shù)據(jù)。在Ja
51、va語言中,可以使用實(shí)例變量來表達(dá)類或者對象的狀態(tài),其作用于整個(gè)類。(5)方法(Method)。方法是類行為的總稱。一個(gè)類可以有多個(gè)方法,表示該類所具有的功能和操作。通過對象調(diào)用類中的方法就可以改變對象域中變量的值。例如,計(jì)算器類具有加法、減法和開方等方法,通過一個(gè)計(jì)算器對象調(diào)用加法方法就可以改變對象狀態(tài)中屏幕顯示數(shù)字的值。3使用面向?qū)ο蠓椒ń鉀Q問題的過程使用面向?qū)ο蠓椒ń鉀Q問題的過程可以大體劃分為面向?qū)ο蠓治觯∣bject Oriented Analysis,OOA)、面向?qū)ο笤O(shè)計(jì)(Object Oriented Design,OOD)和面向?qū)ο缶幊蹋∣bject Oriented Prog
52、ramming,OOP)3大步驟(1)面向?qū)ο蠓治觯∣OA)。面向?qū)ο蠓治龅闹饕饔檬敲鞔_使用程序的用戶、用戶可以進(jìn)行的操作,以及數(shù)據(jù)的輸入、輸出和存儲(chǔ),并且用標(biāo)準(zhǔn)化的面向?qū)ο竽P鸵?guī)范地表述這些內(nèi)容,最后形成面向?qū)ο蠓治瞿P?,即OOA模型。在分析問題時(shí),要抽取所有需要的對象實(shí)體,然后確定這些對象的狀態(tài)和行為,以及它們之間的相互關(guān)系。一般來說,解決一個(gè)問題會(huì)涉及到多個(gè)對象,所以這些對象之間的關(guān)系一定要明確,從而反映出整個(gè)程序的功能和狀態(tài)。(2)面向?qū)ο笤O(shè)計(jì)(OOD)。面向?qū)ο笤O(shè)計(jì)是將在面向?qū)ο蠓治霾襟E中創(chuàng)建的OOA模型加以擴(kuò)展并得到面向?qū)ο笤O(shè)計(jì)步驟中的OOD模型。面向?qū)ο笤O(shè)計(jì)在OOA模型的基礎(chǔ)上
53、引入界面管理、任務(wù)管理和數(shù)據(jù)管理3部分的內(nèi)容,進(jìn)一步擴(kuò)充OOA模型。界面管理負(fù)責(zé)整個(gè)系統(tǒng)的人機(jī)對話界面的設(shè)計(jì),任務(wù)管理負(fù)責(zé)處理整個(gè)程序資源管理功能的工作以及設(shè)置客戶與服務(wù)器之間的接口,數(shù)據(jù)管理負(fù)責(zé)設(shè)計(jì)程序與數(shù)據(jù)庫的交換方式。面向?qū)ο笤O(shè)計(jì)還需要明確每個(gè)類方法的參數(shù)、返回值、功能等,以及各類之間的相容性和一致性的驗(yàn)證,對各個(gè)類、類內(nèi)成員的訪問權(quán)限的嚴(yán)格合理性驗(yàn)證,也包括驗(yàn)證對象類的功能是否符合用戶的需求。 (3)面向?qū)ο缶幊蹋∣OP)。面向?qū)ο缶幊叹褪蔷唧w的程序編寫階段,其主要過程是先選擇一種合適的面向?qū)ο缶幊陶Z言,再用選定的語言編寫設(shè)計(jì)過程設(shè)計(jì)步驟中對各個(gè)對象的詳盡描述,然后將編寫好的各個(gè)類根據(jù)
54、其關(guān)系集成為整個(gè)程序,最后通過各種實(shí)例測試找出程序的漏洞并改善程序,最終完成整個(gè)軟件的開發(fā)。4Java語言類庫的應(yīng)用Java語言中的類可以分為兩種情況,一種是系統(tǒng)聲明的類,即Java語言類庫中的類,另一種是用戶自定義的類。實(shí)際上,用戶自定義的類是由Java類庫中的類組合而成的,因此這里首先介紹如何使用系統(tǒng)聲明的類。在第5章將詳細(xì)介紹如何創(chuàng)建用戶自定義的類。(1)聲明類的對象。在Java語言中,數(shù)據(jù)可以分為普通型數(shù)據(jù)和對象型數(shù)據(jù)兩大類。與普通數(shù)據(jù)類型不同,在應(yīng)用程序中,當(dāng)需要使用某個(gè)對象型數(shù)據(jù)時(shí),首先要使用該對象所在的類聲明一個(gè)對象數(shù)據(jù)類型的變量,然后使用關(guān)鍵字new調(diào)用這個(gè)變量所屬類的構(gòu)造方法
55、來完成對象的初始化。格式:例如,下面的語句聲明一個(gè)Button類的變量b1。 Button b1=new Button();(2)類的變量。前面介紹過域是類或者對象的狀態(tài)和特征的總稱。它可以是普通數(shù)據(jù)類型的變量,也可以是其他類的對象類型變量。常見的變量有靜態(tài)變量和實(shí)例變量兩種形式。靜態(tài)變量是類固有的,可以直接引用。實(shí)例變量用來存儲(chǔ)某個(gè)類對象的屬性值。實(shí)例變量是依據(jù)其對象存在的,當(dāng)運(yùn)行程序創(chuàng)建對象的同時(shí),也創(chuàng)建了其實(shí)例變量,當(dāng)程序運(yùn)行完成,對象消失,其實(shí)例變量也同時(shí)消失。在應(yīng)用程序中,當(dāng)需要調(diào)用某個(gè)類中的實(shí)例變量時(shí),首先要聲明該類的一個(gè)對象數(shù)據(jù)類型的變量,然后采用下面的格式來調(diào)用該變量:類名 對
56、象變量名=new 類名(參數(shù)列表);格式:靜態(tài)變量是類的變量,不屬于任何一個(gè)類的具體對象實(shí)例。它不保存在某個(gè)對象實(shí)例的內(nèi)存空間中,而是保存在類的內(nèi)存空間的公共存儲(chǔ)單元中。也就是說,不論一個(gè)類具有多少個(gè)對象,該靜態(tài)變量只有一個(gè),任何一個(gè)類的對象訪問它,取得的都是相同的數(shù)值。同樣地,任何一個(gè)類的對象去修改它,也都是在對同一個(gè)內(nèi)存單元進(jìn)行操作。本書將在第5章詳細(xì)介紹類變量的使用方法。(3)類的方法。在類中有許多描述類行為的方法,這些方法中最常用的是實(shí)例方法和靜態(tài)方法。與實(shí)例變量一樣,實(shí)例方法屬于某個(gè)對象,只能通過類的對象調(diào)用。實(shí)例方法用來聲明某個(gè)類的行為,也就是說類的對象所能進(jìn)行的操作。在應(yīng)用程序中
57、,當(dāng)需要調(diào)用某個(gè)類中的實(shí)例方法時(shí),首先要聲明該類的一個(gè)對象數(shù)據(jù)類型的變量,然后采用下面的格式調(diào)用該方法:格式:與靜態(tài)變量類似,靜態(tài)方法的本質(zhì)是屬于整個(gè)類的,而不屬于某個(gè)實(shí)例對象。因?yàn)殪o態(tài)方法屬于類本身,所以只要聲明了類,它的靜態(tài)方法就存在。需要調(diào)用某個(gè)靜態(tài)方法時(shí),可以使用其所屬的類名稱直接調(diào)用,也可以用類的某個(gè)具體對象名來調(diào)用,其格式如下:對象變量名.實(shí)例變量名對象變量名.實(shí)例方法名(參數(shù)列表)格式1:格式2:以上關(guān)于面向?qū)ο笤O(shè)計(jì)過程的介紹,只是在理論上給讀者一個(gè)初步的概念。在后面的章節(jié)中,本書將以面向?qū)ο鬄榛A(chǔ)來介紹Java語言,并通過詳細(xì)的講解和大量的案例來幫助讀者理解面向?qū)ο蟮母拍钜约懊?/p>
58、向?qū)ο笤贘ava語言中的實(shí)現(xiàn)和應(yīng)用。5Label類Label(標(biāo)簽)類用來創(chuàng)建圖形用戶界面中的標(biāo)簽,主要作用是顯示文本信息。每一個(gè)標(biāo)簽只能單獨(dú)顯示一個(gè)只讀的文本。(1)Label(標(biāo)簽)類的聲明格式1:功能1:表示聲明一個(gè)標(biāo)簽,不顯示任何信息。格式2:功能2:表示聲明一個(gè)標(biāo)簽,并顯示字符串變量s的值,其大小根據(jù)字符串的長短來確定。例如,下面的語句表示聲明一個(gè)標(biāo)簽,其中顯示文字“請輸入您的職業(yè):”。類名.靜態(tài)方法名(參數(shù)列表)對象變量名.靜態(tài)方法名(參數(shù)列表)Label 變量名=new Label();Label 變量名=new Label(String s);Label msg=new Lab
59、el(請輸入您的職業(yè):);(2)Label類實(shí)例的方法setText(String s)方法用來改變標(biāo)簽中字符串的內(nèi)容。例如,下面的語句表示將標(biāo)簽msg的顯示內(nèi)容改為“請輸入您的姓名:”getText()方法用來獲取標(biāo)簽中的字符串。一般要用一個(gè)字符串變量保存。例如,下面的語句表示將標(biāo)簽msg的顯示內(nèi)容保存到變量str中。 標(biāo)簽的內(nèi)容只能由程序改變,不能接受用戶輸入的任何信息,所以一般不處理特定的事件。當(dāng)然標(biāo)簽還可以處理許多普通的事件,例如,mouse事件等,將在第6章詳細(xì)介紹。 6TextField類TextField(文本框)類用來創(chuàng)建圖形用戶界面中的文本框,只能接受用戶輸入的單行文本。(1
60、)TextField類的聲明格式1:msg.setText(請輸入您的姓名:); String str=msg.getText();TextField 變量名=new TextField(); 功能1:表示聲明一個(gè)文本框,其大小為默認(rèn)值,一般是1。格式2:功能2:表示聲明一個(gè)文本框,其大小為變量i的數(shù)值。例如,下面的語句表示聲明一個(gè)文本框text,其大小為30。格式3:功能3:表示聲明一個(gè)文本框,其文本框內(nèi)的初始值為字符串變量s的值,其大小根據(jù)字符串的長短來確定。例如,下面的語句表示聲明一個(gè)文本框text,程序運(yùn)行后,文本框內(nèi)顯示“請?jiān)诖颂庉斎肽男彰?。格?:功能4:表示聲明一個(gè)文本框,其
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版土地買賣居間合同簽訂與履行指導(dǎo)3篇
- 2025年度桶裝純凈水銷售數(shù)據(jù)分析與應(yīng)用合同
- 二零二五年度醫(yī)院布草用品消毒服務(wù)及質(zhì)量監(jiān)控合同3篇
- 二零二五年度商業(yè)場地租賃合同轉(zhuǎn)讓與租賃合同續(xù)簽協(xié)議2篇
- 二手房交易協(xié)議(2024版)
- 2025版事業(yè)單位聘用合同正規(guī)范本(含崗位調(diào)整)3篇
- 2025立醫(yī)院醫(yī)用控溫儀設(shè)備采購與安裝服務(wù)合同2篇
- 2025年度綠植種子研發(fā)與種植合同3篇
- 二零二五年度農(nóng)用貨車運(yùn)輸保險(xiǎn)代理服務(wù)合同
- 二零二五年度土地承包經(jīng)營權(quán)租賃與農(nóng)村電商服務(wù)合同
- 山東省青島市2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 墓地銷售計(jì)劃及方案設(shè)計(jì)書
- 從偏差行為到卓越一生3.0版
- 優(yōu)佳學(xué)案七年級上冊歷史
- 鋁箔行業(yè)海外分析
- 紀(jì)委辦案安全培訓(xùn)課件
- 超市連鎖行業(yè)招商策劃
- 醫(yī)藥高等數(shù)學(xué)智慧樹知到課后章節(jié)答案2023年下浙江中醫(yī)藥大學(xué)
- 城市道路智慧路燈項(xiàng)目 投標(biāo)方案(技術(shù)標(biāo))
- 【公司利潤質(zhì)量研究國內(nèi)外文獻(xiàn)綜述3400字】
- 工行全國地區(qū)碼
評論
0/150
提交評論