




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.Java的誕生與發(fā)展SunMicrosystems于1995年推出1991年開始于“綠色計(jì)劃”項(xiàng)目,是一種全新的且獨(dú)立于處理器的計(jì)算機(jī)語言,起名為Oak;1995年5月23日正式發(fā)布,并更名為Java。 Java標(biāo)志物——一杯咖啡:1995年8月,Netscape公司的瀏覽器率先支持Java。隨后,Microsoft的IE瀏覽器也支持Java。這樣,隨著萬維網(wǎng)的日益普及,Java得到了廣泛的使用。1996年1月,第一個JDK——JDK1.0誕生;1998年12月JDK1.2發(fā)布,標(biāo)志著Java已經(jīng)進(jìn)入Java2時代。從此,JDK被分成了J2EE(企業(yè)版)、J2SE(標(biāo)準(zhǔn)版)和J2ME(微型版)三個版本。2004年9月J2SE1.5發(fā)布,為了表示這個版本的重要性,J2SE1.5更名為J2SE5.0;2005年6月,JavaOne大會召開,SUN公司公開JavaSE6。此時,Java的各種版本已經(jīng)更名以取消其中的數(shù)字“2”:J2EE更名為JavaEE,J2SE更名為JavaSE,J2ME更名為JavaME;2009年4月20日,Oracle公司以74億美金收購了SUN公司Java的設(shè)計(jì)目標(biāo)創(chuàng)建一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言提供程序運(yùn)行的解釋環(huán)境,使程序代碼獨(dú)立于平臺吸收C和C++的優(yōu)點(diǎn),使程序員容易掌握去掉C和C++中影響程序健壯性的部分,如指針、內(nèi)在申請和釋放,goto語句等。不包含頭文件,也沒有結(jié)構(gòu)體和聯(lián)合體,不支持多重繼承;取消自動類型轉(zhuǎn)換,要求強(qiáng)制轉(zhuǎn)換;提供多線程機(jī)制;提供代碼檢驗(yàn)機(jī)制Java平臺的三個版本JavaSE:是(JavaPlatform,StandardEdition標(biāo)準(zhǔn)版)的簡稱,即是以前的J2SE。標(biāo)準(zhǔn)版本允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時環(huán)境中使用的Java應(yīng)用程序。JavaEE:是(JavaPlatform,EnterpriseEdition企業(yè)版)的簡稱,即是以前的J2EE。企業(yè)版本幫助開發(fā)和部署可移植、健壯、可伸縮且安全的服務(wù)器端Java應(yīng)用程序。JavaME:是(JavaPlatform,MicroEdition微型版)的簡稱,即是以前的J2ME。微型版本為在移動設(shè)備和嵌入式設(shè)備(比如手機(jī)、PDA、電視機(jī)頂盒和打印機(jī))上運(yùn)行的應(yīng)用程序提供一個健壯且靈活的環(huán)境。Java之父——JamesGoslingJamesGosling博士以“Java之父”聞名于世,他是Java技術(shù)的創(chuàng)始人,作為Sun研究院院士,親手設(shè)計(jì)了Java語言,完成了Java技術(shù)的原始編譯器和虛擬機(jī)。在他的帶領(lǐng)下,Java現(xiàn)已成為互聯(lián)網(wǎng)的標(biāo)準(zhǔn)編程模式以及分布式企業(yè)級應(yīng)用的事實(shí)標(biāo)準(zhǔn),其跨平臺的技術(shù)優(yōu)勢為網(wǎng)絡(luò)計(jì)算帶來了劃時代的變革;2011年3月離開Oracle,加盟谷歌。2.Java的特點(diǎn)(1)Java三種核心機(jī)制Java虛擬機(jī)(JavaVirtualMachine)垃圾收集機(jī)制(GarbageCollection)代碼安全性檢測(CodeSecurty)編譯時.java(源代碼).class(字節(jié)碼)運(yùn)行時解釋器硬件網(wǎng)絡(luò)字節(jié)碼校驗(yàn)器類加載器JIT代碼生成器以Java應(yīng)用程序運(yùn)行為例加以說明計(jì)算機(jī)高級編程語言類型:編譯型、解釋型Java語言是兩種類型的結(jié)合Java源程序、字節(jié)碼文件,機(jī)器碼指令8Java虛擬機(jī)(JavaVirtualMachine)在一臺計(jì)算機(jī)上由軟件或硬件模擬的計(jì)算機(jī)。Java虛擬機(jī)(JVM)讀取并處理經(jīng)編譯過的平臺無關(guān)的字節(jié)碼class文件。Java編譯器針對java虛擬機(jī)產(chǎn)生class文件,因此是獨(dú)立于平臺的。Java解釋器負(fù)責(zé)將java虛擬機(jī)的代碼在特定的平臺上運(yùn)行。用戶USER字節(jié)碼程序JVM(Java虛擬機(jī))操作系統(tǒng)硬件DosJVMforDosWindowsJVMforWinXUnixJVMforUnix……Java自動垃圾收集技術(shù)不再使用的內(nèi)存空間應(yīng)回收——垃圾收集Java語言解除了程序員回收內(nèi)存空間的責(zé)任。它提供一種系統(tǒng)級線程跟蹤存儲空間分配情況,并在JVM的空閑時,檢查并釋放哪些可被釋放的存儲空間。垃圾收集在java程序運(yùn)行過程中自動進(jìn)行,程序員無法精確控制和干預(yù)。Java運(yùn)行環(huán)境(即JRE)JRE是JavaRuntimeEnvironment的簡稱,即Java運(yùn)行環(huán)境。組成:JRE=JVM+RuntimeInterpreter(運(yùn)行時解釋器)主要功能:加載代碼:由classloader完成;校驗(yàn)代碼:由bytecodeverifier完成;執(zhí)行代碼:由runtimeinterpreter完成。
如果你只需要運(yùn)行Java程序或Applet,下載并安裝JRE即可。假若你要自行開發(fā)Java軟件,請下載JDK。在JDK中附帶有JRE。JRE、JDK與JVM三者之間的關(guān)系JDK是JavaDevelopmentKits的簡稱,即Java開發(fā)工具集。開發(fā)人員利用JDK能夠編譯、調(diào)試和執(zhí)行Java程序。除JRE外,JDK還包括以下開發(fā)工具:編譯器:javac運(yùn)行時解釋器:java調(diào)試器:jdb文檔化工具:javadocApplet的解釋器:appletviewer其它工具及資源:如用于程序打包的jar等。即:JDK=JRE+TOOLsJDKJREJVM(2)Java與C++的比較既是一種程序設(shè)計(jì)語言,也是一個軟件平臺;是一種純面向?qū)ο蟪绦蛟O(shè)計(jì)語言;具有平臺無關(guān)性;取消了指針,自動進(jìn)行內(nèi)存管理;也不支持多重繼承;不包含頭文件,也沒有結(jié)構(gòu)體和聯(lián)合體;不再有全局變量、獨(dú)立函數(shù),也沒有g(shù)oto語句;取消自動類型轉(zhuǎn)換,要求強(qiáng)制轉(zhuǎn)換;網(wǎng)絡(luò)編程更加容易。(3)Java的特點(diǎn)有人給出式子:Java=“C++”-“復(fù)雜性和奇異性”+“安全性和可移植性”簡單:語法與C++相似,但更簡單、易學(xué);安全:不允許程序訪問所有電腦的內(nèi)存和磁盤面向?qū)ο螅和耆嫦驅(qū)ο笳Z言,以后將要學(xué)習(xí):類、對象、接口等內(nèi)容;健壯:編譯時自行檢查許多問題,系統(tǒng)運(yùn)行穩(wěn)定多線程:可以同時運(yùn)行多個程序可移植性與結(jié)構(gòu)中立:“一次編寫,到處運(yùn)行”解釋性:先編譯成字節(jié)碼,再運(yùn)行高性能:有一系列機(jī)制保證其高效運(yùn)行分布式:網(wǎng)絡(luò)操作與本地操作類似動態(tài):可以用安全方式動態(tài)鏈接代碼Java的跨平臺原理下面比較C語言程序與Java語言程序執(zhí)行的不同之處:3、Java編程環(huán)境的建立(1)JDK的下載與安裝從網(wǎng)站/technetwork/java/index.html免費(fèi)下載最新版本為7.0Windows版本文件:jdk-7-windows-i586.exe
在向?qū)е敢逻M(jìn)行安裝。16(2)JDK安裝目錄bin目錄:存放可執(zhí)行文件;lib目錄:存放Java的類庫文件;include目錄:存放用于本地方法的文件;demo目錄:存放演示程序;jre目錄:存放Java運(yùn)行環(huán)境文件;Sample目錄:存放java一些應(yīng)用實(shí)例;javaDB:一個純java的數(shù)據(jù)庫管理系統(tǒng)(3)環(huán)境變量的配置與測試
運(yùn)行環(huán)境的配置主要是指環(huán)境變量classpath、path的配置,下面簡要介紹它們的作用及在Windows平臺下的設(shè)置方法:Classpath——類資源位置搜索路徑 標(biāo)明定義過的Java類的字節(jié)碼文件可能的保存位置,在其它的類中使用該類時,運(yùn)行環(huán)境能夠找到并引入該類。
在Win7/XP/2000等下環(huán)境變量的設(shè)置方法有如下兩種:我的電腦/屬性/高級/環(huán)境變量或開始/設(shè)置/控制面板/系統(tǒng)/高級/環(huán)境變量
Classpath——類資源位置搜索路徑
假設(shè)JDK的安裝目錄為c:\jdk1.6.0,則新建系統(tǒng)變量classpath,在“變量值”中填入:
.;c:\jdk1.6.0\lib\dt.jar;c:\jdk1.6.0\lib\tools.jar;C:\jdk1.6.0\jre\lib\rt.jar;C:\jdk1.6.0\jre\lib\charsets.jar 特別提醒:.(點(diǎn))表示當(dāng)前目錄,不能省略。Path——外部命令搜索路徑 標(biāo)明某個可執(zhí)行文件的保存位置后,系統(tǒng)都可以通過path這一環(huán)境變量記錄的路徑找到它,進(jìn)而實(shí)現(xiàn)在任何路徑下都能運(yùn)行該文件。
假設(shè)JDK的安裝目錄為c:\jdk1.6.0,則新建或編輯系統(tǒng)變量path,在“變量值”中加入:
c:\jdk1.6.0\bin
測試環(huán)境變量先進(jìn)入命令行窗口: 開始/運(yùn)行…/輸入cmd,并按回車 輸入并執(zhí)行下列命令: Java–version Javac22(4)Java開發(fā)工具包是一組命令行工具主要有:javac、java、javadoc;javac:用于編譯Java源代碼的編譯器語法:javac[選項(xiàng)]源文件源文件以擴(kuò)展名.java結(jié)尾選項(xiàng)可以包括:-classpath、-djava:用于執(zhí)行Java字節(jié)碼的解釋器java[選項(xiàng)]類名稱[參數(shù)]選項(xiàng)可以包括:-classpath、-version文本編輯器:
Windows自帶的“記事本”、“寫字板” EditPlus
UltraEdit ……集成開發(fā)環(huán)境 Eclipse
JCreator JBuilder ……這些內(nèi)容現(xiàn)在只要有點(diǎn)印象就行,以后會具體學(xué)習(xí)。(5)開發(fā)Java程序的步驟創(chuàng)建Java源程序用java作為擴(kuò)展名(例如:Test.java),是一個文本文件,用Java語言寫成,可以用任何文本編輯器創(chuàng)建與編輯;編譯源程序調(diào)用javac命令,讀取你的Java源程序并翻譯成Java虛擬機(jī)能夠明白的指令集合,且以字節(jié)碼的形式保存在文件中。通常,字節(jié)碼文件以class作為擴(kuò)展名(例如:Test.class);運(yùn)行class(字節(jié)碼)文件調(diào)用java命令,Java解釋器讀取字節(jié)碼,取出指令并且翻譯成計(jì)算機(jī)能執(zhí)行的代碼,并執(zhí)行。第一個Java程序//文件名為Message.javapublicclassMessage{publicstaticvoidmain(String[]args){/*輸出此消息*/System.out.println(“Java語言,您好!");}}在記事本編輯Java程序publicclassMessage{/***這是一個main方法。*/
publicstaticvoidmain(String[]args){/*輸出此消息*/System.out.println("歡迎來到Java世界!");}}依次選擇程序
附件
記事本單擊開始演示編輯和保存Java程序……編譯和運(yùn)行演示編譯和運(yùn)行Java程序……單擊開始進(jìn)入程序所保存的目錄依次選擇程序->附件->命令提示符編譯javacMessage.java運(yùn)行javaMessage輸出結(jié)果分析程序代碼符號/**/指示中間的語句是該程序中的注釋。多行注釋以/*開始,以*/結(jié)束。單行注釋以//開始,以行末結(jié)束java文檔注釋使用/***/關(guān)鍵字class聲明類的定義,幫助編譯器理解它是一個類的聲明整個類及其所有成員都是在一對大括號中(即{和}之間)定義的。它們標(biāo)志著類定義塊的開始和結(jié)束程序從main()方法開始執(zhí)行關(guān)鍵字public是一個訪問說明符,控制類成員的可見度和作用域關(guān)鍵字static允許調(diào)用main()方法,而無需創(chuàng)建類的實(shí)例關(guān)鍵字void告訴編譯器main()方法在執(zhí)行時不返回任何值args[
]是String類型的數(shù)組println(
)方法通過System.out顯示作為參數(shù)傳遞給它的字符串30編譯、執(zhí)行時的命令錯誤編譯時,源文件少了擴(kuò)展名.java執(zhí)行時,字節(jié)碼文件多了擴(kuò)展名.class執(zhí)行時,找不到指定的字節(jié)碼文件(即.class文件)執(zhí)行時,字節(jié)碼文件名大小寫錯誤32publicclassIntAdd{ publicstaticvoidmain(Stringargs[]){ Strings1=args[0]; inta=Integer.parseInt(s1); //將字符串轉(zhuǎn)換為數(shù)值型,下同 Strings2=args[1]; intb=Integer.parseInt(s2); intc=a+b; System.out.println(a+"+"+b+"="+c); }}例2:計(jì)算兩個整數(shù)之名(文件名IntAdd.java)33importjavax.swing.JOptionPane;
//導(dǎo)入所需要的類publicclassSquare{ publicstaticvoidmain(Stringargs[]){
//建立輸入對話框窗口來輸入字符串
Strings=JOptionPane.showInputDialog("請輸入一個數(shù):"); doubled=Double.parseDouble(s);
//將字符串轉(zhuǎn)換為數(shù)值型
doubleresult=d*d;
//建立消息對話框窗口來輸出結(jié)果
JOptionPane.showMessageDialog(null,s+"的平方是:"+result); }}例3:計(jì)算一個數(shù)的平方(文件名Square.java)4、Java程序的兩種類型(1)Java應(yīng)用程序:包含main()方法,它是程序的入口,由java解釋器加載、執(zhí)行,前面的幾個例子都是這種類型(2)Java小應(yīng)用程序(applet):它具有如下特點(diǎn):用Java編寫的、嵌入在Web頁面中的小程序。它不是獨(dú)立的應(yīng)用程序,沒有main()方法,不能直接執(zhí)行;Applet運(yùn)行web瀏覽器中,可通過下列程序來執(zhí)行:JDK的appletviewer命令I(lǐng)E瀏覽器其它的瀏覽器,如JBuilder的applet瀏覽器;Applet主要用于繪圖、動畫、聲音、頁面交互等方面。第一個Applet程序(文件名FirstApplet.java)importjava.applet.Applet; //導(dǎo)入Applet類importjava.awt.Graphics; //導(dǎo)入Graphics類//FirstApplet類繼承了Applet類publicclassFirstAppletextendsApplet{
//重寫了paint()方法 publicvoidpaint(Graphicsg){
//在指定位置輸出字符串 g.drawString("這是一個簡單的applet程序!",30,30); }}程序代碼說明:Java中的import語句相當(dāng)于C/C++語言中的include文件包含命令;每一個applet都是java.applet.Applet的子類,用extends進(jìn)行繼承;applet中沒有main()方法。當(dāng)applet被瀏覽器運(yùn)行時,init()、start()方法等自動執(zhí)行,再調(diào)用paint()方法;在applet中與屏幕輸出有關(guān)的操作通過Graphics類的對象來實(shí)現(xiàn);一個Java源文件內(nèi)最多只能有一個public類,稱為主類,且源文件名必須和它同名。applet程序的開發(fā)步驟與application程序比較有相同之處,也有不同的地:編輯、保存:與application相同,用文本編輯器(如記事本、Editplus等)編輯,再保存(文件名與類名相同,擴(kuò)展名為java);編譯:與application相同,用javac命令將.java文件編譯為.class字節(jié)碼文件用dir命令查看,可以發(fā)現(xiàn)多了一個.class文件創(chuàng)建html文件:創(chuàng)建一個調(diào)用applet的html文件,該文件的名字任意,擴(kuò)展名為.htm或.html。內(nèi)容為如下:<HTML><HEAD><TITLE>第一個applet程序</TITLE></HEAD><BODY><appletcode="FirstApplet.class"width=300height=100></applet></BODY></HTML>這里,我們將該html文件命名為test.hmtl執(zhí)行:用JDK的appletviewer命令格式:appletviewerhtml文件名(帶擴(kuò)展名.htm或.html)例如:appletviewertest.html(30,30)y(0,0)x執(zhí)行:還有一種可以選擇的方法,就是用Windows的IE瀏覽器打開(雙擊.html文檔即可)。(30,30)y(0,0)x 在jdk安裝目錄下demo\jfc\目錄下有Java2D,該程序是Applet,運(yùn)行畫
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 少年歌曲音樂課件
- 插畫設(shè)計(jì)師課件
- 客運(yùn)市場調(diào)研合同
- 護(hù)理安全不良事件管理
- 建筑工程職責(zé)分工協(xié)議
- 學(xué)前教育實(shí)踐報(bào)告
- 處方點(diǎn)評知識培訓(xùn)
- 各類標(biāo)準(zhǔn)化會議接送合同
- VP氣體采購合同
- 小兒急性喉炎護(hù)理
- 鉛鋅礦安環(huán)部管理制度匯編
- 系統(tǒng)思維與系統(tǒng)決策:系統(tǒng)動力學(xué)(中央財(cái)經(jīng)大學(xué))知到智慧樹章節(jié)答案
- 保安保潔服務(wù)方案
- 小學(xué)三年級毛筆書法教案含三維目標(biāo)
- 土木工程畢業(yè)論文7篇
- 零星工程施工方案
- 2024年山東省青島市中考地理試題卷(含答案及解析)
- 隸書完整版本
- 員工招聘、入職、轉(zhuǎn)正、調(diào)動、離職管理制度
- 2022年湖北武漢中考滿分作文《護(hù)他人尊嚴(yán)燃生命之光》
- 有限空間作業(yè)氣體檢測記錄表
評論
0/150
提交評論