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