版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
程式語言世代課件1程式語言與Java的基礎(chǔ)1-1程式語言的基礎(chǔ)1-2Java的基礎(chǔ)1-3Java語言的開發(fā)環(huán)境1-4建立Java語言的開發(fā)環(huán)境1程式語言與Java的基礎(chǔ)1-1程式語言的基礎(chǔ)121-1程式語言的基礎(chǔ)1-1-1程式、軟體與應(yīng)用程式1-1-2程式語言的種類1-1-3低階語言1-1-4高階語言1-1-5程式是如何執(zhí)行1-1程式語言的基礎(chǔ)1-1-1程式、軟體與應(yīng)用程式31-1程式語言的基礎(chǔ)「程式語言」(ProgrammingLanguages)如同人與人之間溝通的語言,它是人類告訴電腦如何工作的一種語言,即人類與電腦之間進(jìn)行溝通的語言。以技術(shù)角度來說,程式語言是一種將執(zhí)行指令傳達(dá)給電腦的標(biāo)準(zhǔn)通訊技術(shù)。1-1程式語言的基礎(chǔ)「程式語言」(Programming41-1-1程式、軟體與應(yīng)用程式-程式「程式」(Programs)是使用指定程式語言所撰寫沒有混淆文字、數(shù)字和鍵盤符號組成的特殊符號,這些符號組合成指令和敘述,再進(jìn)一步編寫成程式碼,程式碼可以告訴電腦解決指定問題的步驟。簡單的說,程式就像是一個轉(zhuǎn)換器,當(dāng)從電腦鍵盤或滑鼠取得輸入資料後,執(zhí)行程式就可以將資料轉(zhuǎn)換成有用的資訊,如下圖所示:
1-1-1程式、軟體與應(yīng)用程式-程式「程式」(Progra51-1-1程式、軟體與應(yīng)用程式-軟體與應(yīng)用程式「軟體」(Softwares)是一種電腦執(zhí)行的應(yīng)用程式或作業(yè)系統(tǒng),通常軟體是一個或多個程式的泛稱,或整套應(yīng)用程式?!笐?yīng)用程式」(Applications)是一種處理指定工作的電腦程式,例如:數(shù)學(xué)計算分析、文書處理、試算表和程式語言整合開發(fā)工具等。1-1-1程式、軟體與應(yīng)用程式-軟體與應(yīng)用程式「軟體」(S61-1-2程式語言的種類-說明程式語言隨著電腦科技的進(jìn)步,已經(jīng)延伸出龐大的族群。在程式語言的分類上,使用發(fā)展世代來區(qū)分可以分為五世代,如下表所示:
世代程式語言第一世代機(jī)器語言(MachineLanguages)第二世代組合語言(AssemblyLanguages)第三世代高階語言(HighLevelLanguages)第四世代應(yīng)用程式產(chǎn)生的語言(Application-GenerationLanguages)或查詢語言(QueryLanguages)第五世代邏輯導(dǎo)向語言(Logic-OrientedLanguages)1-1-2程式語言的種類-說明程式語言隨著電腦科技的進(jìn)步,71-1-3低階語言-說明低階語言(LowLevelLanguages)是一種偏向電腦容易了解的程式語言,簡單的說,它是電腦看得懂的程式語言。所以執(zhí)行效率高,但是使用者並不易學(xué)習(xí)。主要的低階語言有兩種:機(jī)器語言。組合語言。1-1-3低階語言-說明低階語言(LowLevelLa81-1-3低階語言-機(jī)器語言機(jī)器語言(MachineLanguage)機(jī)器語言的程式是使用0和1二進(jìn)位來表示的程式碼,電腦可以直接執(zhí)行機(jī)器語言的程式碼,所以執(zhí)行效率最高,如下所示:011100010000111110011101101100011-1-3低階語言-機(jī)器語言機(jī)器語言(MachineLa91-1-3低階語言-組合語言組合語言(AssemblyLanguage)組合語言是使用簡單符號的指令集來代表機(jī)器語言0和1表示的二進(jìn)位程式碼。其建立的程式碼只需使用「組譯程式」(Assemblers)就可以轉(zhuǎn)換成機(jī)器語言,然後在電腦上執(zhí)行。組合語言是一種十分接近機(jī)器語言的程式語言,如下所示:MOVAX01MOVBX02ADDAXBX1-1-3低階語言-組合語言組合語言(AssemblyL101-1-4高階語言-說明高階語言(HighLevelLanguages)是一種接近人類語言的程式語言,或稱為半英文(Half-english)的程式語言。因?yàn)殡娔X不能馬上看的懂,所以需要進(jìn)一步翻譯,在轉(zhuǎn)換成機(jī)器語言後,其轉(zhuǎn)換的程式碼通常比直接使用機(jī)器語言撰寫的冗長,所以效率較低,但是非常適合使用者學(xué)習(xí)。目前常見的高階語言有:BASIC、C/C++、C#、Java、FORTRAN、COBOL和Pascal等。1-1-4高階語言-說明高階語言(HighLevelL111-1-4高階語言-編譯語言編譯程式(Compilers)C/C++等程式語言屬於編譯語言,編譯程式需要檢查完整個程式檔案的程式碼,在完全沒有錯誤的情況下,才會翻譯成機(jī)器語言的程式檔案,其主要功能有兩項(xiàng),如下所示:檢查程式錯誤。將程式翻譯成機(jī)器語言的程式檔案。1-1-4高階語言-編譯語言編譯程式(Compilers)121-1-4高階語言-直譯語言直譯程式(Interpreters)早期BASIC語言(例如:BASICA、QuickBasic等)和目前網(wǎng)頁技術(shù)的「腳本」(Scripts)語言,例如:VBScript和JavaScript都屬於直譯語言。直譯程式在處理程式碼時,並不會輸出可執(zhí)行檔案,而是直接一個指令一個動作,一列一列的執(zhí)行程式碼,相對的,其執(zhí)行效率低,但是非常適合在系統(tǒng)開發(fā)階段的程式除錯。1-1-4高階語言-直譯語言直譯程式(Interprete131-1-5程式是如何執(zhí)行-說明程式在電腦實(shí)際執(zhí)行的過程對於高階程式語言來說,例如:BASIC或PASCAL等並非十分重要。不過,對電腦執(zhí)行程式有一定的認(rèn)識,在設(shè)計程式時仍然有十分大的助益。不論使用高階或低階程式語言,其建立的程式最後都會編譯成電腦看的懂的機(jī)器語言,這些指令是CPU支援的「指令集」(InstructionSet)。不同CPU支援不同的指令集,換句話說,雖然高階語言有很多種,但是CPU只懂一種語言,也就是其能執(zhí)行的機(jī)器語言。1-1-5程式是如何執(zhí)行-說明程式在電腦實(shí)際執(zhí)行的過程對於141-1-5程式是如何執(zhí)行-圖例1-1-5程式是如何執(zhí)行-圖例151-1-5程式是如何執(zhí)行-執(zhí)行程式CPU執(zhí)行機(jī)器語言程式是依序?qū)Υ嬖谟洃涹w的機(jī)器語言指令「取出和執(zhí)行」(Fetch-and-execute)。簡單的說,CPU就是從記憶體取出指令,然後執(zhí)行此指令,取出下一個指令,再執(zhí)行它。CPU執(zhí)行程式的方式,如下所示:電腦的主記憶體儲存機(jī)器語言的程式碼和資料。CPU從記憶體依序取出一個個機(jī)器語言指令,然後執(zhí)行它,CPU並非真正了解機(jī)器語言在作什麼?這只是CPU的例行工作,依序執(zhí)行機(jī)器語言指令。1-1-5程式是如何執(zhí)行-執(zhí)行程式CPU執(zhí)行機(jī)器語言程式是161-1-5程式是如何執(zhí)行-中央處理器電腦CPU提供實(shí)際運(yùn)算功能,個人電腦都是使用單晶片的「IC」(IntegratedCircuit),其主要的功能是使用「ALU」(ArithmeticandLogicUnit)的邏輯電路進(jìn)行運(yùn)算,以便執(zhí)行機(jī)器語言的指令。在CPU擁有很多組「暫存器」(Registers),暫存器是位在CPU中的記憶體,可以暫時儲存資料或機(jī)器語言指令,例如:執(zhí)行加法指令需要2個運(yùn)算元,這兩個運(yùn)算元資料就是儲存在暫存器。1-1-5程式是如何執(zhí)行-中央處理器電腦CPU提供實(shí)際運(yùn)算171-1-5程式是如何執(zhí)行-記憶體(說明)當(dāng)我們執(zhí)行程式時,作業(yè)系統(tǒng)可以將儲存在硬碟或軟碟的執(zhí)行檔案載入電腦主記憶體(MainMemory),這就是CPU執(zhí)行的機(jī)器語言指令,CPU從記憶體依序載入指令和執(zhí)行。事實(shí)上,程式碼本身和使用的資料都是儲存在RAM(RandomAccessMemory),每一個儲存單位有數(shù)字編號稱為「位址」(Address)。如同大樓信箱,門牌號碼是位址,信箱內(nèi)容是程式碼或資料,儲存資料佔(zhàn)用的記憶體空間大小,需視使用的資料型態(tài)而定。1-1-5程式是如何執(zhí)行-記憶體(說明)當(dāng)我們執(zhí)行程式時,181-1-5程式是如何執(zhí)行-記憶體(存取)電腦CPU中央處理器存取記憶體資料的主要步驟,如下所示:Step1:送出讀寫的記憶體位址:當(dāng)CPU讀取程式碼或資料時,需要送出欲取得的記憶體位址,例如:記憶體位址4。Step2:讀寫記憶體儲存的資料:CPU可以從指定位址讀取記憶體內(nèi)容,例如,位址4的內(nèi)容是01010101,換句話說,取得資料是01010101的二進(jìn)位值,每一個0或1是一個「位元」(Bit),8個位元稱為「位元組」(Byte),這是電腦記憶體的最小儲存單位。1-1-5程式是如何執(zhí)行-記憶體(存取)電腦CPU中央處理191-1-5程式是如何執(zhí)行-輸入/輸出裝置電腦的輸入/輸出裝置(Input/OutputDevices)是程式的窗口,可以讓使用者輸入資料和顯示程式的執(zhí)行結(jié)果。目前而言,電腦最常用的輸入裝置是鍵盤和滑鼠;輸出裝置是螢?zāi)缓土斜頇C(jī)。1-1-5程式是如何執(zhí)行-輸入/輸出裝置電腦的輸入/輸出裝201-1-5程式是如何執(zhí)行-次儲存裝置次儲存裝置(SecondaryStorageUnit)是一種能夠長時間和提供高容量儲存資料的裝置。電腦程式與資料是在載入記憶體後,才依序讓CPU來執(zhí)行,不過,在此之前這些程式與資料是儲存在次儲存裝置,例如:硬碟機(jī)。當(dāng)我們在Windows作業(yè)系統(tǒng)使用【記事本】編輯Java程式碼時,這些資料只是暫時儲存在電腦的主記憶體,因?yàn)橹饔洃涹w在關(guān)閉電源後,其儲存的資料就會消失,為了長時間儲存這些資料,我們需要將它儲存在電腦的次儲存裝置,即儲存在硬碟中的程式碼檔案。1-1-5程式是如何執(zhí)行-次儲存裝置次儲存裝置(Secon211-2Java的基礎(chǔ)1-2-1Java平臺1-2-2Java語言的版本1-2-3Java程式語言的特點(diǎn)1-2Java的基礎(chǔ)1-2-1Java平臺221-2Java的基礎(chǔ)「Java」(爪哇)比起傳統(tǒng)程式語言C/C++、PASCAL和BASIC語言來說,算是一種很新的電腦語言,它是一種類似C++語言的編譯式語言,不過並不完全相同,因?yàn)樗墙Y(jié)合編譯和直譯優(yōu)點(diǎn)的程式語言。1-2Java的基礎(chǔ)「Java」(爪哇)比起傳統(tǒng)程式語言C231-2-1Java平臺-說明「平臺」(Platform)是一種結(jié)合硬體和軟體的執(zhí)行環(huán)境,簡單的說,Java程式是在平臺上執(zhí)行,因?yàn)镴ava屬於一種與硬體無關(guān)和跨平臺的程式語言,所以Java平臺是一種軟體平臺,主要是由JVM和JavaAPI兩個元件所組成。1-2-1Java平臺-說明「平臺」(Platform)是241-2-1Java平臺-JVM虛擬機(jī)器(說明)「JVM」(JavaVirtualMachine)虛擬機(jī)器是一臺軟體的虛擬電腦,Java原始程式碼並不是使用Java編譯程式(JavaCompiler)編譯成其安裝實(shí)體電腦可執(zhí)行的機(jī)器語言,而是JVM虛擬機(jī)器的機(jī)器語言,稱為「位元組碼」(Bytecode)。位元組碼是一種可以在JVM執(zhí)行的程式,換句話說,電腦作業(yè)系統(tǒng)需要安裝有JVM,才可以使用Java直譯程式(JavaInterpreter)來直譯和執(zhí)行位元組碼。1-2-1Java平臺-JVM虛擬機(jī)器(說明)「JVM」(251-2-1Java平臺-JVM虛擬機(jī)器(圖例)Java原始程式碼(副檔名.java)在編譯成位元組碼(副檔名.class)後,即可在Windows、UNIX或Machintosh的MacOS作業(yè)系統(tǒng)上執(zhí)行。1-2-1Java平臺-JVM虛擬機(jī)器(圖例)Java原始261-2-1Java平臺-JavaAPIJavaAPI(JavaApplicationProgrammingInterface)是軟體元件的集合,也就是在C/C++語言所謂的函數(shù)庫,提供集合物件、GUI元件、檔案處理、資料庫存取和網(wǎng)路等相關(guān)的類別和介面,稱為「套件」(Packages)。1-2-1Java平臺-JavaAPIJavaAPI(271-2-2Java語言的版本-標(biāo)準(zhǔn)版演進(jìn)版本日期說明1.01996/1JavaDevelopmentKit1.0版(JDK1.0)1.11997/2JavaDevelopmentKit1.1版(JDK1.1)1.21998/12SoftwareDevelopmentKit1.2版(SDK1.2),開始稱為Java2平臺1.32000/5平臺名稱J2SE(Java2Platform,StardardEdition),產(chǎn)品名稱是SoftwareDevelopmentKit1.3版(SDK1.3),也稱為Java21.3版1.42002/2平臺名稱J2SE,產(chǎn)品名稱是SDK1.4,也稱為Java21.4版5.02004/9平臺名稱J2SE5.0,產(chǎn)品名稱是J2SEDevelopmentKit5.0版(JDK5.0),其開發(fā)版號為JDK1.5.0SE62006/12平臺名稱JavaSE6,產(chǎn)品名稱是JavaSEDevelopmentKit6(JDK6),其開發(fā)版號為1.6.0SE72011/07平臺名稱JavaSE7,產(chǎn)品名稱是JavaSEDevelopmentKit7(JDK7),其開發(fā)版號為1.7.01-2-2Java語言的版本-標(biāo)準(zhǔn)版演進(jìn)版本日期說明1.0281-2-2Java語言的版本-JavaSE7版JavaSE7是Jave語言的最新版本,也是甲骨文(Oracle)併購昇陽(Sun)公司後,首次發(fā)表Java平臺的最新版本。JavaSE7版包含很多全新功能、增強(qiáng)功能與錯誤修正,可以全方面提昇開發(fā)與執(zhí)行Java程式的效能。JavaSE7除了修正不少漏洞及提昇整體效能外,更提供Ruby、Python和JavaScript語言的支援,並且針對多核心環(huán)境新增全新API,和大幅提升JVM效能,和全新檔案系統(tǒng)API,支援非同步I/O。1-2-2Java語言的版本-JavaSE7版Java291-2-3Java程式語言-特點(diǎn)Java是一種簡單、功能強(qiáng)大、高效能和物件導(dǎo)向的程式語言,不只如此,Java還擁有一些傳統(tǒng)程式語言所沒有提供的特點(diǎn),如下所示:分散式(Distributed)多執(zhí)行緒(Multi-Threading)垃圾收集(GarbageCollection)例外處理(ExceptionHandling)1-2-3Java程式語言-特點(diǎn)Java是一種簡單、功能強(qiáng)301-2-3Java程式語言-分散式分散式(Distributed)Java語言最初的發(fā)展是一種網(wǎng)路程式語言,可以支援各種網(wǎng)路通訊協(xié)定,能夠建立分散式主從架構(gòu)的應(yīng)用程式,輕鬆存取網(wǎng)路上其它主機(jī)的資源。1-2-3Java程式語言-分散式分散式(Distribu311-2-3Java程式語言-多執(zhí)行緒多執(zhí)行緒(Multi-Threading)Java語言支援多執(zhí)行緒,在同一程式能夠建立多個執(zhí)行的小程式,稱為「輕量行程」(LightWeightProcess),以便執(zhí)行不同的工作,並且支援同步功能,能夠避免「死結(jié)」(Deadlock)情況的發(fā)生。1-2-3Java程式語言-多執(zhí)行緒多執(zhí)行緒(Multi-321-2-3Java程式語言-垃圾收集垃圾收集(GarbageCollection)垃圾收集是指如何處理程式不再使用的記憶體空間,Java語言擁有垃圾收集能力,程式設(shè)計者不用擔(dān)心記憶體配置的問題,因?yàn)樵趫?zhí)行Java程式時,自動會將不再使用的記憶體歸還給作業(yè)系統(tǒng)。1-2-3Java程式語言-垃圾收集垃圾收集(Garbag331-2-3Java程式語言-例外處理例外處理(ExceptionHandling)電腦程式不可能沒有「小臭蟲」(Bugs),一些小錯誤可能只會產(chǎn)生錯誤結(jié)果,但是有一些小錯誤可能導(dǎo)致嚴(yán)重的系統(tǒng)當(dāng)機(jī)問題。Java語言的例外處理可以讓程式更加「強(qiáng)壯」(Robust),這算程式執(zhí)行時遇到不尋常的情況,也不會造成程式「崩潰」(Crashing)或整個系統(tǒng)當(dāng)機(jī)。1-2-3Java程式語言-例外處理例外處理(Except341-3Java語言的開發(fā)環(huán)境–說明程式語言的「開發(fā)環(huán)境」(DevelopmentEnvironment)是一組工具程式用來建立、編譯和維護(hù)程式語言建立的應(yīng)用程式。一般來說,我們可以使用兩種Java開發(fā)環(huán)境來建立Java應(yīng)用程式。
1-3Java語言的開發(fā)環(huán)境–說明程式語言的「開發(fā)環(huán)境」(351-3Java語言的開發(fā)環(huán)境–終端機(jī)終端機(jī)模式的開發(fā)環(huán)境對於傳統(tǒng)MS-DOS或UNIX、Linux系統(tǒng)的使用者,或稱為「終端機(jī)」(Terminals)模式,程式執(zhí)行環(huán)境輸入資料和輸出資料都是「命令列模式」(Command-lineInterface),即文字模式的鍵盤輸入或單純文字內(nèi)容的輸出。在終端機(jī)模式的開發(fā)環(huán)境只需安裝Java開發(fā)工具「JavaDevelopmentKit」(JDK)和設(shè)定好環(huán)境參數(shù),然後配合vi、edit或記事本等程式碼編輯工具,就可以開發(fā)Java應(yīng)用程式。1-3Java語言的開發(fā)環(huán)境–終端機(jī)終端機(jī)模式的開發(fā)環(huán)境361-3Java語言的開發(fā)環(huán)境–整合開發(fā)環(huán)境整合開發(fā)環(huán)境對於高階程式語言來說,大多擁有「整合開發(fā)環(huán)境」(IntegratedDevelopmentEnvironment,簡稱IDE),可以在同一個應(yīng)用程式編輯、編譯、執(zhí)行和除錯特定語言的應(yīng)用程式。目前巿面上有相當(dāng)多套支援Windows作業(yè)系統(tǒng)的Java整合開發(fā)環(huán)境,在搭配JDK後,就可以在同一工具軟體編輯、編譯和除錯Java程式。常見Java整合開發(fā)環(huán)境,如下所示:Eclipse。NetBeansIDE。BorlandJBuilder。JCreator。1-3Java語言的開發(fā)環(huán)境–整合開發(fā)環(huán)境整合開發(fā)環(huán)境371-4建立Java語言的開發(fā)環(huán)境1-4-1安裝與設(shè)定JDK1-4-2安裝與啟動EclipseIDE1-4建立Java語言的開發(fā)環(huán)境1-4-1安裝與設(shè)定J381-4-1安裝與設(shè)定JDK-說明一般來說,有些整合開發(fā)環(huán)境在安裝時就會一併安裝JDK,例如:JBuilder,不過,大部分整合開發(fā)環(huán)境需要自行安裝JDK,本書使用的版本是JDK7(JavaSEDevelopmentKit7),其下載網(wǎng)址為:/technetwork/java/javase/downloads/index.html1-4-1安裝與設(shè)定JDK-說明一般來說,有些整合開發(fā)環(huán)境391-4-1安裝與設(shè)定JDK-移除舊版JDK移除舊版JDK如果在Windows電腦已經(jīng)安裝舊版JDK,基於安全性考量,建議移除舊版JDK,如下圖所示:1-4-1安裝與設(shè)定JDK-移除舊版JDK移除舊版JDK401-4-1安裝與設(shè)定JDK-安裝JDK7安裝JDK7JDK7更新版本並不是使用「.」後的次版號來表示,而是改為更新Update來標(biāo)示,以本書為例是使用JDK7Update10,其下載Windows版JDK的檔名為【jdk-7u10-windows-i586.exe】;64位元是【jdk-7u10-windows-x64.exe】後,我們只需執(zhí)行此檔案就可以安裝JDK7。1-4-1安裝與設(shè)定JDK-安裝JDK7安裝JDK7411-4-1安裝與設(shè)定JDK-設(shè)定JDK設(shè)定JDK設(shè)定JDK就是在Windows作業(yè)系統(tǒng)新增環(huán)境變數(shù)Path的搜尋路徑「C:\ProgramFiles\Java\jdk1.7.0_10\bin」,其中「C:\ProgramFiles\Java\jdk1.7.0_10\」是JDK安裝路徑。
1-4-1安裝與設(shè)定JDK-設(shè)定JDK設(shè)定JDK421-4-2安裝與啟動EclipseIDE-說明EclipseIDE原為IBM公司發(fā)起的開發(fā)專案,其目的是開發(fā)一套免費(fèi)且開放原始碼的整合開發(fā)環(huán)境,支援多種程式語言的應(yīng)用程式開發(fā),例如:Java、JavaScript和C/C++等語言。EclipseIDE需要安裝JRE才能執(zhí)行,其下載網(wǎng)址為:/downloads/因?yàn)槲覀兪前惭bJavaSE,請選【EclipseIDEforJavaDevelopers】後的下載連結(jié)【W(wǎng)indows32Bit】,即可下載最新版的EclipseIDE。1-4-2安裝與啟動EclipseIDE-說明Eclip431-4-2安裝與啟動EclipseIDE-安裝以本書為例是使用EclipseJUNO4.2版SR1,64位元的下載檔名為ZIP格式壓縮檔【eclipse-java-juno-SR1-win32-x86_64.zip】,因?yàn)镋clipseIDE並沒有安裝程式,我們只需解壓縮至指定資料夾,例如:「C:\Java_IDE\eclipse」,和建立捷徑即可完成安裝,如右圖所示:
1-4-2安裝與啟動EclipseIDE-安裝以本書為例441-4-2安裝與啟動EclipseIDE-啟動在安裝EclipseIDE和建立桌面捷徑後,我們就可以啟動EclipseIDE,請按二下上述建立的桌面捷徑來啟動EclipseIDE,稍等一下,可以看到「WorkspaceLanucher」選取工作空間對話方塊。選擇工作空間(Workspace,這是包含專案和設(shè)定檔案的資料夾),請按【Browse】鈕選擇本書預(yù)設(shè)的範(fàn)例目錄「C:\JavaEx\Ch02」,按【OK】鈕,稍等一下,可以看到EclipseIDE整合開發(fā)環(huán)境,顯示W(wǎng)elcome歡迎頁面。1-4-2安裝與啟動EclipseIDE-啟動在安裝Ec451-4-2安裝與啟動EclipseIDE-圖例1-4-2安裝與啟動EclipseIDE-圖例46程式語言世代課件47程式語言與Java的基礎(chǔ)1-1程式語言的基礎(chǔ)1-2Java的基礎(chǔ)1-3Java語言的開發(fā)環(huán)境1-4建立Java語言的開發(fā)環(huán)境1程式語言與Java的基礎(chǔ)1-1程式語言的基礎(chǔ)1481-1程式語言的基礎(chǔ)1-1-1程式、軟體與應(yīng)用程式1-1-2程式語言的種類1-1-3低階語言1-1-4高階語言1-1-5程式是如何執(zhí)行1-1程式語言的基礎(chǔ)1-1-1程式、軟體與應(yīng)用程式491-1程式語言的基礎(chǔ)「程式語言」(ProgrammingLanguages)如同人與人之間溝通的語言,它是人類告訴電腦如何工作的一種語言,即人類與電腦之間進(jìn)行溝通的語言。以技術(shù)角度來說,程式語言是一種將執(zhí)行指令傳達(dá)給電腦的標(biāo)準(zhǔn)通訊技術(shù)。1-1程式語言的基礎(chǔ)「程式語言」(Programming501-1-1程式、軟體與應(yīng)用程式-程式「程式」(Programs)是使用指定程式語言所撰寫沒有混淆文字、數(shù)字和鍵盤符號組成的特殊符號,這些符號組合成指令和敘述,再進(jìn)一步編寫成程式碼,程式碼可以告訴電腦解決指定問題的步驟。簡單的說,程式就像是一個轉(zhuǎn)換器,當(dāng)從電腦鍵盤或滑鼠取得輸入資料後,執(zhí)行程式就可以將資料轉(zhuǎn)換成有用的資訊,如下圖所示:
1-1-1程式、軟體與應(yīng)用程式-程式「程式」(Progra511-1-1程式、軟體與應(yīng)用程式-軟體與應(yīng)用程式「軟體」(Softwares)是一種電腦執(zhí)行的應(yīng)用程式或作業(yè)系統(tǒng),通常軟體是一個或多個程式的泛稱,或整套應(yīng)用程式?!笐?yīng)用程式」(Applications)是一種處理指定工作的電腦程式,例如:數(shù)學(xué)計算分析、文書處理、試算表和程式語言整合開發(fā)工具等。1-1-1程式、軟體與應(yīng)用程式-軟體與應(yīng)用程式「軟體」(S521-1-2程式語言的種類-說明程式語言隨著電腦科技的進(jìn)步,已經(jīng)延伸出龐大的族群。在程式語言的分類上,使用發(fā)展世代來區(qū)分可以分為五世代,如下表所示:
世代程式語言第一世代機(jī)器語言(MachineLanguages)第二世代組合語言(AssemblyLanguages)第三世代高階語言(HighLevelLanguages)第四世代應(yīng)用程式產(chǎn)生的語言(Application-GenerationLanguages)或查詢語言(QueryLanguages)第五世代邏輯導(dǎo)向語言(Logic-OrientedLanguages)1-1-2程式語言的種類-說明程式語言隨著電腦科技的進(jìn)步,531-1-3低階語言-說明低階語言(LowLevelLanguages)是一種偏向電腦容易了解的程式語言,簡單的說,它是電腦看得懂的程式語言。所以執(zhí)行效率高,但是使用者並不易學(xué)習(xí)。主要的低階語言有兩種:機(jī)器語言。組合語言。1-1-3低階語言-說明低階語言(LowLevelLa541-1-3低階語言-機(jī)器語言機(jī)器語言(MachineLanguage)機(jī)器語言的程式是使用0和1二進(jìn)位來表示的程式碼,電腦可以直接執(zhí)行機(jī)器語言的程式碼,所以執(zhí)行效率最高,如下所示:011100010000111110011101101100011-1-3低階語言-機(jī)器語言機(jī)器語言(MachineLa551-1-3低階語言-組合語言組合語言(AssemblyLanguage)組合語言是使用簡單符號的指令集來代表機(jī)器語言0和1表示的二進(jìn)位程式碼。其建立的程式碼只需使用「組譯程式」(Assemblers)就可以轉(zhuǎn)換成機(jī)器語言,然後在電腦上執(zhí)行。組合語言是一種十分接近機(jī)器語言的程式語言,如下所示:MOVAX01MOVBX02ADDAXBX1-1-3低階語言-組合語言組合語言(AssemblyL561-1-4高階語言-說明高階語言(HighLevelLanguages)是一種接近人類語言的程式語言,或稱為半英文(Half-english)的程式語言。因?yàn)殡娔X不能馬上看的懂,所以需要進(jìn)一步翻譯,在轉(zhuǎn)換成機(jī)器語言後,其轉(zhuǎn)換的程式碼通常比直接使用機(jī)器語言撰寫的冗長,所以效率較低,但是非常適合使用者學(xué)習(xí)。目前常見的高階語言有:BASIC、C/C++、C#、Java、FORTRAN、COBOL和Pascal等。1-1-4高階語言-說明高階語言(HighLevelL571-1-4高階語言-編譯語言編譯程式(Compilers)C/C++等程式語言屬於編譯語言,編譯程式需要檢查完整個程式檔案的程式碼,在完全沒有錯誤的情況下,才會翻譯成機(jī)器語言的程式檔案,其主要功能有兩項(xiàng),如下所示:檢查程式錯誤。將程式翻譯成機(jī)器語言的程式檔案。1-1-4高階語言-編譯語言編譯程式(Compilers)581-1-4高階語言-直譯語言直譯程式(Interpreters)早期BASIC語言(例如:BASICA、QuickBasic等)和目前網(wǎng)頁技術(shù)的「腳本」(Scripts)語言,例如:VBScript和JavaScript都屬於直譯語言。直譯程式在處理程式碼時,並不會輸出可執(zhí)行檔案,而是直接一個指令一個動作,一列一列的執(zhí)行程式碼,相對的,其執(zhí)行效率低,但是非常適合在系統(tǒng)開發(fā)階段的程式除錯。1-1-4高階語言-直譯語言直譯程式(Interprete591-1-5程式是如何執(zhí)行-說明程式在電腦實(shí)際執(zhí)行的過程對於高階程式語言來說,例如:BASIC或PASCAL等並非十分重要。不過,對電腦執(zhí)行程式有一定的認(rèn)識,在設(shè)計程式時仍然有十分大的助益。不論使用高階或低階程式語言,其建立的程式最後都會編譯成電腦看的懂的機(jī)器語言,這些指令是CPU支援的「指令集」(InstructionSet)。不同CPU支援不同的指令集,換句話說,雖然高階語言有很多種,但是CPU只懂一種語言,也就是其能執(zhí)行的機(jī)器語言。1-1-5程式是如何執(zhí)行-說明程式在電腦實(shí)際執(zhí)行的過程對於601-1-5程式是如何執(zhí)行-圖例1-1-5程式是如何執(zhí)行-圖例611-1-5程式是如何執(zhí)行-執(zhí)行程式CPU執(zhí)行機(jī)器語言程式是依序?qū)Υ嬖谟洃涹w的機(jī)器語言指令「取出和執(zhí)行」(Fetch-and-execute)。簡單的說,CPU就是從記憶體取出指令,然後執(zhí)行此指令,取出下一個指令,再執(zhí)行它。CPU執(zhí)行程式的方式,如下所示:電腦的主記憶體儲存機(jī)器語言的程式碼和資料。CPU從記憶體依序取出一個個機(jī)器語言指令,然後執(zhí)行它,CPU並非真正了解機(jī)器語言在作什麼?這只是CPU的例行工作,依序執(zhí)行機(jī)器語言指令。1-1-5程式是如何執(zhí)行-執(zhí)行程式CPU執(zhí)行機(jī)器語言程式是621-1-5程式是如何執(zhí)行-中央處理器電腦CPU提供實(shí)際運(yùn)算功能,個人電腦都是使用單晶片的「IC」(IntegratedCircuit),其主要的功能是使用「ALU」(ArithmeticandLogicUnit)的邏輯電路進(jìn)行運(yùn)算,以便執(zhí)行機(jī)器語言的指令。在CPU擁有很多組「暫存器」(Registers),暫存器是位在CPU中的記憶體,可以暫時儲存資料或機(jī)器語言指令,例如:執(zhí)行加法指令需要2個運(yùn)算元,這兩個運(yùn)算元資料就是儲存在暫存器。1-1-5程式是如何執(zhí)行-中央處理器電腦CPU提供實(shí)際運(yùn)算631-1-5程式是如何執(zhí)行-記憶體(說明)當(dāng)我們執(zhí)行程式時,作業(yè)系統(tǒng)可以將儲存在硬碟或軟碟的執(zhí)行檔案載入電腦主記憶體(MainMemory),這就是CPU執(zhí)行的機(jī)器語言指令,CPU從記憶體依序載入指令和執(zhí)行。事實(shí)上,程式碼本身和使用的資料都是儲存在RAM(RandomAccessMemory),每一個儲存單位有數(shù)字編號稱為「位址」(Address)。如同大樓信箱,門牌號碼是位址,信箱內(nèi)容是程式碼或資料,儲存資料佔(zhàn)用的記憶體空間大小,需視使用的資料型態(tài)而定。1-1-5程式是如何執(zhí)行-記憶體(說明)當(dāng)我們執(zhí)行程式時,641-1-5程式是如何執(zhí)行-記憶體(存取)電腦CPU中央處理器存取記憶體資料的主要步驟,如下所示:Step1:送出讀寫的記憶體位址:當(dāng)CPU讀取程式碼或資料時,需要送出欲取得的記憶體位址,例如:記憶體位址4。Step2:讀寫記憶體儲存的資料:CPU可以從指定位址讀取記憶體內(nèi)容,例如,位址4的內(nèi)容是01010101,換句話說,取得資料是01010101的二進(jìn)位值,每一個0或1是一個「位元」(Bit),8個位元稱為「位元組」(Byte),這是電腦記憶體的最小儲存單位。1-1-5程式是如何執(zhí)行-記憶體(存取)電腦CPU中央處理651-1-5程式是如何執(zhí)行-輸入/輸出裝置電腦的輸入/輸出裝置(Input/OutputDevices)是程式的窗口,可以讓使用者輸入資料和顯示程式的執(zhí)行結(jié)果。目前而言,電腦最常用的輸入裝置是鍵盤和滑鼠;輸出裝置是螢?zāi)缓土斜頇C(jī)。1-1-5程式是如何執(zhí)行-輸入/輸出裝置電腦的輸入/輸出裝661-1-5程式是如何執(zhí)行-次儲存裝置次儲存裝置(SecondaryStorageUnit)是一種能夠長時間和提供高容量儲存資料的裝置。電腦程式與資料是在載入記憶體後,才依序讓CPU來執(zhí)行,不過,在此之前這些程式與資料是儲存在次儲存裝置,例如:硬碟機(jī)。當(dāng)我們在Windows作業(yè)系統(tǒng)使用【記事本】編輯Java程式碼時,這些資料只是暫時儲存在電腦的主記憶體,因?yàn)橹饔洃涹w在關(guān)閉電源後,其儲存的資料就會消失,為了長時間儲存這些資料,我們需要將它儲存在電腦的次儲存裝置,即儲存在硬碟中的程式碼檔案。1-1-5程式是如何執(zhí)行-次儲存裝置次儲存裝置(Secon671-2Java的基礎(chǔ)1-2-1Java平臺1-2-2Java語言的版本1-2-3Java程式語言的特點(diǎn)1-2Java的基礎(chǔ)1-2-1Java平臺681-2Java的基礎(chǔ)「Java」(爪哇)比起傳統(tǒng)程式語言C/C++、PASCAL和BASIC語言來說,算是一種很新的電腦語言,它是一種類似C++語言的編譯式語言,不過並不完全相同,因?yàn)樗墙Y(jié)合編譯和直譯優(yōu)點(diǎn)的程式語言。1-2Java的基礎(chǔ)「Java」(爪哇)比起傳統(tǒng)程式語言C691-2-1Java平臺-說明「平臺」(Platform)是一種結(jié)合硬體和軟體的執(zhí)行環(huán)境,簡單的說,Java程式是在平臺上執(zhí)行,因?yàn)镴ava屬於一種與硬體無關(guān)和跨平臺的程式語言,所以Java平臺是一種軟體平臺,主要是由JVM和JavaAPI兩個元件所組成。1-2-1Java平臺-說明「平臺」(Platform)是701-2-1Java平臺-JVM虛擬機(jī)器(說明)「JVM」(JavaVirtualMachine)虛擬機(jī)器是一臺軟體的虛擬電腦,Java原始程式碼並不是使用Java編譯程式(JavaCompiler)編譯成其安裝實(shí)體電腦可執(zhí)行的機(jī)器語言,而是JVM虛擬機(jī)器的機(jī)器語言,稱為「位元組碼」(Bytecode)。位元組碼是一種可以在JVM執(zhí)行的程式,換句話說,電腦作業(yè)系統(tǒng)需要安裝有JVM,才可以使用Java直譯程式(JavaInterpreter)來直譯和執(zhí)行位元組碼。1-2-1Java平臺-JVM虛擬機(jī)器(說明)「JVM」(711-2-1Java平臺-JVM虛擬機(jī)器(圖例)Java原始程式碼(副檔名.java)在編譯成位元組碼(副檔名.class)後,即可在Windows、UNIX或Machintosh的MacOS作業(yè)系統(tǒng)上執(zhí)行。1-2-1Java平臺-JVM虛擬機(jī)器(圖例)Java原始721-2-1Java平臺-JavaAPIJavaAPI(JavaApplicationProgrammingInterface)是軟體元件的集合,也就是在C/C++語言所謂的函數(shù)庫,提供集合物件、GUI元件、檔案處理、資料庫存取和網(wǎng)路等相關(guān)的類別和介面,稱為「套件」(Packages)。1-2-1Java平臺-JavaAPIJavaAPI(731-2-2Java語言的版本-標(biāo)準(zhǔn)版演進(jìn)版本日期說明1.01996/1JavaDevelopmentKit1.0版(JDK1.0)1.11997/2JavaDevelopmentKit1.1版(JDK1.1)1.21998/12SoftwareDevelopmentKit1.2版(SDK1.2),開始稱為Java2平臺1.32000/5平臺名稱J2SE(Java2Platform,StardardEdition),產(chǎn)品名稱是SoftwareDevelopmentKit1.3版(SDK1.3),也稱為Java21.3版1.42002/2平臺名稱J2SE,產(chǎn)品名稱是SDK1.4,也稱為Java21.4版5.02004/9平臺名稱J2SE5.0,產(chǎn)品名稱是J2SEDevelopmentKit5.0版(JDK5.0),其開發(fā)版號為JDK1.5.0SE62006/12平臺名稱JavaSE6,產(chǎn)品名稱是JavaSEDevelopmentKit6(JDK6),其開發(fā)版號為1.6.0SE72011/07平臺名稱JavaSE7,產(chǎn)品名稱是JavaSEDevelopmentKit7(JDK7),其開發(fā)版號為1.7.01-2-2Java語言的版本-標(biāo)準(zhǔn)版演進(jìn)版本日期說明1.0741-2-2Java語言的版本-JavaSE7版JavaSE7是Jave語言的最新版本,也是甲骨文(Oracle)併購昇陽(Sun)公司後,首次發(fā)表Java平臺的最新版本。JavaSE7版包含很多全新功能、增強(qiáng)功能與錯誤修正,可以全方面提昇開發(fā)與執(zhí)行Java程式的效能。JavaSE7除了修正不少漏洞及提昇整體效能外,更提供Ruby、Python和JavaScript語言的支援,並且針對多核心環(huán)境新增全新API,和大幅提升JVM效能,和全新檔案系統(tǒng)API,支援非同步I/O。1-2-2Java語言的版本-JavaSE7版Java751-2-3Java程式語言-特點(diǎn)Java是一種簡單、功能強(qiáng)大、高效能和物件導(dǎo)向的程式語言,不只如此,Java還擁有一些傳統(tǒng)程式語言所沒有提供的特點(diǎn),如下所示:分散式(Distributed)多執(zhí)行緒(Multi-Threading)垃圾收集(GarbageCollection)例外處理(ExceptionHandling)1-2-3Java程式語言-特點(diǎn)Java是一種簡單、功能強(qiáng)761-2-3Java程式語言-分散式分散式(Distributed)Java語言最初的發(fā)展是一種網(wǎng)路程式語言,可以支援各種網(wǎng)路通訊協(xié)定,能夠建立分散式主從架構(gòu)的應(yīng)用程式,輕鬆存取網(wǎng)路上其它主機(jī)的資源。1-2-3Java程式語言-分散式分散式(Distribu771-2-3Java程式語言-多執(zhí)行緒多執(zhí)行緒(Multi-Threading)Java語言支援多執(zhí)行緒,在同一程式能夠建立多個執(zhí)行的小程式,稱為「輕量行程」(LightWeightProcess),以便執(zhí)行不同的工作,並且支援同步功能,能夠避免「死結(jié)」(Deadlock)情況的發(fā)生。1-2-3Java程式語言-多執(zhí)行緒多執(zhí)行緒(Multi-781-2-3Java程式語言-垃圾收集垃圾收集(GarbageCollection)垃圾收集是指如何處理程式不再使用的記憶體空間,Java語言擁有垃圾收集能力,程式設(shè)計者不用擔(dān)心記憶體配置的問題,因?yàn)樵趫?zhí)行Java程式時,自動會將不再使用的記憶體歸還給作業(yè)系統(tǒng)。1-2-3Java程式語言-垃圾收集垃圾收集(Garbag791-2-3Java程式語言-例外處理例外處理(ExceptionHandling)電腦程式不可能沒有「小臭蟲」(Bugs),一些小錯誤可能只會產(chǎn)生錯誤結(jié)果,但是有一些小錯誤可能導(dǎo)致嚴(yán)重的系統(tǒng)當(dāng)機(jī)問題。Java語言的例外處理可以讓程式更加「強(qiáng)壯」(Robust),這算程式執(zhí)行時遇到不尋常的情況,也不會造成程式「崩潰」(Crashing)或整個系統(tǒng)當(dāng)機(jī)。1-2-3Java程式語言-例外處理例外處理(Except801-3Java語言的開發(fā)環(huán)境–說明程式語言的「開發(fā)環(huán)境」(DevelopmentEnvironment)是一組工具程式用來建立、編譯和維護(hù)程式語言建立的應(yīng)用程式。一般來說,我們可以使用兩種Java開發(fā)環(huán)境來建立Java應(yīng)用程式。
1-3Java語言的開發(fā)環(huán)境–說明程式語言的「開發(fā)環(huán)境」(811-3Java語言的開發(fā)環(huán)境–終端機(jī)終端機(jī)模式的開發(fā)環(huán)境對於傳統(tǒng)MS-DOS或UNIX、Linux系統(tǒng)的使用者,或稱為「終端機(jī)」(Terminals)模式,程式執(zhí)行環(huán)境輸入資料和輸出資料都是「命令列模式」(Command-lineInterface),即文字模式的鍵盤輸入或單純文字內(nèi)容的輸出。在終端機(jī)模式的開發(fā)環(huán)境只需安裝Java開發(fā)工具「JavaDevelopmentKit」(JDK)和設(shè)定好環(huán)境參數(shù),然後配合vi、edit或記事本等程式碼編輯工具,就可以開發(fā)Java應(yīng)用程式。1-3Java語言的開發(fā)環(huán)境–終端機(jī)終端機(jī)模式的開發(fā)環(huán)境821-3Java語言的開發(fā)環(huán)境–整合開發(fā)環(huán)境整合開發(fā)環(huán)境對於高階程式語言來說,大多擁有「整合開發(fā)環(huán)境」(IntegratedDevelopmentEnvironment,簡稱IDE),可以在同一個應(yīng)用程式編輯、編譯、執(zhí)行和除錯特定語言的應(yīng)用程式。目前巿面上有相當(dāng)多套支援Win
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年分期付款旅游套餐協(xié)議
- 導(dǎo)演與設(shè)計師2025年度合作協(xié)議3篇
- 2025年人事代理授權(quán)服務(wù)協(xié)議
- 二零二五版奶茶店財務(wù)審計與風(fēng)險控制服務(wù)合同
- 2025年代理權(quán)益保護(hù)協(xié)議書案例展示總結(jié)介紹案例
- 2025年在線購物消費(fèi)者協(xié)議
- 2025年銀行間市場協(xié)議存款居間業(yè)務(wù)合作合同范本6篇
- 2025年超額保險合同保險合同保險范圍協(xié)議
- 復(fù)習(xí)課件蘇聯(lián)的社會主義建設(shè)人教版
- 2025年度新能源技術(shù)研發(fā)個人技術(shù)服務(wù)合同4篇
- 書籍小兵張嘎課件
- 藝術(shù)哲學(xué):美是如何誕生的學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北京海淀區(qū)2025屆高三下第一次模擬語文試題含解析
- 量子醫(yī)學(xué)治療學(xué)行業(yè)投資機(jī)會分析與策略研究報告
- 多重耐藥菌病人的管理-(1)課件
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 環(huán)境監(jiān)測對環(huán)境保護(hù)的意義
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2023年十天突破公務(wù)員面試
- 《瘋狂動物城》中英文對照(全本臺詞)
評論
0/150
提交評論