Java語言入門_第1頁
Java語言入門_第2頁
Java語言入門_第3頁
Java語言入門_第4頁
Java語言入門_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、15第1章 java語言入門1章第java語言入門java是一種非常優(yōu)秀的網(wǎng)絡(luò)編程語言,具有面向?qū)ο?、與平臺無關(guān)、安全、穩(wěn)定和多線程等優(yōu)良特性,是目前軟件實現(xiàn)中極為健壯的編程語言。java語言不僅可以用來開發(fā)大型的應(yīng)用程序,而且還特別適合于分布式應(yīng)用程序的開發(fā)。java已成為網(wǎng)絡(luò)時代最重要的語言之一。本章將對java語言作一簡單的介紹,讀者可以初步了解java程序的特點、運行環(huán)境、組成和開發(fā)步驟,以及java程序的3種類型。1.1 java的起源java是1995年6月由sun公司發(fā)布的一種革命性編程語言,曾被美國的著名雜志pc magazine評為1995年十大優(yōu)秀科技產(chǎn)品。之所以稱其之為革

2、命性編程語言,是因為用java語言編寫的軟件能在任何安裝了java虛擬機(jī)的操作系統(tǒng)上執(zhí)行。java語言的出現(xiàn)是源于對獨立平臺語言的需要,希望這種語言能編寫出嵌入各種家用電器等設(shè)備的芯片上且易于維護(hù)的程序。最初人們用c、c+語言開發(fā)家用電器設(shè)備,但是c、c+等語言有一個共同的缺點,那就是只能對特定cpu芯片進(jìn)行編譯。這樣一旦電器設(shè)備更換了芯片,就不能保證程序正確運行,可能需要修改程序,并針對新的芯片重新進(jìn)行編譯。1990年sun公司成立了由james gosling領(lǐng)導(dǎo)的開發(fā)小組,開始致力于開發(fā)一種可移植的、跨平臺的語言,該語言能生成正確運行于各種操作系統(tǒng)、各種cpu芯片上的代碼。正是由于他們的

3、精心鉆研和不懈努力最終促成了java語言的誕生。java技術(shù)的快速發(fā)展得益于internet的廣泛應(yīng)用,internet上有各種不同的計算機(jī),它們可能使用完全不同的操作系統(tǒng)和cpu芯片,但仍希望運行相同的程序,而java的出現(xiàn)大大推動了分布式系統(tǒng)的快速開發(fā)和應(yīng)用。提示:印度尼西亞有一座盛產(chǎn)咖啡的島嶼就叫java,中文譯為“爪哇”。開發(fā)人員為這種新的語言起名為java,其寓意是為世人端上一杯熱咖啡。1.2 java的特點java是目前使用最廣泛的網(wǎng)絡(luò)編程語言之一,具有簡單、面向?qū)ο?、與平臺無關(guān)、解釋型、多線程、安全、動態(tài)、穩(wěn)定健壯及分布式等特點。l 簡單:java語言和c+語言已成為軟件開發(fā)者應(yīng)

4、當(dāng)掌握的語言。僅從語法角度上看,java要比c+簡單,如c+中的指針、運算符重載、聯(lián)合數(shù)據(jù)類型、類的多重繼承等難以理解和難以使用的概念和功能在java中已棄之不用。l 面向?qū)ο螅阂灶?、對象和接口為基本編程單元來組織程序,實現(xiàn)軟件系統(tǒng)的功能。l 與平臺無關(guān):與平臺無關(guān)是java語言最大的優(yōu)勢。用其他語言編寫的程序,隨著操作系統(tǒng)的變化、處理器升級以及核心系統(tǒng)資源的變化,將導(dǎo)致程序出現(xiàn)錯誤或無法運行。而用java編寫的程序可以在任何安裝了java虛擬機(jī)(jvm)的計算機(jī)上正確運行,sun公司實現(xiàn)了自己的目標(biāo)一次寫成,處處運行。l 解釋型:java源程序通過編譯器編譯為字節(jié)碼程序,字節(jié)碼程序通過jav

5、a虛擬機(jī)(jvm)解釋執(zhí)行。和c+不同,java不針對特定的cpu芯片進(jìn)行編譯,而是將源程序編譯為稱作字節(jié)碼的一種“中間碼”。字節(jié)碼是很接近機(jī)器碼的文件(二進(jìn)制文件),可以在安裝了java虛擬機(jī)(jvm)的任何操作系統(tǒng)上被解釋執(zhí)行。l 多線程:java的特點之一就是內(nèi)置對多線程的支持。java語言預(yù)定義了線程類,程序員通過對預(yù)定義的線程進(jìn)行擴(kuò)展,可以設(shè)計自己的線程類。c+沒有內(nèi)置的多線程機(jī)制,因此必須調(diào)用操作系統(tǒng)的多線程功能來進(jìn)行多線程程序的設(shè)計。l 安全:首先,java是強類型的語言,保證數(shù)據(jù)類型的合法性;其次,java不支持指針,杜絕了內(nèi)存的非法訪問;再次,java程序執(zhí)行時對加載的類進(jìn)行

6、身份的合法性檢查,防止非法類的加載執(zhí)行;最后,java提供了異常處理機(jī)制,可以對運行時出現(xiàn)的錯誤進(jìn)行控制和處理。l 動態(tài):java程序的基本組成單元就是類。按照類的來源可將其分為3種:java系統(tǒng)提供的類、第三方公司提供的類以及用戶自己編寫的類。一個java程序由多個類組成,程序執(zhí)行時才將需要的類動態(tài)裝入內(nèi)存,這就使得java可以在分布式環(huán)境中動態(tài)地維護(hù)程序及類庫,而不像c+那樣,每當(dāng)其類庫升級之后,相應(yīng)的程序都必須重新修改、編譯。l 穩(wěn)定健壯。l 分布式。1.3 java的運行環(huán)境要開發(fā)java程序,必須首先安裝java開發(fā)工具包(java development kit,jdk),安裝jd

7、k后,系統(tǒng)便為java應(yīng)用程序和applet程序提供了開發(fā)環(huán)境和運行環(huán)境(jre)。1.3.1 sdk的下載與安裝讀者可以登錄sun公司的網(wǎng)站獲取免費的jdk。本書使用的jdk版本為jdk1.4.2_16,操作系統(tǒng)平臺為windows xp。1下載jdk1.4.2登錄sun公司的網(wǎng)站(2安裝jdk1.4.2安裝jdk1.4.2的步驟如下:(1)雙擊開發(fā)工具包程序j2sdk-1_4_2_16-windows-i586-p.exe,彈出jdk安裝對話框,如圖1-1所示。圖1-1 jdk安裝對話框(2)選中單選按鈕,即接受許可協(xié)議,然后單擊按鈕,進(jìn)入custom setup界面,如圖1-2所示。(3

8、)選擇安裝路徑。單擊按鈕,彈出installshield wizard對話框,在其中將安裝路徑改為“d:j2sdk1.4.2”,然后單擊按鈕,回到custom setup界面。單擊按鈕,進(jìn)入browser registration界面,如圖1-3所示。(4)單擊按鈕,彈出progress對話框,系統(tǒng)進(jìn)入自動安裝狀態(tài),最后進(jìn)入complete界面,如圖1-4所示。圖1-2 custom setup界面圖1-3 browser registration界面圖1-4 complete界面(5)單擊按鈕,完成jdk工具包的安裝。注意:在此將jdk開發(fā)包安裝在d:j2sdk1.4.2目錄下,這樣java

9、編譯器和解釋器在d:j2sdk1.4.2bin目錄下,而java系統(tǒng)類庫在d:j2sdk1.4.2lib目錄下,便于區(qū)分、查找。1.3.2 配置java運行環(huán)境程序員編寫的java程序要用到j(luò)ava系統(tǒng)類庫,需要知道java系統(tǒng)類庫所在的路徑;對編寫好的程序進(jìn)行編譯和執(zhí)行,則需要知道編譯器和解釋器所在的路徑,因此有必要為java類庫配置類路徑(classpath)、為編譯器和解釋器配置命令搜索路徑(path)。具體配置步驟如下:(1)在windows桌面上右擊“我的電腦”圖標(biāo),在彈出的快捷菜單中選擇“屬性”命令,彈出“系統(tǒng)屬性”對話框。在“系統(tǒng)屬性”對話框中選擇“高級”選項卡,如圖1-5所示。

10、(2)在“高級”選項卡中單擊“環(huán)境變量”按鈕,彈出“環(huán)境變量”對話框,如圖1-6所示。 圖1-5 “系統(tǒng)屬性”對話框 圖1-6 “環(huán)境變量”對話框(3)在“環(huán)境變量”對話框的“系統(tǒng)變量”欄中單擊按鈕,彈出“新建系統(tǒng)變量”對話框。在“變量名”文本框中輸入“path”,在“變量值”文本框中輸入“.;d:j2sdk1.4.2bin”,如圖1-7所示。單擊按鈕,完成path的設(shè)置。返回到“環(huán)境變量”對話框。(4)在“環(huán)境變量”對話框的“系統(tǒng)變量”欄中再次單擊按鈕,彈出“新建系統(tǒng)變量”對話框。在“變量名”文本框中輸入“classpath”,在“變量值”文本框中輸入“.;d:j2sdk1.4.2lib”,

11、如圖1-8所示。單擊按鈕,完成classpath的設(shè)置。返回到“環(huán)境變量”對話框。 圖1-7 “新建系統(tǒng)變量”對話框(1)   圖1-8 “新建系統(tǒng)變量”對話框(2)(5)在“環(huán)境變量”對話框中單擊按鈕,返回到“系統(tǒng)屬性”對話框。在“系統(tǒng)屬性”對話框中單擊按鈕,完成環(huán)境變量的配置。注意:classpath環(huán)境變量設(shè)置中的“.;”表示java應(yīng)用程序執(zhí)行時,加載當(dāng)前目錄中的java類。如果只要運行java程序,可以只安裝java運行環(huán)境jre。jre由java虛擬機(jī)、java的核心類以及一些支持文件組成。1.3.3 jdk1.4.2開發(fā)工具包的目錄結(jié)構(gòu)前面將jdk開發(fā)工具包安裝在“d:

12、j2sdk1.4.2”目錄下,在編寫java程序前,有必要先來了解一下“d:j2sdk1.4.2”目錄下5個子目錄的作用?!癲:j2sdk1.4.2”的目錄結(jié)構(gòu)如表1-1所示。表1-1 d:j2sdk1.4.2的目錄結(jié)構(gòu)子 目 錄 名作 用d:j2sdk1.4.2bin存放編譯器(javac.exe)和解釋器(java.exe)d:j2sdk1.4.2lib存放java應(yīng)用程序執(zhí)行時要引用的主要類庫d:j2sdk1.4.2jre為構(gòu)建java運行環(huán)境提供相關(guān)系統(tǒng)程序和文件d:j2sdk1.4.2demo存放例子程序,為編程人員提供學(xué)習(xí)的實例d:j2sdk1.4.2include為c語言編寫的程

13、序提供頭文件1.3.4 jdk、jre和jvm之間的關(guān)系jdk、jre和jvm之間的關(guān)系如圖1-9所示。圖1-9 jdk、jre和jvm之間的關(guān)系1.4 java程序組成從程序代碼角度看,java程序由多個獨立的類及接口組成;從程序執(zhí)行角度來看,java程序是由多個動態(tài)創(chuàng)建的對象相互協(xié)作組成的集合。1.4.1 java程序與java源文件一個java程序可以包含多個類和接口;類和接口可以保存在不同的java源文件(*.java)中,即一個java程序的多個類和多個接口可以分布在多個java源文件(*.java)中。1.4.2 類、接口的基本結(jié)構(gòu)1類的基本結(jié)構(gòu)一個類由類頭和類體組成,類體可以包含

14、多個字段和多個方法。下面以圓類(circle)為例,說明類的基本結(jié)構(gòu)。public class circle /本行是類的頭 /類體起始行 private double radius; /字段radius 表示圓的半徑 float x, y ; /字段x,y表示圓心坐標(biāo) /下面的方法用來構(gòu)造一個圓對象 public circle() this(1.0, "white", 1.0); /下面的方法用來構(gòu)造一個圓對象 public circle(double radius, string color, double weight) super(color, weight); t

15、his.radius = radius; /下面的方法用來計算圓的面積 public double getarea() return radius*radius*math.pi; /下面的方法用來計算圓的周長 public double getperimeter() return 2*radius*math.pi; /類體結(jié)束行2接口的基本結(jié)構(gòu)一個接口由接口頭和接口體組成,接口體可以由多個常量和多個方法頭組成。下面以接口trade為例,介紹接口的基本結(jié)構(gòu):interface trade /接口頭 /接口體起始行 final string bankname= "chinabank&qu

16、ot;/聲明"bankname"為常量 void saving(float monkey); /聲明該方法具有存款的功能 float fetch(float monkey); /聲明該方法具有取款的功能 /接口體結(jié)束行接口trade表示交易行為,該行為是對“存款”和“取款”共同行為特征的抽象,因為“存款”和“取款”都具有“交易”的共同特征。1.5 java程序的開發(fā)步驟java程序的開發(fā)過程主要包括以下3個步驟,如圖1-10所示。圖1-10 java程序的開發(fā)步驟(1) 程序員使用編輯器(如ultraedit、“記事本”或集成開發(fā)工具)編寫源文件(*.java)。

17、(2)用編譯器(javac.exe)將源文件(*.java)編譯為字節(jié)碼文件(*.class)。(3)用解釋器(java.exe)執(zhí)行字節(jié)碼文件。1.6 java程序的分類不同的java程序運行在不同的環(huán)境中,習(xí)慣上將運行環(huán)境相同的java程序歸為一類,按此分類方法,java程序可以分以下3類。(1)java應(yīng)用程序:完整的程序,能獨立在本地虛擬機(jī)上(jvm)執(zhí)行。(2)applet小程序:必須嵌入在html頁面中的非獨立程序,部署在web服務(wù)器,在瀏覽器中的虛擬機(jī)上(jvm)執(zhí)行。(3)servlet程序:部署和運行在web服務(wù)器中,由web服務(wù)器中的虛擬機(jī)(jvm)執(zhí)行。1.6.1 jav

18、a應(yīng)用程序一個java應(yīng)用程序可以包含多個類,但是有且僅有一個類包含main()方法。main()方法是程序執(zhí)行的起點。在編寫源文件前,首先需要創(chuàng)建一個應(yīng)用目錄,用來保存程序員編寫的java源程序。本書創(chuàng)建的應(yīng)用目錄為d:user。下面介紹java應(yīng)用程序的開發(fā)步驟。1編寫源文件下面程序的功能是在控制臺上輸出字符串“我們開始學(xué)習(xí)java語言”。public class hello public static void main (string args) /方法頭 /方法體起始行 system.out.println("我們開始學(xué)習(xí)java語言"); /方法體結(jié)束行注意:開

19、始學(xué)習(xí)java時,最好采用“記事本”(notepad)作為編寫java源文件的工具。(1)文件的保存現(xiàn)在將源文件保存到d:user目錄中,并命名為hello.java。注意:不可寫成hello.java,因為java語言是區(qū)分大小寫的。(2)文件命名規(guī)則如果源文件中有多個類,那么只能有一個類是public類;如果源文件中有個public類,那么源文件的名稱必須與這個類的名稱完全相同,擴(kuò)展名是.java;如果源文件沒有public類,那么源文件的名稱只要和某個類的名稱相同,并且擴(kuò)展名是.java即可。(3)分析hello.java程序該程序只包含一個類,類名是hello,是由程序員自己命名的。p

20、ublic、class都是關(guān)鍵字,都是修飾hello的。其中,class表示hello是一個類,public表示hello是一個公有類。該類體中只包含一個方法,方法名是main。含有main方法的類稱為主類,一個java應(yīng)用程序有且僅有一個主類。public、static和void分別是對main方法的聲明。在一個java應(yīng)用程序中main方法必須被聲明為public static void。注意:java源程序中的括號和標(biāo)點符號,都必須在英文狀態(tài)下輸入,例如,“我們開始學(xué)習(xí)java語言”中的引號必須是英文狀態(tài)下的引號,而字符串中的符號則不受中文字符或英文字符的限制。2編譯源文件創(chuàng)建了hell

21、o.java源文件后,還要使用java編譯器(javac.exe)對其進(jìn)行編譯。在dos窗口中進(jìn)入d:user目錄,執(zhí)行以下命令。d:user>javac hello.java /按enter鍵,編譯hello.java編譯完成后將生成一個hello.class文件,該文件稱為字節(jié)碼文件。這個字節(jié)碼文件(hello.class)將被存放在與源文件相同的目錄中。如果java源程序中包含了多個類,那么對源文件完成編譯后將生成多個擴(kuò)展名為.class的文件,每個類生成一個擴(kuò)展名為.class的字節(jié)碼文件,每個字節(jié)碼文件名與該類的名稱相同。這些字節(jié)碼文件將被存放在與源文件相同的目錄中。如果對源文

22、件進(jìn)行了修改,則必須重新編譯,生成新的字節(jié)碼文件。3運行程序下面使用java解釋器(java.exe)運行應(yīng)用程序。d:user>java hello /按enter鍵,運行應(yīng)用程序此時屏幕上將顯示如下信息:我們開始學(xué)習(xí)java語言注意:當(dāng)java應(yīng)用程序中有多個類時,java命令后的類名必須是包含了main方法的那個類的名稱,即主類的名稱。一個源文件若包含多個類,則只允許一個類是公有類(由public修飾的類稱為公有類),并且源文件名與公有類名相同。1.6.2 applet小程序一個applet小程序也是由若干個類組成的,類中不需要main方法,但必須有且只有一個類擴(kuò)展了applet類

23、(系統(tǒng)類),將擴(kuò)展applet類形成的子類稱為主類,主類必須是public類。1編寫源程序import java.applet.*;import java.awt.*;public class display extends applet public void paint(graphics g) g.setcolor(color.red); g.drawstring("我們在學(xué)習(xí)apple小程序呢",6,30); g.setcolor(color.blue); g.drawstring("我學(xué)得很認(rèn)真",11,50); (1)文件的保存現(xiàn)在將源文件保存

24、到d:user目錄中,并命名為display.java。注意:不可寫成display.java,因為java語言是區(qū)分大小寫的。(2)import語句程序中用到了applet類,因此在程序中要用import語句導(dǎo)入該類。applet類在包java.applet(其中有很多類)中。在java語言中,將一些類放在一起便稱之為一個包(文件夾),如這里的java.applet便是一個包的名稱。關(guān)于包的內(nèi)容將在本書后面章節(jié)中介紹。2編譯源文件d:user>javac display.java /按enter鍵,編譯display.java編譯成功后,d:user目錄下會生成一個display.cl

25、ass文件。如果源文件有多個類,將生成多個.class文件,并且和源文件放在同一文件夾中。如果對源文件進(jìn)行了修改,則必須重新編譯源文件,重新生成新的字節(jié)碼文件。3運行applet小程序java applet必須在瀏覽器中運行,因此必須編寫一個超文本文件(.html),將java applet小程序嵌入到超文本文件(.html)中。下面用“記事本”編寫一個文件,命名為display.html(也可以命名為其他名稱,但文件后綴名必須是.html),將它保存在d:user目錄下,即與display.class文件在同一目錄下。display.html文件的內(nèi)容如下:<applet code= display.class height=100 width=300> </applet>(1)在html文件中指定主類code屬性用來指定applet小程序主類的字節(jié)碼文件名。(2)指定小程序的顯示高度和寬度width、height指定了這個java applet的寬度和高度,單位是像素。要想讓瀏覽器運行一個java applet,<applet></applet>標(biāo)記中的code、hei

溫馨提示

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

評論

0/150

提交評論