Java大學實用教程第一章.ppt
《Java大學實用教程第一章.ppt》由會員分享,可在線閱讀,更多相關《Java大學實用教程第一章.ppt(41頁珍藏版)》請在裝配圖網(wǎng)上搜索。
Java大學實用教程,山東科技大學孫亮,輔助資料,《ThinkinginJava》BruceEckl《Java編程思想》侯捷Javadoc,Contents,Java的基本知識面向?qū)ο蟮母拍铑惡蛯ο罄^承,多態(tài)正則表達式I/O,線程圖形用戶界面網(wǎng)絡編程、JavaApplet,第1章Java語言概述,?本章導讀1.Java語言的誕生2.學習Java的必要性3.java的特點4.java與C/C++之關系5.Java運行平臺6.Java程序開發(fā)7.SDK1.5編譯器的新規(guī)定,1.1Java語言的誕生,Java誕生于1995年,是Sun公司組織開發(fā)的一編程語言,主要貢獻者是JamesGosling。1990年Sun公司成立了由JamesGosling領導的開發(fā)小組,開始致力于開發(fā)一種可移植的、跨平臺的語言,該語言能生成正確運行于各種操作系統(tǒng)、各種CPU芯片上的代碼。他們的鉆研和努力促成了Java語言的誕生。Java的發(fā)展得利于Internet和Web的出現(xiàn),Internet上有各種不同的計算機,它們可能使用完全不同的操作系統(tǒng)和CPU芯片,但仍希望運行相同的程序,Java的出現(xiàn)標志著真正的分布式系統(tǒng)的到來。,,返回,Java的發(fā)展簡史,1991年,Java語言誕生在美國SUN計算機公司,它是由“綠色工程”(GreenProject)小組開發(fā)的,但是它最初的名字不是Java,而是Oak(橡樹)。1994年,“綠色”小組將他們的開發(fā)轉(zhuǎn)向了Internet,用Oak編寫了一系列網(wǎng)絡應用程序,像網(wǎng)絡瀏覽器WebRunner等。1995年,隨著Java語言在互聯(lián)網(wǎng)和多媒體上的發(fā)展,它得到了全球計算機業(yè)的高度重視。鑒于1.2版與之前版本的巨大差別,SUN公司將1.2版以及其以后版本命名為“Java2”。目前,Java語言的正式版本已經(jīng)發(fā)展到1.6版,1.2學習Java的必要性,Java不僅可以用來開發(fā)大型的桌面應用程序,而且特別適合于Internet的應用開發(fā)。目前,Java語言不僅是一門正在被廣泛使用的編程語言,而且已成為軟件設計開發(fā)者應當掌握的一門基礎語言。Java語言是面向?qū)ο缶幊蹋⑸婕暗骄W(wǎng)絡、多線程等重要的基礎知識,而且很多新的技術領域都涉及到了Java語言,因此,學習和掌握Java已成為共識,國內(nèi)外許多大學已將Java語言列入了本科教學計劃,IT行業(yè)對Java人才的需求正在不斷的增長,一些軟件公司對其開發(fā)人員周期地進行Java的基礎培訓工作。在IT行業(yè)發(fā)達的北美洲,有將近60%的軟件開發(fā)人員在使用Java完成他們的工作,EvansData公司在2002年做的一項調(diào)查中發(fā)現(xiàn),在北美洲,Java的使用率已經(jīng)接近C/C++。返回,1.2學習Java的必要性,JamesGosling對話節(jié)選:推動Java最主要的因素是網(wǎng)絡,Java是以網(wǎng)絡應用為基礎的開發(fā)工具,這是它的強處;在PC領域,Java有很多應用,這是表面上看不到的,主要是微軟花了大力氣避免用戶看到;夏威夷火山上的觀測臺使用Java控制望遠鏡,荷蘭健康醫(yī)療組織使用Java解決了保護隱私等問題;返回,1.3java的特點,1.平臺無關性Java語言和其他語言相比,最大的優(yōu)勢就是能夠在所有的計算機上運行,這也是Java風靡全球的主要原因。2.面向?qū)ο竺嫦驅(qū)ο缶幊淌且环N先進的編程思想,更加容易解決復雜的問題。3.多線程Java的特點之一就是內(nèi)置對多線程的支持。多線程允許同時完成多個任務。4.安全5.動態(tài)返回,平臺無關性,Java之所以能在所有的計算機上運行,是因為Java可以在計算機的操作系統(tǒng)之上提供一個Java運行環(huán)境,即一個運行Java程序的平臺,這個平臺由Java虛擬機(JavaVirtualMachine,JVM)、類庫以及一些核心文件組成?!耙坏懗?,處處可用”為了理解Java不依賴于平臺的特性,回顧編程語言發(fā)展史:機器語言:二進制代碼;計算機可直接識別;匯編語言:用助記符代替二進制指令;仍是面向機器的低級語言;高級語言:更接近于自然語言(英語);編寫源文件,把它轉(zhuǎn)化成機器語言然后執(zhí)行。,平臺無關性,源程序轉(zhuǎn)化成機器語言的兩種方式:編譯方式(Compilation):針對當前的處理器芯片,將源程序翻譯成機器指令(成為目標程序),交給計算機執(zhí)行;解釋方式(Interpretation):不產(chǎn)生整個目標程序,根據(jù)當前處理器芯片,翻譯一句執(zhí)行一句。C語言采用的是編譯方式,提供相應的C語言編譯器,針對特定的CPU芯片對源文件編譯生成機器代碼,然而,一旦環(huán)境發(fā)生變化可能需要修改源程序并針對新的環(huán)境重新編譯。,平臺無關性-Java的處理方式,Java不針對特定的CPU進行編譯,Java提供的編譯器把源程序編譯成稱為“字節(jié)碼”(ByteCode)的一種中間代碼,很接近機器碼的二進制文件,但不能被機器直接識別。當字節(jié)碼加載到內(nèi)存后,通過Java解釋器,即Java虛擬機(JavaVirtualMachine,簡稱JVM)將字節(jié)碼按解釋方式執(zhí)行。Java語言的翻譯方法如圖1.1所示,平臺無關性-Java的處理方式,如果是解釋執(zhí)行的,運行速度通常比較編譯方式要慢;Java使用JIT(JustInTime)技術將字節(jié)碼直接轉(zhuǎn)化成高性能的本地機器碼;JIT是Sun公司在Java2版本中提供的一個字節(jié)碼編譯器,是Java運行環(huán)境平臺的一部分,仍具有平臺獨立性;因此Java“高效且跨平臺”。Java編譯器按照統(tǒng)一的標準把源程序編譯成字節(jié)碼文件;并為廣大的硬件提供了各種帶JVM的Java運行環(huán)境平臺,解釋執(zhí)行字節(jié)碼。Java源文件——漢語;字節(jié)碼——世界語;,面向?qū)ο蟮娜齻€主要特性,封裝:將數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一起;通過抽象從實例中抽取共同性質(zhì)形成類,對象是類的一個實例;繼承:子類繼承父類的屬性和功能,同時又可以定義子類獨有的數(shù)據(jù)和數(shù)據(jù)上的操作;多態(tài)操作名稱的多態(tài)——操作:求面積,圓或矩形?與繼承有關的多態(tài)——哺乳類的子類貓和狗,操作喊叫具有多態(tài)性;,多線程,處理器同一時刻只能執(zhí)行一個線程,但可以在不同的線程之間快速切換,感覺好像多個任務在同時執(zhí)行;Java內(nèi)置對多線程的支持,而不像C++沒有內(nèi)置的多線程機制,必須調(diào)用操作系統(tǒng)的多線程功能來進行多線程程序設計;,安全,當用戶使用支持Java的瀏覽器時,可以放心的運行JavaApplet(Java小應用程序),不必擔心病毒的感染和惡意的企圖;JavaApplet將被限制在Java的運行環(huán)境中,不允許它訪問計算機的其它部分。,動態(tài),Java程序的基本組成單元就是類,有些類是自己編寫的,有些類是從類庫中引入的;而類又是在運行時動態(tài)裝載的,使得Java可以在分布環(huán)境中動態(tài)的維護程序和類庫;而不像C++那樣,每當其類庫升級后,如果想讓程序具有新類庫提供的功能,就必須重新修改和編譯。,1.4java與C/C++之關系,如果你學習過C++語言,你會感覺Java很眼熟,因為Java中許多基本語句的語法和C++一樣,像常用的循環(huán)語句、控制語句等和C++幾乎一樣;但不要誤解為Java是C++的增強版,Java和C++是兩種完全不同的語言,他們各有各的優(yōu)勢,將會長期并存下去,Java語言和C++語言已成為軟件開發(fā)者應當掌握的語言;從語言的簡單性方面,Java去掉了C++中很多容易混淆的概念,或以更清楚、容易理解的方式實現(xiàn),如Java不再有指針的概念;Java相比較更易學好用,但不要誤以為這門語言很干癟?!坝⒄Z比阿拉伯語容易學,但并不意味英語不能表達豐富的內(nèi)容和深刻的思想”。返回,1.5Java運行平臺,1.三種平臺簡介目前Java運行平臺主要分為下列3個版本:(JavaSE(曾稱作J2SE)——Java標準版或Java標準平臺。JavaSE提供了標準的JDK開發(fā)平臺,利用該平臺可以開發(fā)Java桌面應用程序和低端的服務器應用程序,也可以開發(fā)JavaApplet。JavaEE(曾稱作J2EE)——Java企業(yè)版或Java企業(yè)平臺,可以構(gòu)建企業(yè)級的服務應用。JavaEE平臺包含了JavaSE平臺,并增加了附加類庫,以便支持目錄管理、交易管理和企業(yè)級消息處理等功能。JavaME(曾稱作J2ME)——Java微型版或Java小型平臺。JavaME是一種很小的Java運行環(huán)境,用于嵌入式的消費產(chǎn)品中,如移動電話、掌上電腦或其他無線設備等。三種平臺都包括了相應的JVM。,返回,2.安裝JavaSE平臺,學習Java必須從JavaSE開始,因此,本書基于JavaSE來學習Java。目前Sun公司已發(fā)布了JDK的1.6版本。如果安裝JDK選擇安裝到E:\Jdk1.6目錄下,則會生成如圖1.1的目錄結(jié)構(gòu)。1.從下載JavaSE的JDK1.6(jdk-6u24-windows-i586.exe),不用下載JVM;2.安裝時注意設置路徑為沒有系統(tǒng)還原的分區(qū),如E:\jdk1.6,中間會提示安裝JRE(JavaRuntimeEnvironment,Java運行環(huán)境),注意不可與JDK的安裝路徑相同。,返回,,圖1.1JDK目錄結(jié)構(gòu),1)系統(tǒng)環(huán)境Path值的設置,JDK平臺提供的Java編譯器(javac.exe)和Java解釋器(java.exe)位于Java安裝目錄的bin文件夾中,為了能在任何目錄中使用編譯器和解釋器,應在系統(tǒng)特性中設置Path。對于Windows2000、Windows2003、WindowsXP,用鼠標右鍵點擊“我的電腦”,彈出菜單,然后選擇屬性,彈出“系統(tǒng)特性”對話框,再單擊該對話框中的高級選項,然后點擊按鈕“環(huán)境變量”,添加如下的系統(tǒng)環(huán)境變量(如圖1.2所示):返回,,圖1.2設置環(huán)境變量path,2)系統(tǒng)環(huán)境ClassPath值的設置,編輯系統(tǒng)環(huán)境變量ClassPath的值。對于Windows2000、Windows2003、WindowsXP,用鼠標右鍵點擊“我的電腦”,彈出菜單,然后選擇屬性,彈出“系統(tǒng)特性”對話框,再單擊該對話框中的高級選項,然后點擊按鈕“環(huán)境變量”,添加如下的系統(tǒng)環(huán)境變量(如圖1.3所示):如果曾經(jīng)設置過環(huán)境變量:ClassPath,可點擊該變量進行編輯操作,將需要的值加入即可。對于Win9x,用記事本編輯Autoexec.bat文件,將如下的設置語句加入即可,setclasspth=E:\jdk1.6\jre\lib\rt.jar;.;也可以在命令行窗口,如MS-DOS窗口鍵入命令:setclasspth=E:\jdk1.6\jre\lib\rt.jar;.;,,圖1.3設置環(huán)境變量classpath,一般不需要,僅在安裝過其他商業(yè)化Java開發(fā)產(chǎn)品,可能會被修改。,,3)僅僅安裝JRE,如果你只想運行別人的Java程序可以只安裝Java運行環(huán)境JRE,JRE由Java虛擬機、Java的核心類以及一些支持文件組成。可以登錄Sun的網(wǎng)站免費下載Java的JRE。,返回,4)一些IDE(IntegratedDevelopmentEnvironment)開發(fā)工具,SunOneJBuilderEclipse——目前最為流行IDE開發(fā)環(huán)境適合于設計開發(fā)大型軟件,初學者應當使用JDK來開發(fā)Java程序;,1.6Java程序開發(fā),1.Java應用程序的開發(fā)開發(fā)一個Java應用程序需經(jīng)過三個步驟:編寫源文件、編譯源文件生成字節(jié)碼、加載運行字節(jié)碼。1)編寫源文件(1)源文件的組成使用一個文字編輯器,如Edit或記事本,來編寫源文件。不可使用Word編輯器,因它含有不可見字符。Java是面向?qū)ο缶幊?,Java應用程序的源文件是由若干個書寫形式互相獨立的類組成。見例子1,(2)應用程序的主類,一個Java應用程序必須有一個類含有publicstaticvoidmain(Stringargs[])方法,稱這個類是應用程序的主類。args[]是main方法的一個參數(shù),是一個字符串類型的數(shù)組(注意String的第一個字母是大寫的),以后會學習怎樣使用這個參數(shù)。,返回,(3)源文件的命名規(guī)則,源文件的命名規(guī)則是:a.如果源文件中有多個類,那么只能有一個類是public類;如果有一個類是public類,那么源文件的名字必須與這個類的名字完全相同,擴展名是java;b.如果源文件沒有public類,那么源文件的名字只要和某個類的名字相同,并且擴展名是java就可以了。類名和源文件的命名注意區(qū)分大小寫!,返回,(4)良好的編程習慣,在編寫程序時,一行最好只寫一條語句,類體的以方法的大括號最好也獨占一行,并有明顯的縮進。本書在編寫代碼時,盡量遵守良好的編程習慣。2)編譯Java源程序當創(chuàng)建了Hello.java這個源文件后,就要使用編譯器(javac.exe)對其進行編譯:需要打開MS-DOS命令行窗口,進入C盤,然后進入到1000目錄中,如圖1.4所示。,返回,,,如果Java源程序中包含了多個類,編譯后將生成多個擴展名為.class的文件,每個只存放一個類的字節(jié)碼,其文件名與類名相同。,3)運行Java程序,Java應用程序必須通過Java虛擬機中的Java解釋器(java.exe)來解釋執(zhí)行其字節(jié)碼文件。Java應用程序總是從主類的main(注意不可缺少static)方法開始執(zhí)行。因此,必須如下運行Java應用程序:C:\1000\>javaHello——執(zhí)行主類的類名運行效果如圖1.5所示。當Java應用程序中有多個類時,java命令執(zhí)行的類名必須是主類的名字(沒有擴展名)。例:,,當運行這個Java程序時,Java虛擬機僅僅將Hello.class和A.class加載到內(nèi)存中,而B.class沒有加載到內(nèi)存中,應為程序的運行并未用到類B,,(1)編譯源文件c:\1000\>javacTom.java如果編譯成功,你的目錄1000下就會有Tom.class和Example.class這兩個字節(jié)碼文件了。(2)執(zhí)行c:\1000\>javaExamplejava命令后的名字必須是主類的名字,運行效果如圖1.6。,返回,,2.JavaApplet程序的開發(fā),開發(fā)一個JavaApplet程序需經(jīng)過三個步驟:編寫源文件、編譯源文件生成字節(jié)碼、通過瀏覽器加載運行字節(jié)碼。(1)編寫源文件一個JavaApplet源文件也是由若干個類組成的,一個JavaApplet源文件不再需要main方法,但必須有且只有一個類擴展了Applet類,即它是Applet類的子類(Applet類是系統(tǒng)提供的類),我們把這個類稱作JavaApplet源文件的主類。下面的例子2是一個簡單的JavaApplet源文件。,2)編譯,c:\1000\>javacBoy.java編譯成功后,文件夾C:\1000下會生成一個Boy.class文件。如果源文件有多個類,將生成多個class文件,都和源文件在同一文件夾里。如果你對源文件進行了修改,那么你必須重新編譯,再生成新的字節(jié)碼文件。,返回,3)運行,JavaApplet由瀏覽器來運行,因此我們必須編寫一個超文本文件(含有applet標記的web頁)通知瀏覽器來運行這個JavaApplet。下面是一個最簡單的一個html文件,通知瀏覽器運行JavaApplet。我們使用記事本編輯如下:現(xiàn)在可以使用瀏覽器打開文件Boy.html運行JavaApplet,效果如圖1.7所示。,返回,,返回,1.7JDK1.6編譯器的新規(guī)定,JDK1.6的編譯器javac.exe和以前版本的編譯器有了一個很大的不同,不再向下兼容,也就是說,如果在編譯源文件時沒有特別約定的話,用JDK1.6的編譯器生成的字節(jié)碼只能在安裝了JDK1.6或JRE1.6的Java平臺環(huán)境中運行。可以使用“-source”參數(shù)設定字節(jié)碼適合的Java平臺。如“javac–source1.2文件名.java”,這樣編譯生成的字節(jié)碼可以在1.2版本以上的Java平臺運行,使字節(jié)碼有更好的可一致性。,返回,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關 鍵 詞:
- Java 大學 實用教程 第一章
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-11496756.html