JAVA語言程序設(shè)計(jì)課件 第1章Java基本語法_第1頁
JAVA語言程序設(shè)計(jì)課件 第1章Java基本語法_第2頁
JAVA語言程序設(shè)計(jì)課件 第1章Java基本語法_第3頁
JAVA語言程序設(shè)計(jì)課件 第1章Java基本語法_第4頁
JAVA語言程序設(shè)計(jì)課件 第1章Java基本語法_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Java基本語法第1章學(xué)習(xí)目標(biāo):了解Java語言產(chǎn)生的歷史和工作原理,以及Java語言的發(fā)展Java語法機(jī)制概述,掌握J(rèn)ava程序的結(jié)構(gòu)、編程規(guī)范掌握J(rèn)ava的運(yùn)行系統(tǒng)基本原理與Java虛擬機(jī)(JVM)的作用了解Java程序開發(fā)的工具,并掌握安裝Java開發(fā)環(huán)境的方法第1章Java基本語法本章主要介紹了Java語言的發(fā)展歷史、主要特點(diǎn)、Java平臺(tái)家族,以及Java程序開發(fā)基礎(chǔ)環(huán)境(即JDK和集成開發(fā)環(huán)境)。通過本章學(xué)習(xí),讀者將對(duì)Java語言的基本原理,語法結(jié)構(gòu)與編程方法有一定的了解,能夠簡(jiǎn)單地編輯、調(diào)試和運(yùn)行Java程序代碼。1.1Java的起源與發(fā)展一、Java的起源

二、Java的發(fā)展一、Java的起源

1991年,美國(guó)SunMicrosystems公司的某個(gè)研究小組為了能夠在消費(fèi)電子產(chǎn)品上開發(fā)應(yīng)用程序,積極尋找合適的編程語言。消費(fèi)電子產(chǎn)品種類繁多,包括PDA、機(jī)頂盒、手機(jī)等,即使是同一類消費(fèi)電子產(chǎn)品所采用的處理芯片和操作系統(tǒng)也不相同,存在著跨平臺(tái)的問題。當(dāng)時(shí)最流行的編程語言是C和C++語言,Sun公司的研究人員就考慮是否可以采用C++語言來編寫消費(fèi)電子產(chǎn)品的應(yīng)用程序,但是研究表明,對(duì)于消費(fèi)電子產(chǎn)品而言,C++語言過于復(fù)雜和龐大,并不適用,安全性也并不令人滿意。于是,BillJoy先生領(lǐng)導(dǎo)的研究小組就著手設(shè)計(jì)和開發(fā)出一種語言,稱之為Oak。該語言采用了許多C語言的語法,提高了安全性,并且是面向?qū)ο蟮恼Z言,但是Oak語言在商業(yè)上并未獲得成功。時(shí)間轉(zhuǎn)到了1995年,互聯(lián)網(wǎng)在世界上蓬勃發(fā)展,Sun公司發(fā)現(xiàn)Oak語言所具有的跨平臺(tái)、面向?qū)ο?、安全性高等特點(diǎn)非常符合互聯(lián)網(wǎng)的需要,于是改進(jìn)了該語言的設(shè)計(jì),要達(dá)到如下幾個(gè)目標(biāo):

(1)創(chuàng)建一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,而不是面向過程的語言;

(2)提供一個(gè)解釋執(zhí)行的程序運(yùn)行環(huán)境,是程序代碼獨(dú)立于平臺(tái);

(3)吸收C和C++的優(yōu)點(diǎn),使程序員容易掌握;

(4)去掉C和C++中影響程序健壯性的部分,使程序更安全,例如指針、內(nèi)存申請(qǐng)和釋放;

(5)實(shí)現(xiàn)多線程,使得程序能夠同時(shí)執(zhí)行多個(gè)任務(wù);

(6)提供動(dòng)態(tài)下載程序代碼的機(jī)制;

(7)提供代碼校驗(yàn)機(jī)制以保證安全性。最終,Sun公司給該語言取名為Java語言,造就了一代成功的編程語言。

二、Java的發(fā)展

1995年,美國(guó)SunMicrosystems公司正式向IT業(yè)界推出了Java語言,該語言具有安全、跨平臺(tái)、面向?qū)ο蟆⒑?jiǎn)單、適用于網(wǎng)絡(luò)等顯著特點(diǎn),當(dāng)時(shí)以Web為主要形式的互聯(lián)網(wǎng)正在迅猛發(fā)展,Java語言的出現(xiàn)迅速引起所有程序員和軟件公司的極大關(guān)注,程序員們紛紛嘗試用Java語言編寫網(wǎng)絡(luò)應(yīng)用程序,并利用網(wǎng)絡(luò)把程序發(fā)布到世界各地進(jìn)行運(yùn)行,包括IBM、Oracle、微軟、Netscape、Apple、SGI等大公司紛紛與SunMicrosystems公司簽訂合同,授權(quán)使用Java平臺(tái)技術(shù)。微軟公司總裁比爾·蓋茨先生在經(jīng)過研究后認(rèn)為:“Java語言是長(zhǎng)時(shí)間以來最卓越的程序設(shè)計(jì)語言”。目前,Java語言已經(jīng)成為最流行的網(wǎng)絡(luò)編程語言,許多大學(xué)紛紛開設(shè)Java課程,Java正逐步成為世界上程序員最多的編程語言。在經(jīng)歷了以大型機(jī)為代表的集中計(jì)算模式和以PC為代表的分散計(jì)算模式之后,互聯(lián)網(wǎng)的出現(xiàn)使得計(jì)算模式進(jìn)入了網(wǎng)絡(luò)計(jì)算時(shí)代。網(wǎng)絡(luò)計(jì)算模式的一個(gè)特點(diǎn)是計(jì)算機(jī)是異構(gòu)的,即計(jì)算機(jī)的類型和操作系統(tǒng)是不一樣的,例如SUN工作站的硬件是SPARC體系,軟件是UNIX中的Solaris操作系統(tǒng),而PC的硬件是INTEL體系,操作系統(tǒng)是Windows或者是Linux,因此相應(yīng)的編程語言基本上只是適用于單機(jī)系統(tǒng),例如COBOL、FORTRAN、C、C++等;網(wǎng)絡(luò)計(jì)算模式的另一個(gè)特點(diǎn)是代碼可以通過網(wǎng)絡(luò)在各種計(jì)算機(jī)上進(jìn)行遷移,這就迫切需要一種跨平臺(tái)的編程語言,使得用它編寫的程序能夠在網(wǎng)絡(luò)中的各種計(jì)算機(jī)上能夠正常運(yùn)行,Java就是在這種需求下應(yīng)運(yùn)而生的。正是因?yàn)镴ava語言符合了互聯(lián)網(wǎng)時(shí)代的發(fā)展要求,才使它獲得了巨大的成功。1.2什么是Java技術(shù)

Java技術(shù),簡(jiǎn)而言之就是一種獨(dú)立于操作系統(tǒng)平臺(tái)的編程語言與開發(fā)平臺(tái)。1.3Java的語法機(jī)制概述一、Java源程序的組成部分二、源文件的命名規(guī)則三、其他命名約定一、Java源程序的組成部分package語句;//該部分至多只有一句,必須放在源程序的第一句import語句;//該部分可以有若干import語句或者沒有,必須放在所有的類定義之前publicclassDefinition;//公共類定義部分,至多只有一個(gè)公共類的定義//Java語言規(guī)定該Java源程序的文件名必須與該公共類名完全一致classDefinition;//類定義部分,可以有0個(gè)或者多個(gè)類定義interfaceDefinition;//接口定義部分,可以有0個(gè)或者多個(gè)接口定義二、源文件的命名規(guī)則如果在源程序中包含有公共類的定義,則該源文件名必須與該公共類的名字完全一致,字母的大小寫都必須一樣。這是Java語言的一個(gè)嚴(yán)格的規(guī)定,如果不遵守,在編譯時(shí)就會(huì)出錯(cuò)。因此,在一個(gè)Java源程序中至多只能有一個(gè)公共類的定義。如果源程序中不包含公共類的定義,則該文件名可以任意取名。如果在一個(gè)源程序中有多個(gè)類定義,則在編譯時(shí)將為每個(gè)類生成一個(gè).class文件。三、其他命名約定包名:包名是全小寫的單詞,中間由“.”分隔開,例如:Java.awt.event;類名:首字母大寫,通常由多個(gè)單詞合成一個(gè)類名,要求每個(gè)單詞的首字母也要大寫,如:HelloWorldApp;接口名:命名規(guī)則與類名相同,如:Collection;方法名:往往由多個(gè)單詞合成,第一個(gè)單詞通常為動(dòng)詞,首字母小寫,中間的每個(gè)單詞的首字母都要大寫,如:balanceAccount、isButtonPressed;變量名:全小寫,一般為名詞,如:length;常量名:基本數(shù)據(jù)類型的常量名為全大寫,如果是由多個(gè)單詞構(gòu)成,可以用下劃線隔開,例如:YEAR,WEEK_OF_MONTH;如果是對(duì)象類型的常量,則是大小寫混合,由大寫字母把單詞隔開。

Java的運(yùn)行系統(tǒng)是一個(gè)完整、有機(jī)的程序設(shè)計(jì)系統(tǒng),其功能主要由JVM、JDK以及開發(fā)平臺(tái)組成。1.4Java運(yùn)行系統(tǒng)與JVM一、Java虛擬機(jī)——JVM二、JVM的組成三、垃圾自動(dòng)回收機(jī)制四、代碼安全性檢查機(jī)制一、Java虛擬機(jī)——JVM

JVM(JavaVirtualMachine),Java虛擬機(jī),是軟件模擬的計(jì)算機(jī),可以在任何處理器上(無論是在計(jì)算機(jī)中還是在其他電子設(shè)備中)安全并且兼容的執(zhí)行保存在.class文件中的字節(jié)碼。Java虛擬機(jī)的“機(jī)器碼”保存在.class文件中,也可以稱之為字節(jié)碼文件。Java程序的跨平臺(tái)主要是指字節(jié)碼文件可以在任何具有Java虛擬機(jī)的計(jì)算機(jī)或者電子設(shè)備上運(yùn)行,Java虛擬機(jī)中的Java解釋器負(fù)責(zé)將字節(jié)碼文件解釋成為特定的機(jī)器碼進(jìn)行運(yùn)行。Java源程序需要通過編譯器編譯成為.class文件,Java程序的編譯和執(zhí)行過程如圖1-1所示圖1-1Java程序的編譯和執(zhí)行過程二、JVM的組成

JVM為下列各項(xiàng)做出了定義:指令集(相當(dāng)于中央處理器CPU)注冊(cè)集類文件格式棧垃圾收集堆存儲(chǔ)區(qū)三、垃圾自動(dòng)回收機(jī)制

在程序的執(zhí)行過程中,部分內(nèi)存在使用過后就處于廢棄狀態(tài),如果不及時(shí)進(jìn)行無用內(nèi)存的回收,就會(huì)造成內(nèi)存泄漏,進(jìn)而導(dǎo)致系統(tǒng)崩潰。在C++語言中是由程序員進(jìn)行內(nèi)存回收的,程序員需要在編寫程序的時(shí)候把不再使用的對(duì)象內(nèi)存釋放掉;但是這種人為的管理內(nèi)存釋放的方法卻往往由于程序員的疏忽而致使內(nèi)存無法回收,同時(shí)也增加了程序員的工作量。而在Java運(yùn)行環(huán)境中,始終存在著一個(gè)系統(tǒng)級(jí)的線程,專門跟蹤內(nèi)存的使用情況,定期檢測(cè)出不再使用的內(nèi)存,并進(jìn)行自動(dòng)回收,避免了內(nèi)存的泄露,也減輕了程序員的工作量。四、代碼安全性檢查機(jī)制字節(jié)碼的執(zhí)行需要經(jīng)過三個(gè)步驟,首先由類裝載器(classloader)負(fù)責(zé)把類文件(.class文件)加載到Java虛擬機(jī)中,在此過程需要檢驗(yàn)該類文件是否符合類文件規(guī)范;其次字節(jié)碼校驗(yàn)器(bytecodeverifier)檢查該類文件的代碼中是否存在著某些非法操作,例如Applet程序中寫本機(jī)文件系統(tǒng)的操作;如果字節(jié)碼校驗(yàn)器檢驗(yàn)通過,由Java解釋器負(fù)責(zé)把該類文件解釋成為機(jī)器碼進(jìn)行執(zhí)行。Java虛擬機(jī)采用的是“沙箱”運(yùn)行模式,即把Java程序的代碼和數(shù)據(jù)都限制在一定內(nèi)存空間里執(zhí)行,不允許程序訪問該內(nèi)存空間外的內(nèi)存,如果是Applet程序,還不允許訪問客戶端機(jī)器的文件系統(tǒng)。1.5.1JDK的安裝和配置1.5Java程序開發(fā)一、下載并安裝JDK二、認(rèn)識(shí)JDK三、配置JDK環(huán)境變量一、下載并安裝JDK

Java開發(fā)工具包(JavaDevelopmentKits,簡(jiǎn)稱JDK)是Java應(yīng)用程序開發(fā)的基礎(chǔ)工具包,開發(fā)Java應(yīng)用程序首先必須下載JDK(JDK可以從Sun公司的官方網(wǎng)站上去下載)。下載完成后,雙擊圖標(biāo)進(jìn)行安裝,安裝過程中可以自定義安裝目錄等信息。例如我們可以選擇安裝目錄為D:\jdk1.5。二、認(rèn)識(shí)JDK在安裝完成后,可以發(fā)現(xiàn)在安裝目錄下具有如下文件夾,bin、include、jre、lib、sample、demo、src.zip等,其作用如表1-1所示:Binbin目錄提供了工具程序,包括Javac、Java、Javado等Jrejre目錄下的文件是JDK附帶的JRE資源包Liblib目錄下提供了Java工具所需要的資源文件DemoDemo目錄下提供了Java編寫的范例程序Src.zipSrc.zip目錄下提供了API類的源代碼壓縮文件表1-1JDK包的目錄及其作用三、配置JDK環(huán)境變量(1)右擊“我的電腦”,選擇“屬性”命令,如圖1-2所示:圖1-2配置JDK系統(tǒng)路徑1(2)切換到“高級(jí)”選項(xiàng)卡,單擊“環(huán)境變量”按鈕,如圖1-3所示:圖1-3配置JDK系統(tǒng)路徑2

(3)在“系統(tǒng)變量”中,設(shè)置3項(xiàng)屬性,Java_HOME、PATH、CLASSPATH(不區(qū)分大小寫),若已存在則點(diǎn)擊“編輯”按鈕,不存在則點(diǎn)擊“新建”按鈕,如圖1-4所示:圖1-4配置JDK系統(tǒng)路徑3

(4)Java_HOME指明JDK安裝路徑,就是剛才安裝時(shí)所選擇的路徑D:\jdk1.4,此路徑下包括lib,bin,jre等文件夾(此變量最好設(shè)置,因?yàn)橐院筮\(yùn)行tomcat,eclipse等都需要依靠此變量);Path使得系統(tǒng)可以在任何路徑下識(shí)別Java命令,設(shè)為:

%Java_HOME%\bin;%Java_HOME%\jre\binCLASSPATH為Java加載類(class或lib)路徑,只有類在classpath中,Java命令才能識(shí)別,設(shè)為:

.;%Java_HOME%\lib;%Java_HOME%\lib\tools.jar(要加“.”表示當(dāng)前路徑)%Java_HOME%就是引用前面指定的Java_HOME。圖1-5配置JDK系統(tǒng)路徑41.5.2Eclipse簡(jiǎn)介一、Eclipse簡(jiǎn)介二、下載并安裝Eclipse一、Eclipse簡(jiǎn)介在實(shí)際應(yīng)用中,任何開發(fā)者都會(huì)選擇一個(gè)好的IDE(集成開發(fā)環(huán)境)。常用的Java的IDE主要有:JCreater,JBuilder,Eclipse等。其中Eclipse是一款非常優(yōu)秀的開源的IDE,基于Java的可擴(kuò)展平臺(tái)?,F(xiàn)在Eclipse憑借其靈活的擴(kuò)展能力,優(yōu)良的性能與插件技術(shù),受到了越來越多的開發(fā)者的喜愛。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言。例如,支持諸如C/C++、COBOL和Eiffel等編程語言的插件已經(jīng)可用,或預(yù)計(jì)會(huì)推出。Eclipse框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)?;贓clipse的應(yīng)用程序的突出例子是IBM的WebSphereStudioWorkbench,它構(gòu)成了IBMJava開發(fā)工具系列的基礎(chǔ)。例如,WebSphereStudioApplicationDeveloper添加了對(duì)JSP、Servlet、EJB、XML、Web服務(wù)和數(shù)據(jù)庫(kù)訪問的支持。二、下載并安裝Eclipse目前最新的版本是Eclipse3.2.2,下載地址為:

/downloads

點(diǎn)擊EclipseSDK3.22進(jìn)入下載頁面,下載面向Windows系列操作系統(tǒng)的最新版本Eclipse-SDK資源包。該資源包包括了適合于Windows平臺(tái)的Eclipse開發(fā)環(huán)境、Java開發(fā)環(huán)境、Plug-in開發(fā)環(huán)境、所有源代碼和文檔。如需下載面向其他平臺(tái)Eclipse-SDK或插件可點(diǎn)擊otherdownloadfor3.2.2,其他版本的資源包可點(diǎn)擊Allversions進(jìn)入下載頁面下載。下載完成后將其解壓。

Eclipse是一個(gè)綠色軟件,無需安裝即可執(zhí)行。如需中文版的集成開發(fā)環(huán)境,可在Eclipse官方網(wǎng)站下載中文語言包NLpack1-eclipse-SDK-3.2.2-win32.zip。解壓后,分別將其features、plugins目錄下的文件復(fù)制到Eclipse安裝目錄下的features、plugins目錄中,重新啟動(dòng)Eclipse即可。1.6任務(wù)1.1第一個(gè)Java程序一、任務(wù)引入Java程序分為JavaApplication(Java應(yīng)用程序)和JavaApplet(Java小應(yīng)用程序)兩種。怎樣在開發(fā)平臺(tái)上開發(fā)、編譯以及運(yùn)行Java程序呢?下面讓我們開始編寫第一個(gè)Java應(yīng)用程序。二、任務(wù)目標(biāo)掌握編寫、編譯、運(yùn)行Java程序的基本方法。三、任務(wù)內(nèi)容

編寫一個(gè)Java應(yīng)用程序,它能夠利用來自Java標(biāo)準(zhǔn)庫(kù)的System對(duì)象的多種方法,打印出與當(dāng)前運(yùn)行的系統(tǒng)有關(guān)的資料。其中“//”代表一種注釋方式,表示從這個(gè)符號(hào)開始到這行結(jié)束的所有內(nèi)容都是注釋。在每個(gè)程序文件的開頭,如果這個(gè)文件的代碼中用到了系統(tǒng)所提供的額外的類,就必須放置一個(gè)import語句。說它是額外的是因?yàn)橐粋€(gè)特殊的類庫(kù)“Java.lang.*”會(huì)自動(dòng)導(dǎo)入到每個(gè)Java文件。/*源程序文件名:Ex0101.Java*/importJava.util.Date;importJava.util.Properties;publicclassEx0101

{//創(chuàng)建公共類,名為Ex0101

publicstaticvoidmain(String

args[]){

System.out.println(newDate()); Propertiesp=System.getProperties(); p.list(System.out); System.out.println("---MemoryUsage:"); Runtimert=Runtime.getRuntime(); System.out.println("TotalMemory="+rt.totalMemory() //打印總內(nèi)存大小

+"FreeMemory="+rt.freeMemory()); //打印空閑內(nèi)存大小

}}四、程序清單五、運(yùn)行結(jié)果圖1-6Ex0101.Java的運(yùn)行結(jié)果該任務(wù)的主要目的是使大家對(duì)Java的編程結(jié)構(gòu)有一個(gè)總體認(rèn)識(shí),在Java中所有的東西都是對(duì)象,程序就是由一大堆對(duì)象組合而成的,同時(shí)每個(gè)對(duì)象又屬于某個(gè)類,所有的代碼都是在某一個(gè)類中完成的。六、任務(wù)小結(jié)通過本章的學(xué)習(xí),大家已經(jīng)可以閱讀一些簡(jiǎn)單的Java程序了。

Java語言的產(chǎn)生源于SunMicrosystems公司為消費(fèi)電子產(chǎn)品上應(yīng)用程序的開發(fā)尋找一門編程語言的過程中,而隨著互聯(lián)網(wǎng)時(shí)代的到來,原有的Oak軟件就順理成章的改造成Java語言推向了市場(chǎng),其跨平臺(tái)、面向?qū)ο?、安全等特點(diǎn)使其得到廣泛的應(yīng)用。通過在不同的軟硬件上實(shí)現(xiàn)的Java虛擬機(jī),Java

溫馨提示

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

評(píng)論

0/150

提交評(píng)論