第1章 Java程序設(shè)計(jì)初步_第1頁(yè)
第1章 Java程序設(shè)計(jì)初步_第2頁(yè)
第1章 Java程序設(shè)計(jì)初步_第3頁(yè)
第1章 Java程序設(shè)計(jì)初步_第4頁(yè)
第1章 Java程序設(shè)計(jì)初步_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章Java開(kāi)發(fā)環(huán)境和程序設(shè)計(jì)初步Java語(yǔ)言發(fā)展歷史Java語(yǔ)言的特點(diǎn)Java的工作原理Java運(yùn)行環(huán)境JDK構(gòu)建Java程序課程內(nèi)容二三四五一開(kāi)發(fā)工具M(jìn)yEclipse9.0六

一、Java語(yǔ)言發(fā)展歷史Java語(yǔ)言產(chǎn)生于C++語(yǔ)言之后,是完全的面向?qū)ο蟮木幊陶Z(yǔ)言,充分吸取了C++語(yǔ)言的優(yōu)點(diǎn),采用程序員所熟悉的C和C++語(yǔ)言的許多語(yǔ)法,同時(shí)又去掉了C語(yǔ)言中指針、內(nèi)存申請(qǐng)和釋放等影響程序健壯性的部分,可以說(shuō)Java語(yǔ)言是站在C++語(yǔ)言這個(gè)“巨人的肩膀上”前進(jìn)的語(yǔ)言。

一、Java語(yǔ)言發(fā)展歷史1991年4月,美國(guó)SunMicrosystems公司的一組人員開(kāi)始了一個(gè)代號(hào)為“Green”的工程,Green工程的目標(biāo)就是開(kāi)發(fā)出一個(gè)適用于家用電器的控制系統(tǒng)。項(xiàng)目組成員很快意識(shí)到,在家用電器中使用的處理器沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),消費(fèi)電子產(chǎn)品種類(lèi)繁多,包括PDA、機(jī)頂盒、手機(jī)等等。

一、Java語(yǔ)言發(fā)展歷史即使是同一類(lèi)消費(fèi)電子產(chǎn)品所采用的處理芯片和操作系統(tǒng)也不相同,也存在著跨平臺(tái)的問(wèn)題。為了簡(jiǎn)化開(kāi)發(fā)工作,他們需要一個(gè)與平臺(tái)無(wú)關(guān)的開(kāi)發(fā)環(huán)境。于是java應(yīng)運(yùn)而生。

一、Java語(yǔ)言發(fā)展歷史我們知道,專(zhuān)門(mén)為某種計(jì)算機(jī)硬件和操作系統(tǒng)編寫(xiě)的程序是不能夠直接放到另外的計(jì)算機(jī)硬件上執(zhí)行的,至少要做移植工作。在Internet大潮之下,要想讓程序能夠在不同的計(jì)算機(jī)上能夠運(yùn)行,就要求程序設(shè)計(jì)語(yǔ)言是能夠跨越各種軟件和硬件平臺(tái)的,而Java滿(mǎn)足了這一需求。

一、Java語(yǔ)言發(fā)展歷史有人預(yù)言:Java將是網(wǎng)絡(luò)上的“世界語(yǔ)”,今后所有的用其他語(yǔ)言編寫(xiě)的軟件統(tǒng)統(tǒng)都要用Java語(yǔ)言來(lái)改寫(xiě)。這是因?yàn)閭鹘y(tǒng)的軟件往往都是與具體的實(shí)現(xiàn)環(huán)境有關(guān),換了一個(gè)環(huán)境就需要作一番改動(dòng),耗時(shí)費(fèi)力,而Java語(yǔ)言能在執(zhí)行碼(二進(jìn)制碼)上兼容,這樣以前所開(kāi)發(fā)的軟件就能運(yùn)行在不同的機(jī)器上,只要所用的機(jī)器能提供Java語(yǔ)言解釋器即可。

一、Java語(yǔ)言發(fā)展歷史即使是同一類(lèi)消費(fèi)電子產(chǎn)品所采用的處理芯片和操作系統(tǒng)也不相同,也存在著跨平臺(tái)的問(wèn)題。為了簡(jiǎn)化開(kāi)發(fā)工作,他們需要一個(gè)與平臺(tái)無(wú)關(guān)的開(kāi)發(fā)環(huán)境。于是java應(yīng)運(yùn)而生。

一、Java語(yǔ)言發(fā)展歷史Java語(yǔ)言將對(duì)未來(lái)軟件的開(kāi)發(fā)產(chǎn)生影響,可從如下幾個(gè)方面考慮:1.軟件的需求分析:可將用戶(hù)的需求進(jìn)行動(dòng)態(tài)的、可視化描述,以提供給設(shè)計(jì)者更加直觀的要求。而用戶(hù)的需求是各色各樣的,不受地區(qū)、行業(yè)、部門(mén)、愛(ài)好的影響,都可以用Java語(yǔ)言描述清楚。

一、Java語(yǔ)言發(fā)展歷史2.軟件的開(kāi)發(fā)方法:由于Java語(yǔ)言的面向?qū)ο?,所以完全可以用OOP的技術(shù)與方法來(lái)開(kāi)發(fā),這是符合最新的軟件開(kāi)發(fā)規(guī)范要求的。3.Java語(yǔ)言的動(dòng)畫(huà)效果遠(yuǎn)比GUI技術(shù)更加逼真,尤其是利用WWW提供的巨大動(dòng)畫(huà)資源空間,可以共享全世界的動(dòng)態(tài)畫(huà)面的資源。

一、Java語(yǔ)言發(fā)展歷史4.軟件最終產(chǎn)品:用Java語(yǔ)言開(kāi)發(fā)的軟件可以具有可視化、可聽(tīng)化、可操作化的效果,這要比電視、電影的效果更為理想,因?yàn)樗梢宰龅健凹磿r(shí)、交互、動(dòng)畫(huà)與動(dòng)作”,要它停就停,要它繼續(xù)就繼續(xù),而這是在電影與電視播放過(guò)程中難以做到的。5.其它:使用Java語(yǔ)言對(duì)開(kāi)發(fā)效益、開(kāi)發(fā)價(jià)值都有比較明顯的影響。

二、Java語(yǔ)言的特點(diǎn)1.簡(jiǎn)單并面向?qū)ο?Java的簡(jiǎn)單性首先體現(xiàn)在精簡(jiǎn)的系統(tǒng)上,力圖用最小的系統(tǒng)實(shí)現(xiàn)足夠多的功能;對(duì)硬件的要求不高,在小型的計(jì)算機(jī)上也可以良好的運(yùn)行。和所有的新一代的程序設(shè)計(jì)語(yǔ)言一樣,Java也采用了面向?qū)ο蠹夹g(shù),所有的application程序和applet程序均是對(duì)象,封裝性實(shí)現(xiàn)了模塊化和信息隱藏,繼承性實(shí)現(xiàn)了代碼的復(fù)用,用戶(hù)可以建立自己的類(lèi)庫(kù)。

二、Java語(yǔ)言的特點(diǎn)2.魯棒并安全 Java語(yǔ)言在編譯及運(yùn)行程序時(shí),都要進(jìn)行嚴(yán)格的檢查,防止不匹配問(wèn)題的發(fā)生。如果引用一個(gè)非法類(lèi)型、或執(zhí)行一個(gè)非法類(lèi)型操作,Java將在解釋時(shí)指出該錯(cuò)誤。

二、Java語(yǔ)言的特點(diǎn)3.結(jié)構(gòu)中立并可以移植

網(wǎng)絡(luò)上充滿(mǎn)了各種不同類(lèi)型的機(jī)器和操作系統(tǒng),為使Java程序能在網(wǎng)絡(luò)的任何地方運(yùn)行,Java編譯器編譯生成了與體系結(jié)構(gòu)無(wú)關(guān)的字節(jié)碼文件。任何種類(lèi)的計(jì)算機(jī),只要在其處理器和操作系統(tǒng)上有Java運(yùn)行時(shí)環(huán)境,字節(jié)碼文件就可以在該計(jì)算機(jī)上運(yùn)行。

二、Java語(yǔ)言的特點(diǎn)4.高性能

雖然Java是解釋執(zhí)行的,但它仍然具有非常高的性能,在一些特定的CPU上,Java字節(jié)碼可以快速的轉(zhuǎn)換成為機(jī)器碼進(jìn)行執(zhí)行。

二、Java語(yǔ)言的特點(diǎn)5.解釋執(zhí)行、多線程并且是動(dòng)態(tài)的

為易于實(shí)現(xiàn)跨平臺(tái)性,Java設(shè)計(jì)成為解釋執(zhí)行,字節(jié)碼本身包含了許多編譯時(shí)生成的信息,使連接過(guò)程更加簡(jiǎn)單。而多線程使應(yīng)用程序可以同時(shí)進(jìn)行不同的操作,處理不同的事件。

三、Java的工作原理Java虛擬機(jī)

軟件模擬的計(jì)算機(jī),可以在任何處理器上(無(wú)論是在計(jì)算機(jī)中還是在其它電子設(shè)備中)安全并且兼容的執(zhí)行保存在.class文件中的字節(jié)碼。Java虛擬機(jī)的“機(jī)器碼”保存在.class文件中,有時(shí)也可以稱(chēng)之為字節(jié)碼文件。Java程序的跨平臺(tái)主要是指字節(jié)碼文件可以在任何具有Java虛擬機(jī)的計(jì)算機(jī)或者電子設(shè)備上運(yùn)行

三、Java的工作原理Java虛擬機(jī)的建立需要針對(duì)不同的軟硬件平臺(tái)做專(zhuān)門(mén)的實(shí)現(xiàn),既要考慮處理器的型號(hào),也要考慮操作系統(tǒng)的種類(lèi)。如圖1-1所示,目前在SPARC結(jié)構(gòu)、X86結(jié)構(gòu)、MIPS和PPC等嵌入式處理芯片上、在UNIX、Linux、windows和部分實(shí)時(shí)操作系統(tǒng)上都有Java虛擬機(jī)的實(shí)現(xiàn)。

三、Java的工作原理

三、Java的工作原理內(nèi)存自動(dòng)回收機(jī)制

在Java運(yùn)行環(huán)境中,始終存在著一個(gè)系統(tǒng)級(jí)的線程,專(zhuān)門(mén)跟蹤內(nèi)存的使用情況,定期檢測(cè)出不再使用的內(nèi)存,并進(jìn)行自動(dòng)回收,避免了內(nèi)存的泄露,也減輕了程序員的工作量。

三、Java的工作原理代碼安全性檢查機(jī)制

字節(jié)碼的執(zhí)行需要經(jīng)過(guò)三個(gè)步驟,首先由類(lèi)裝載器(classloader)負(fù)責(zé)把類(lèi)文件(.class文件)加載到Java虛擬機(jī)中,在此過(guò)程需要檢驗(yàn)該類(lèi)文件是否符合類(lèi)文件規(guī)范;其次字節(jié)碼校驗(yàn)器(bytecodeverifier)檢查該類(lèi)文件的代碼中是否存在著某些非法操作

三、Java的工作原理如果字節(jié)碼校驗(yàn)器檢驗(yàn)通過(guò),由Java解釋器負(fù)責(zé)把該類(lèi)文件解釋成為機(jī)器碼進(jìn)行執(zhí)行。Java虛擬機(jī)采用的是“沙箱”運(yùn)行模式,即把Java程序的代碼和數(shù)據(jù)都限制在一定內(nèi)存空間里執(zhí)行,不允許程序訪問(wèn)該內(nèi)存空間外的內(nèi)存,如果是applet程序,還不允許訪問(wèn)客戶(hù)端機(jī)器的文件系統(tǒng)。

四、Java運(yùn)行環(huán)境JDKJava平臺(tái) Java不僅是編程語(yǔ)言,還是一個(gè)開(kāi)發(fā)平臺(tái),Java技術(shù)給程序員提供了許多工具:編譯器、解釋器、文檔生成器和文件打包工具等等。同時(shí)Java還是一個(gè)程序發(fā)布平臺(tái),有兩種主要的“發(fā)布環(huán)境”。

四、Java運(yùn)行環(huán)境JDK首先Java運(yùn)行時(shí)環(huán)境(JavaRuntimeEnvironment,簡(jiǎn)稱(chēng)JRE)包含了完整的類(lèi)文件包,其次許多主要的瀏覽器都提供了Java解釋器和運(yùn)行時(shí)環(huán)境。

四、Java運(yùn)行環(huán)境JDKSun公司把Java平臺(tái)劃分成J2EE、J2SE、J2ME三個(gè)平臺(tái),針對(duì)不同的市場(chǎng)目標(biāo)和設(shè)備進(jìn)行定位。J2EE是Java2EnterpriseEdition,主要目的是為企業(yè)計(jì)算提供一個(gè)應(yīng)用服務(wù)器的運(yùn)行和開(kāi)發(fā)平臺(tái)。

四、Java運(yùn)行環(huán)境JDKJ2SE是Java2StandardEdition,主要目的是為臺(tái)式機(jī)和工作站提供一個(gè)開(kāi)發(fā)和運(yùn)行的平臺(tái)。J2ME是Java2MicroEdition,主要是面向消費(fèi)電子產(chǎn)品,為消費(fèi)

電子產(chǎn)品提供一個(gè)Java的運(yùn)行平臺(tái),使得Java程序能夠在手機(jī)、機(jī)頂盒、PDA等產(chǎn)品上運(yùn)行。

應(yīng)為“消費(fèi)類(lèi)”

四、Java運(yùn)行環(huán)境JDKJava平臺(tái)關(guān)系

四、Java運(yùn)行環(huán)境JDKJava是解釋型高級(jí)編程語(yǔ)言,開(kāi)發(fā)Java程序流程通常是:編寫(xiě)源程序編譯源程序運(yùn)行程序

四、Java運(yùn)行環(huán)境JDK在編寫(xiě)程序前,需要一些基本的開(kāi)發(fā)工具的支持。Sun公司為所有的Java程序員提供了一套免費(fèi)的Java開(kāi)發(fā)和運(yùn)行環(huán)境,取名為Java2SDK,可以從上進(jìn)行下載。安裝的時(shí)候可以選擇安裝到任意的硬盤(pán)驅(qū)動(dòng)器上,完成安裝后就可以開(kāi)始編寫(xiě)程序了。

五、構(gòu)建Java程序Java程序分成兩大類(lèi):Java應(yīng)用程序(Application)

應(yīng)用程序又分為控制臺(tái)程序(ConsoleApplicationProgram)和窗口程序(WindowApplicationProgram)。

五、構(gòu)建Java程序 JavaConsoleApplication在命令窗口(即Dos窗口)中運(yùn)行,是字符用戶(hù)介面(CUI)程序,在本地機(jī)器上運(yùn)行,有main()方法,它是執(zhí)行Java程序的入口。JavaWindowsApplication是圖形用戶(hù)界面,在本地機(jī)器上運(yùn)行,如WindowsXP下的應(yīng)用程序,有main()方法,作為程序的入口。

五、構(gòu)建Java程序Java小應(yīng)用程序(Applet)

放在網(wǎng)絡(luò)的服務(wù)器上,嵌入到WWW頁(yè)面中,作為頁(yè)面組成部分被下載,運(yùn)行在瀏覽器中(IE、NetscapeNavigator)。使用圖形用戶(hù)介面GUI,不能存取本地文件,沒(méi)有main()方法。

五、構(gòu)建Java程序第一個(gè)應(yīng)用程序HelloWorld

HelloWorld是一經(jīng)典的程序,基本上是所有編程語(yǔ)言都首先接觸的一個(gè)程序,我們用這個(gè)程序作為本書(shū)編程的開(kāi)始。

五、構(gòu)建Java程序/**TheHelloWorldclassimplementsanapplicationthatsimplydisplays”HelloWorld!”tothestandardoutput.**///HelloWorld.JavaimportJava.io.*;publicclassHelloWorld{ publicstaticvoidmain(Stringargs[]){ System.out.println(“HelloWorld!”); }}

五、構(gòu)建Java程序Javaapplication程序的編輯 Java程序的編輯可以使用任何一種文本編輯器,例如UltraEdit、Notepad、Wordpad甚至word,然后只要把編輯好的文件存成純文本的.Java文件。當(dāng)然也可以用一些集成開(kāi)發(fā)環(huán)境,例如Borland公司的JBuilder,IBM公司的VisualageforJava,此外還有cafe、kawa等其它集成開(kāi)發(fā)環(huán)境。

五、構(gòu)建Java程序Javaapplication程序的編譯 Sun公司為全世界的Java程序員提供了一個(gè)免費(fèi)的Java程序開(kāi)發(fā)包(JavaDevelopKit,簡(jiǎn)稱(chēng)JDK),其中包括了Java編譯器命令"Javac.exe",以及Java執(zhí)行命令"Java.exe",還有幫助文檔生成器命令"Javadoc.exe"等等。

五、構(gòu)建Java程序在命令行中輸入:

Javac

HelloWorld.Java命令編譯,生成HelloWorld.class類(lèi)文件。

五、構(gòu)建Java程序JavaApplication的執(zhí)行

當(dāng)編譯結(jié)束以后,在"命令提示符"下輸入:JavaHelloWorld

進(jìn)行執(zhí)行,該"Java"命令會(huì)啟動(dòng)Java虛擬機(jī),并讀入HelloWorld.class文件進(jìn)行執(zhí)行。

五、構(gòu)建Java程序第一個(gè)Javaapplet程序HelloWorldApplet

將上面介紹的Application(Windows和DosConsole)程序改寫(xiě)為Applet(小應(yīng)用程序)。源程序代碼://HelloWorldApplet.JavaimportJava.applet.*;importJava.awt.*;publicclassHelloWorldAppletextendsApplet{ publicvoidpaint(Graphicsg){ g.drawString(“HelloWorld!”,10,50); }}

五、構(gòu)建Java程序(1)JavaApplet程序的編輯 Applet程序與Application程序編輯方法相同,源代碼輸入后保存成HelloWorldApplet.Java文件即可。(2)JavaApplet程序的編譯 Javaapplet程序也是一個(gè)類(lèi),Applet程序與Application程序編譯方法相同,用Javac將Java源文件編譯成.class類(lèi)文件。

五、構(gòu)建Java程序(3)JavaApplet程序的執(zhí)行 Applet程序的運(yùn)行方式與Application程序不同,applet沒(méi)有main()方法,它必須嵌入在超文本文件中,在瀏覽器中進(jìn)行運(yùn)行。

五、構(gòu)建Java程序嵌入Applet程序的.html文件如下:<HTML><TITLE>HelloWorldApplet</TITL

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論