第1章 Java語言及編程環(huán)境_第1頁
第1章 Java語言及編程環(huán)境_第2頁
第1章 Java語言及編程環(huán)境_第3頁
第1章 Java語言及編程環(huán)境_第4頁
第1章 Java語言及編程環(huán)境_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章

Java語言及編程環(huán)境1.1Java語言簡介1.2Java編程環(huán)境1.1Java語言簡介從JDK1.2(1998.12.8)開始,Java的應(yīng)用平臺逐步分化、演進(jìn)成三個版本:JavaSE—JavaStandardEdition(標(biāo)準(zhǔn)版),主要用于普通PC機(jī)、工作站的Java控制臺或桌面程序的基礎(chǔ)開發(fā)。JavaME—JavaMicroEdition(微型版),用于移動設(shè)備、嵌入式設(shè)備上的Java應(yīng)用程序開發(fā)。JavaEE—JavaEnterpriseEdition(企業(yè)版),用于開發(fā)、部署和管理企業(yè)級、可擴(kuò)展的大型軟件或Web應(yīng)用。1.1.1Java語言特點(diǎn)概括起來說,Java語言具有如下特點(diǎn)。(1)簡單性。Java語言雖衍生自C/C++,但它略去了C/C++中指針、運(yùn)算符重載、多重繼承等復(fù)雜的概念,并通過自動垃圾收集機(jī)制大大簡化了程序員的內(nèi)存管理工作。(2)面向?qū)ο?。Java是一個完全面向?qū)ο蟮恼Z言,其程序設(shè)計(jì)集中于對象及其接口,它提供了簡單的類機(jī)制及動態(tài)的接口模型。(3)分布式。Java是面向網(wǎng)絡(luò)的語言,通過它提供的類庫可以處理TCP/IP協(xié)議,用戶可以通過URL地址在網(wǎng)絡(luò)上很方便地訪問其他對象。(4)安全性。因Java不支持指針,一切對內(nèi)存的訪問都必須通過對象的實(shí)例來完成,這就有效防止了黑客使用“特洛伊”木馬等欺騙手段訪問對象的私有成員,同時也避免了由于指針操作失誤導(dǎo)致的程序或系統(tǒng)崩潰。1.1.1Java語言特點(diǎn)(5)可移植性。與平臺無關(guān)的特性使Java程序可以很方便地被移植到不同軟硬件平臺的計(jì)算機(jī)上。(6)高性能。和其他解釋執(zhí)行的語言不同,Java字節(jié)碼的設(shè)計(jì)使之能很容易地直接轉(zhuǎn)換成對應(yīng)于特定CPU的機(jī)器碼,從而得到較高的性能。(7)支持多線程。多線程機(jī)制使應(yīng)用程序能夠并發(fā)地執(zhí)行,同步機(jī)制又保證了對共享數(shù)據(jù)的正確操作。1.1.2Java運(yùn)行機(jī)制1.Java虛擬機(jī)Java虛擬機(jī)(JVM)可理解成一個以字節(jié)碼為機(jī)器指令的CPU。首先,Java編譯程序?qū)⒑缶Y名為.java的Java源程序編譯為JVM可執(zhí)行的代碼(后綴名為.class的Java字節(jié)碼文件),如圖1.1所示,運(yùn)行JVM字節(jié)碼的工作則由解釋器來完成。1.1.2Java運(yùn)行機(jī)制2.垃圾收集器Java垃圾收集器能夠自動回收垃圾,即運(yùn)行時無用對象占據(jù)的內(nèi)存空間。而在C/C++中,垃圾收集工作全都要由程序員負(fù)責(zé),這無疑增加了程序員的負(fù)擔(dān)。Java語言通過提供一種系統(tǒng)級線程來自動跟蹤程序運(yùn)行時存儲空間的分配情況,并在JVM空閑時檢查并釋放那些可被釋放的存儲空間。在Java中,對象一旦被創(chuàng)建就會在堆區(qū)中分配一塊內(nèi)存,而當(dāng)對象不再被程序引用時,它就變成一個“垃圾”,所占用的堆空間可被回收以便騰出來給后續(xù)的新對象使用。1.1.3Java8新特性(1)lambda表達(dá)式。這種新的語法為Java添加了函數(shù)式編程特性,可以簡化并減少程序中創(chuàng)建特定結(jié)構(gòu)(如某些類型的匿名類)所需的代碼量,使得Java語言更為靈活和富有生命力。(2)新的流API。流API支持對數(shù)據(jù)執(zhí)行管道操作,并針對lambda表達(dá)式做了優(yōu)化。(3)簡化的接口實(shí)現(xiàn)。Java8中可以為接口指定的方法定義默認(rèn)實(shí)現(xiàn),如果程序員沒有為默認(rèn)方法創(chuàng)建實(shí)現(xiàn),就使用接口定義的默認(rèn)實(shí)現(xiàn),在向接口添加新方法時也不會破壞現(xiàn)有方法。(4)新的時間日期API。新增日期時間格式器增強(qiáng)了對時間日期類型數(shù)據(jù)的處理功能。(5)支持JavaFX。JavaFX是Java新一代的GUI框架,它強(qiáng)大靈活,可制作出視覺效果十分出色的應(yīng)用程序。1.2Java編程環(huán)境1.2.1JDK81.下載JDK8可以到甲骨文公司的官網(wǎng)下載JDK8:/technetwork/java/javase/downloads/index.html,單擊“DOWNLOAD”按鈕,如圖1.2所示,在出現(xiàn)的下載頁上點(diǎn)擊“jdk-8u45-windows-i586.exe”鏈接,下載對應(yīng)Windowsx86體系計(jì)算機(jī)的JDK。1.2.1JDK82.安裝JDK8下載完成后,得到可執(zhí)行文件jdk-8u45-windows-i586.exe,雙擊啟動安裝向?qū)В凑仗崾就瓿砂惭b,這里JDK的安裝路徑取默認(rèn)“C:\ProgramFiles\Java\jdk1.8.0_45\”,如圖1.3所示。1.2.1JDK83.配置環(huán)境變量(1)打開“環(huán)境變量”對話框右擊桌面“計(jì)算機(jī)”圖標(biāo),選擇“屬性”命令,在彈出的控制面板主頁中點(diǎn)擊“高級系統(tǒng)設(shè)置”鏈接,在彈出的“系統(tǒng)屬性”對話框里單擊“環(huán)境變量”按鈕,彈出“環(huán)境變量”對話框,操作如圖1.4所示。1.2.1JDK8(2)新建系統(tǒng)變量JAVA_HOME在“系統(tǒng)變量”列表下單擊“新建”按鈕,彈出“新建系統(tǒng)變量”對話框。在“變量名”一欄輸入“JAVA_HOME”,“變量值”欄輸入JDK安裝路徑,單擊確定”按鈕。如圖P1.5(a)(3)設(shè)置系統(tǒng)變量Path在“系統(tǒng)變量”列表中找到名為“Path”的變量,單擊“編輯”按鈕,在“變量值”字符串中加入路徑“%JAVA_HOME%\bin;”,單擊“確定”按鈕如圖P1.5(b)1.2.1JDK8選擇任務(wù)欄“開始”→“運(yùn)行”命令,輸入“cmd”回車,在命令行輸入“java-version”回車,如果環(huán)境變量設(shè)置成功就會出現(xiàn)Java的版本信息,如圖1.6所示。1.2.1JDK84.JDK8的構(gòu)成進(jìn)入JDK8的安裝路徑,將看到如表1.1所示JDK8的目錄結(jié)構(gòu)。目

錄描

述bin子目錄存放JDK8的工具程序db子目錄存放ApacheDerby數(shù)據(jù)庫等開放資源,支持JDBC4.0規(guī)范include子目錄存放與C程序相關(guān)的頭文件jre子目錄存放Java運(yùn)行時環(huán)境(JRE)相關(guān)的文件lib子目錄存放Java類庫(JAR文件)1.2.1JDK8JDK8包含的內(nèi)容非常豐富,圖1.7是其官方文檔所提供的概念體系結(jié)構(gòu)圖,從中可一窺JDK8的構(gòu)成細(xì)節(jié)。1.2.1JDK8(1)JVM:即Java虛擬機(jī),它位于圖1.7整個體系的底層,負(fù)責(zé)解釋、執(zhí)行Java程序,可以運(yùn)行在各種操作系統(tǒng)平臺上。(2)JDK8類庫:JVM之上是Java最基礎(chǔ)的類庫,提供了各種實(shí)用類,包括最常用的java.lang、java.util、java.io、java.sql和javax.swing等。(3)開發(fā)工具:在圖1.7體系的上層是種類繁多的開發(fā)工具,這些工具隨Java官方發(fā)布的JDK一起打包提供,都是可執(zhí)行的程序,并公開了APIs(使用命令接口),常用的工具有javac.exe(編譯工具)、java.exe(運(yùn)行工具)、javadoc.exe(用于生成Javadoc文檔)和jar.exe(打包工具)等。1.2.2Eclipse集成開發(fā)環(huán)境1.安裝Eclipse4.4可從Eclipse官網(wǎng)下載:/downloads/,當(dāng)前最新的發(fā)布版本是Eclipse4.4.2,下載后直接解壓即可使用。解壓后,在磁盤上生成一個eclipse文件夾,進(jìn)入雙擊eclipse.exe,出現(xiàn)如圖1.8所示界面。1.2.2Eclipse集成開發(fā)環(huán)境2.第一個Java程序(1)創(chuàng)建Java項(xiàng)目啟動Eclipse,在其工作臺窗口中依次選擇主菜單“File”→“New”→“JavaProject”項(xiàng),打開“NewJavaProject”向?qū)?,如圖1.9,在“Projectname”欄輸入項(xiàng)目名“MyProject_01”,其他選項(xiàng)默認(rèn),單擊“Finish”按鈕,項(xiàng)目創(chuàng)建成功,項(xiàng)目“MyProject_01”將出現(xiàn)在左邊的“PackageExplorer”中。1.2.2Eclipse集成開發(fā)環(huán)境(2)創(chuàng)建Java包在“包資源管理器”中右擊新創(chuàng)建的項(xiàng)目“MyProject_01”,選擇菜單“New”→“Package”項(xiàng),彈出“NewJavaPackage”對話框(圖1.10),在“Name”欄輸入包名“org.circle”,單擊“Finish”按鈕完成包的創(chuàng)建。1.2.2Eclipse集成開發(fā)環(huán)境(3)創(chuàng)建Java類右擊“MyProject_01”項(xiàng)目樹src目錄下新建的包“org.circle”,選擇菜單“New”→“Class”項(xiàng),彈出“NewJavaClass”對話框,如圖1.11所示,在“Name”欄輸入類名“Area”,單擊“Finish”按鈕完成類的創(chuàng)建。1.2.2Eclipse集成開發(fā)環(huán)境系統(tǒng)自動在中央工作區(qū)打開Area類的代碼編輯窗口,這時就可以編寫Java程序了。輸入“Area.java”源程序,如圖1.12所示,完成后單擊工具欄“Save”(

)按鈕保存。1.2.2Eclipse集成開發(fā)環(huán)境3.程序分析【例1.1】求圓面積。源程序文件名為Area.java,代碼如下。Area.javapackageorg.circle;/** //(1)*Title:求圓的面積*Description:已知圓的半徑r,求圓的面積*Copyright:Copyright(c)2015*Company:南京師范大學(xué)*@author鄭阿奇*@version3.0*/publicclassArea{ //(2) publicstaticvoidmain(String[]args){ //(3) finaldoublePI=3.1416; //(4) doubler,area; //定義變量 r=3; //圓的半徑 area=PI*r*r; //求圓面積 System.out.println("圓的面積="+area); //在屏幕上輸出結(jié)果 }}1.2.2Eclipse集成開發(fā)環(huán)境4.程序調(diào)試(1)設(shè)置斷點(diǎn)在源代碼語句左側(cè)的隔條上雙擊鼠標(biāo)左鍵,可以在當(dāng)前行設(shè)置斷點(diǎn),這里將斷點(diǎn)設(shè)在第14行,如圖1.13所示。第14行語句是給圓的半徑賦值:r=3; //圓的半徑1.2.2Eclipse集成開發(fā)環(huán)境(2)進(jìn)入調(diào)試透視圖右擊“Area.java”,選擇菜單“DebugAs”→“JavaApplication”項(xiàng),運(yùn)行Java程序,彈出對話框單擊“Yes”,系統(tǒng)會自動切換到調(diào)試透視圖界面,如圖1.14所示。1.2.2Eclipse集成開發(fā)環(huán)境(3)變量查看右上方Variables視圖顯示了此刻程序中各個變量和常量的取值,從圖1.14可見,此時常量PI已經(jīng)有了值,是因?yàn)?/p>

溫馨提示

  • 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

提交評論