版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程式语言世代课件1程式語言與Java的基礎1-1程式語言的基礎1-2Java的基礎1-3Java語言的開發環境1-4建立Java語言的開發環境1程式語言與Java的基礎1-1程式語言的基礎121-1程式語言的基礎1-1-1程式、軟體與應用程式1-1-2程式語言的種類1-1-3低階語言1-1-4高階語言1-1-5程式是如何執行1-1程式語言的基礎1-1-1程式、軟體與應用程式31-1程式語言的基礎「程式語言」(ProgrammingLanguages)如同人與人之間溝通的語言,它是人類告訴電腦如何工作的一種語言,即人類與電腦之間進行溝通的語言。以技術角度來說,程式語言是一種將執行指令傳達給電腦的標準通訊技術。1-1程式語言的基礎「程式語言」(Programming41-1-1程式、軟體與應用程式-程式「程式」(Programs)是使用指定程式語言所撰寫沒有混淆文字、數字和鍵盤符號組成的特殊符號,這些符號組合成指令和敘述,再進一步編寫成程式碼,程式碼可以告訴電腦解決指定問題的步驟。簡單的說,程式就像是一個轉換器,當從電腦鍵盤或滑鼠取得輸入資料後,執行程式就可以將資料轉換成有用的資訊,如下圖所示:
1-1-1程式、軟體與應用程式-程式「程式」(Progra51-1-1程式、軟體與應用程式-軟體與應用程式「軟體」(Softwares)是一種電腦執行的應用程式或作業系統,通常軟體是一個或多個程式的泛稱,或整套應用程式。「應用程式」(Applications)是一種處理指定工作的電腦程式,例如:數學計算分析、文書處理、試算表和程式語言整合開發工具等。1-1-1程式、軟體與應用程式-軟體與應用程式「軟體」(S61-1-2程式語言的種類-說明程式語言隨著電腦科技的進步,已經延伸出龐大的族群。在程式語言的分類上,使用發展世代來區分可以分為五世代,如下表所示:
世代程式語言第一世代機器語言(MachineLanguages)第二世代組合語言(AssemblyLanguages)第三世代高階語言(HighLevelLanguages)第四世代應用程式產生的語言(Application-GenerationLanguages)或查詢語言(QueryLanguages)第五世代邏輯導向語言(Logic-OrientedLanguages)1-1-2程式語言的種類-說明程式語言隨著電腦科技的進步,71-1-3低階語言-說明低階語言(LowLevelLanguages)是一種偏向電腦容易了解的程式語言,簡單的說,它是電腦看得懂的程式語言。所以執行效率高,但是使用者並不易學習。主要的低階語言有兩種:機器語言。組合語言。1-1-3低階語言-說明低階語言(LowLevelLa81-1-3低階語言-機器語言機器語言(MachineLanguage)機器語言的程式是使用0和1二進位來表示的程式碼,電腦可以直接執行機器語言的程式碼,所以執行效率最高,如下所示:011100010000111110011101101100011-1-3低階語言-機器語言機器語言(MachineLa91-1-3低階語言-組合語言組合語言(AssemblyLanguage)組合語言是使用簡單符號的指令集來代表機器語言0和1表示的二進位程式碼。其建立的程式碼只需使用「組譯程式」(Assemblers)就可以轉換成機器語言,然後在電腦上執行。組合語言是一種十分接近機器語言的程式語言,如下所示:MOVAX01MOVBX02ADDAXBX1-1-3低階語言-組合語言組合語言(AssemblyL101-1-4高階語言-說明高階語言(HighLevelLanguages)是一種接近人類語言的程式語言,或稱為半英文(Half-english)的程式語言。因為電腦不能馬上看的懂,所以需要進一步翻譯,在轉換成機器語言後,其轉換的程式碼通常比直接使用機器語言撰寫的冗長,所以效率較低,但是非常適合使用者學習。目前常見的高階語言有:BASIC、C/C++、C#、Java、FORTRAN、COBOL和Pascal等。1-1-4高階語言-說明高階語言(HighLevelL111-1-4高階語言-編譯語言編譯程式(Compilers)C/C++等程式語言屬於編譯語言,編譯程式需要檢查完整個程式檔案的程式碼,在完全沒有錯誤的情況下,才會翻譯成機器語言的程式檔案,其主要功能有兩項,如下所示:檢查程式錯誤。將程式翻譯成機器語言的程式檔案。1-1-4高階語言-編譯語言編譯程式(Compilers)121-1-4高階語言-直譯語言直譯程式(Interpreters)早期BASIC語言(例如:BASICA、QuickBasic等)和目前網頁技術的「腳本」(Scripts)語言,例如:VBScript和JavaScript都屬於直譯語言。直譯程式在處理程式碼時,並不會輸出可執行檔案,而是直接一個指令一個動作,一列一列的執行程式碼,相對的,其執行效率低,但是非常適合在系統開發階段的程式除錯。1-1-4高階語言-直譯語言直譯程式(Interprete131-1-5程式是如何執行-說明程式在電腦實際執行的過程對於高階程式語言來說,例如:BASIC或PASCAL等並非十分重要。不過,對電腦執行程式有一定的認識,在設計程式時仍然有十分大的助益。不論使用高階或低階程式語言,其建立的程式最後都會編譯成電腦看的懂的機器語言,這些指令是CPU支援的「指令集」(InstructionSet)。不同CPU支援不同的指令集,換句話說,雖然高階語言有很多種,但是CPU只懂一種語言,也就是其能執行的機器語言。1-1-5程式是如何執行-說明程式在電腦實際執行的過程對於141-1-5程式是如何執行-圖例1-1-5程式是如何執行-圖例151-1-5程式是如何執行-執行程式CPU執行機器語言程式是依序將儲存在記憶體的機器語言指令「取出和執行」(Fetch-and-execute)。簡單的說,CPU就是從記憶體取出指令,然後執行此指令,取出下一個指令,再執行它。CPU執行程式的方式,如下所示:電腦的主記憶體儲存機器語言的程式碼和資料。CPU從記憶體依序取出一個個機器語言指令,然後執行它,CPU並非真正了解機器語言在作什麼?這只是CPU的例行工作,依序執行機器語言指令。1-1-5程式是如何執行-執行程式CPU執行機器語言程式是161-1-5程式是如何執行-中央處理器電腦CPU提供實際運算功能,個人電腦都是使用單晶片的「IC」(IntegratedCircuit),其主要的功能是使用「ALU」(ArithmeticandLogicUnit)的邏輯電路進行運算,以便執行機器語言的指令。在CPU擁有很多組「暫存器」(Registers),暫存器是位在CPU中的記憶體,可以暫時儲存資料或機器語言指令,例如:執行加法指令需要2個運算元,這兩個運算元資料就是儲存在暫存器。1-1-5程式是如何執行-中央處理器電腦CPU提供實際運算171-1-5程式是如何執行-記憶體(說明)當我們執行程式時,作業系統可以將儲存在硬碟或軟碟的執行檔案載入電腦主記憶體(MainMemory),這就是CPU執行的機器語言指令,CPU從記憶體依序載入指令和執行。事實上,程式碼本身和使用的資料都是儲存在RAM(RandomAccessMemory),每一個儲存單位有數字編號稱為「位址」(Address)。如同大樓信箱,門牌號碼是位址,信箱內容是程式碼或資料,儲存資料佔用的記憶體空間大小,需視使用的資料型態而定。1-1-5程式是如何執行-記憶體(說明)當我們執行程式時,181-1-5程式是如何執行-記憶體(存取)電腦CPU中央處理器存取記憶體資料的主要步驟,如下所示:Step1:送出讀寫的記憶體位址:當CPU讀取程式碼或資料時,需要送出欲取得的記憶體位址,例如:記憶體位址4。Step2:讀寫記憶體儲存的資料:CPU可以從指定位址讀取記憶體內容,例如,位址4的內容是01010101,換句話說,取得資料是01010101的二進位值,每一個0或1是一個「位元」(Bit),8個位元稱為「位元組」(Byte),這是電腦記憶體的最小儲存單位。1-1-5程式是如何執行-記憶體(存取)電腦CPU中央處理191-1-5程式是如何執行-輸入/輸出裝置電腦的輸入/輸出裝置(Input/OutputDevices)是程式的窗口,可以讓使用者輸入資料和顯示程式的執行結果。目前而言,電腦最常用的輸入裝置是鍵盤和滑鼠;輸出裝置是螢幕和列表機。1-1-5程式是如何執行-輸入/輸出裝置電腦的輸入/輸出裝201-1-5程式是如何執行-次儲存裝置次儲存裝置(SecondaryStorageUnit)是一種能夠長時間和提供高容量儲存資料的裝置。電腦程式與資料是在載入記憶體後,才依序讓CPU來執行,不過,在此之前這些程式與資料是儲存在次儲存裝置,例如:硬碟機。當我們在Windows作業系統使用【記事本】編輯Java程式碼時,這些資料只是暫時儲存在電腦的主記憶體,因為主記憶體在關閉電源後,其儲存的資料就會消失,為了長時間儲存這些資料,我們需要將它儲存在電腦的次儲存裝置,即儲存在硬碟中的程式碼檔案。1-1-5程式是如何執行-次儲存裝置次儲存裝置(Secon211-2Java的基礎1-2-1Java平台1-2-2Java語言的版本1-2-3Java程式語言的特點1-2Java的基礎1-2-1Java平台221-2Java的基礎「Java」(爪哇)比起傳統程式語言C/C++、PASCAL和BASIC語言來說,算是一種很新的電腦語言,它是一種類似C++語言的編譯式語言,不過並不完全相同,因為它是結合編譯和直譯優點的程式語言。1-2Java的基礎「Java」(爪哇)比起傳統程式語言C231-2-1Java平台-說明「平台」(Platform)是一種結合硬體和軟體的執行環境,簡單的說,Java程式是在平台上執行,因為Java屬於一種與硬體無關和跨平台的程式語言,所以Java平台是一種軟體平台,主要是由JVM和JavaAPI兩個元件所組成。1-2-1Java平台-說明「平台」(Platform)是241-2-1Java平台-JVM虛擬機器(說明)「JVM」(JavaVirtualMachine)虛擬機器是一台軟體的虛擬電腦,Java原始程式碼並不是使用Java編譯程式(JavaCompiler)編譯成其安裝實體電腦可執行的機器語言,而是JVM虛擬機器的機器語言,稱為「位元組碼」(Bytecode)。位元組碼是一種可以在JVM執行的程式,換句話說,電腦作業系統需要安裝有JVM,才可以使用Java直譯程式(JavaInterpreter)來直譯和執行位元組碼。1-2-1Java平台-JVM虛擬機器(說明)「JVM」(251-2-1Java平台-JVM虛擬機器(圖例)Java原始程式碼(副檔名.java)在編譯成位元組碼(副檔名.class)後,即可在Windows、UNIX或Machintosh的MacOS作業系統上執行。1-2-1Java平台-JVM虛擬機器(圖例)Java原始261-2-1Java平台-JavaAPIJavaAPI(JavaApplicationProgrammingInterface)是軟體元件的集合,也就是在C/C++語言所謂的函數庫,提供集合物件、GUI元件、檔案處理、資料庫存取和網路等相關的類別和介面,稱為「套件」(Packages)。1-2-1Java平台-JavaAPIJavaAPI(271-2-2Java語言的版本-標準版演進版本日期說明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),產品名稱是SoftwareDevelopmentKit1.3版(SDK1.3),也稱為Java21.3版1.42002/2平台名稱J2SE,產品名稱是SDK1.4,也稱為Java21.4版5.02004/9平台名稱J2SE5.0,產品名稱是J2SEDevelopmentKit5.0版(JDK5.0),其開發版號為JDK1.5.0SE62006/12平台名稱JavaSE6,產品名稱是JavaSEDevelopmentKit6(JDK6),其開發版號為1.6.0SE72011/07平台名稱JavaSE7,產品名稱是JavaSEDevelopmentKit7(JDK7),其開發版號為1.7.01-2-2Java語言的版本-標準版演進版本日期說明1.0281-2-2Java語言的版本-JavaSE7版JavaSE7是Jave語言的最新版本,也是甲骨文(Oracle)併購昇陽(Sun)公司後,首次發表Java平台的最新版本。JavaSE7版包含很多全新功能、增強功能與錯誤修正,可以全方面提昇開發與執行Java程式的效能。JavaSE7除了修正不少漏洞及提昇整體效能外,更提供Ruby、Python和JavaScript語言的支援,並且針對多核心環境新增全新API,和大幅提升JVM效能,和全新檔案系統API,支援非同步I/O。1-2-2Java語言的版本-JavaSE7版Java291-2-3Java程式語言-特點Java是一種簡單、功能強大、高效能和物件導向的程式語言,不只如此,Java還擁有一些傳統程式語言所沒有提供的特點,如下所示:分散式(Distributed)多執行緒(Multi-Threading)垃圾收集(GarbageCollection)例外處理(ExceptionHandling)1-2-3Java程式語言-特點Java是一種簡單、功能強301-2-3Java程式語言-分散式分散式(Distributed)Java語言最初的發展是一種網路程式語言,可以支援各種網路通訊協定,能夠建立分散式主從架構的應用程式,輕鬆存取網路上其它主機的資源。1-2-3Java程式語言-分散式分散式(Distribu311-2-3Java程式語言-多執行緒多執行緒(Multi-Threading)Java語言支援多執行緒,在同一程式能夠建立多個執行的小程式,稱為「輕量行程」(LightWeightProcess),以便執行不同的工作,並且支援同步功能,能夠避免「死結」(Deadlock)情況的發生。1-2-3Java程式語言-多執行緒多執行緒(Multi-321-2-3Java程式語言-垃圾收集垃圾收集(GarbageCollection)垃圾收集是指如何處理程式不再使用的記憶體空間,Java語言擁有垃圾收集能力,程式設計者不用擔心記憶體配置的問題,因為在執行Java程式時,自動會將不再使用的記憶體歸還給作業系統。1-2-3Java程式語言-垃圾收集垃圾收集(Garbag331-2-3Java程式語言-例外處理例外處理(ExceptionHandling)電腦程式不可能沒有「小臭蟲」(Bugs),一些小錯誤可能只會產生錯誤結果,但是有一些小錯誤可能導致嚴重的系統當機問題。Java語言的例外處理可以讓程式更加「強壯」(Robust),這算程式執行時遇到不尋常的情況,也不會造成程式「崩潰」(Crashing)或整個系統當機。1-2-3Java程式語言-例外處理例外處理(Except341-3Java語言的開發環境–說明程式語言的「開發環境」(DevelopmentEnvironment)是一組工具程式用來建立、編譯和維護程式語言建立的應用程式。一般來說,我們可以使用兩種Java開發環境來建立Java應用程式。
1-3Java語言的開發環境–說明程式語言的「開發環境」(351-3Java語言的開發環境–終端機終端機模式的開發環境對於傳統MS-DOS或UNIX、Linux系統的使用者,或稱為「終端機」(Terminals)模式,程式執行環境輸入資料和輸出資料都是「命令列模式」(Command-lineInterface),即文字模式的鍵盤輸入或單純文字內容的輸出。在終端機模式的開發環境只需安裝Java開發工具「JavaDevelopmentKit」(JDK)和設定好環境參數,然後配合vi、edit或記事本等程式碼編輯工具,就可以開發Java應用程式。1-3Java語言的開發環境–終端機終端機模式的開發環境361-3Java語言的開發環境–整合開發環境整合開發環境對於高階程式語言來說,大多擁有「整合開發環境」(IntegratedDevelopmentEnvironment,簡稱IDE),可以在同一個應用程式編輯、編譯、執行和除錯特定語言的應用程式。目前巿面上有相當多套支援Windows作業系統的Java整合開發環境,在搭配JDK後,就可以在同一工具軟體編輯、編譯和除錯Java程式。常見Java整合開發環境,如下所示:Eclipse。NetBeansIDE。BorlandJBuilder。JCreator。1-3Java語言的開發環境–整合開發環境整合開發環境371-4建立Java語言的開發環境1-4-1安裝與設定JDK1-4-2安裝與啟動EclipseIDE1-4建立Java語言的開發環境1-4-1安裝與設定J381-4-1安裝與設定JDK-說明一般來說,有些整合開發環境在安裝時就會一併安裝JDK,例如:JBuilder,不過,大部分整合開發環境需要自行安裝JDK,本書使用的版本是JDK7(JavaSEDevelopmentKit7),其下載網址為:/technetwork/java/javase/downloads/index.html1-4-1安裝與設定JDK-說明一般來說,有些整合開發環境391-4-1安裝與設定JDK-移除舊版JDK移除舊版JDK如果在Windows電腦已經安裝舊版JDK,基於安全性考量,建議移除舊版JDK,如下圖所示:1-4-1安裝與設定JDK-移除舊版JDK移除舊版JDK401-4-1安裝與設定JDK-安裝JDK7安裝JDK7JDK7更新版本並不是使用「.」後的次版號來表示,而是改為更新Update來標示,以本書為例是使用JDK7Update10,其下載Windows版JDK的檔名為【jdk-7u10-windows-i586.exe】;64位元是【jdk-7u10-windows-x64.exe】後,我們只需執行此檔案就可以安裝JDK7。1-4-1安裝與設定JDK-安裝JDK7安裝JDK7411-4-1安裝與設定JDK-設定JDK設定JDK設定JDK就是在Windows作業系統新增環境變數Path的搜尋路徑「C:\ProgramFiles\Java\jdk1.7.0_10\bin」,其中「C:\ProgramFiles\Java\jdk1.7.0_10\」是JDK安裝路徑。
1-4-1安裝與設定JDK-設定JDK設定JDK421-4-2安裝與啟動EclipseIDE-說明EclipseIDE原為IBM公司發起的開發專案,其目的是開發一套免費且開放原始碼的整合開發環境,支援多種程式語言的應用程式開發,例如:Java、JavaScript和C/C++等語言。EclipseIDE需要安裝JRE才能執行,其下載網址為:/downloads/因為我們是安裝JavaSE,請選【EclipseIDEforJavaDevelopers】後的下載連結【Windows32Bit】,即可下載最新版的EclipseIDE。1-4-2安裝與啟動EclipseIDE-說明Eclip431-4-2安裝與啟動EclipseIDE-安裝以本書為例是使用EclipseJUNO4.2版SR1,64位元的下載檔名為ZIP格式壓縮檔【eclipse-java-juno-SR1-win32-x86_64.zip】,因為EclipseIDE並沒有安裝程式,我們只需解壓縮至指定資料夾,例如:「C:\Java_IDE\eclipse」,和建立捷徑即可完成安裝,如右圖所示:
1-4-2安裝與啟動EclipseIDE-安裝以本書為例441-4-2安裝與啟動EclipseIDE-啟動在安裝EclipseIDE和建立桌面捷徑後,我們就可以啟動EclipseIDE,請按二下上述建立的桌面捷徑來啟動EclipseIDE,稍等一下,可以看到「WorkspaceLanucher」選取工作空間對話方塊。選擇工作空間(Workspace,這是包含專案和設定檔案的資料夾),請按【Browse】鈕選擇本書預設的範例目錄「C:\JavaEx\Ch02」,按【OK】鈕,稍等一下,可以看到EclipseIDE整合開發環境,顯示Welcome歡迎頁面。1-4-2安裝與啟動EclipseIDE-啟動在安裝Ec451-4-2安裝與啟動EclipseIDE-圖例1-4-2安裝與啟動EclipseIDE-圖例46程式语言世代课件47程式語言與Java的基礎1-1程式語言的基礎1-2Java的基礎1-3Java語言的開發環境1-4建立Java語言的開發環境1程式語言與Java的基礎1-1程式語言的基礎1481-1程式語言的基礎1-1-1程式、軟體與應用程式1-1-2程式語言的種類1-1-3低階語言1-1-4高階語言1-1-5程式是如何執行1-1程式語言的基礎1-1-1程式、軟體與應用程式491-1程式語言的基礎「程式語言」(ProgrammingLanguages)如同人與人之間溝通的語言,它是人類告訴電腦如何工作的一種語言,即人類與電腦之間進行溝通的語言。以技術角度來說,程式語言是一種將執行指令傳達給電腦的標準通訊技術。1-1程式語言的基礎「程式語言」(Programming501-1-1程式、軟體與應用程式-程式「程式」(Programs)是使用指定程式語言所撰寫沒有混淆文字、數字和鍵盤符號組成的特殊符號,這些符號組合成指令和敘述,再進一步編寫成程式碼,程式碼可以告訴電腦解決指定問題的步驟。簡單的說,程式就像是一個轉換器,當從電腦鍵盤或滑鼠取得輸入資料後,執行程式就可以將資料轉換成有用的資訊,如下圖所示:
1-1-1程式、軟體與應用程式-程式「程式」(Progra511-1-1程式、軟體與應用程式-軟體與應用程式「軟體」(Softwares)是一種電腦執行的應用程式或作業系統,通常軟體是一個或多個程式的泛稱,或整套應用程式。「應用程式」(Applications)是一種處理指定工作的電腦程式,例如:數學計算分析、文書處理、試算表和程式語言整合開發工具等。1-1-1程式、軟體與應用程式-軟體與應用程式「軟體」(S521-1-2程式語言的種類-說明程式語言隨著電腦科技的進步,已經延伸出龐大的族群。在程式語言的分類上,使用發展世代來區分可以分為五世代,如下表所示:
世代程式語言第一世代機器語言(MachineLanguages)第二世代組合語言(AssemblyLanguages)第三世代高階語言(HighLevelLanguages)第四世代應用程式產生的語言(Application-GenerationLanguages)或查詢語言(QueryLanguages)第五世代邏輯導向語言(Logic-OrientedLanguages)1-1-2程式語言的種類-說明程式語言隨著電腦科技的進步,531-1-3低階語言-說明低階語言(LowLevelLanguages)是一種偏向電腦容易了解的程式語言,簡單的說,它是電腦看得懂的程式語言。所以執行效率高,但是使用者並不易學習。主要的低階語言有兩種:機器語言。組合語言。1-1-3低階語言-說明低階語言(LowLevelLa541-1-3低階語言-機器語言機器語言(MachineLanguage)機器語言的程式是使用0和1二進位來表示的程式碼,電腦可以直接執行機器語言的程式碼,所以執行效率最高,如下所示:011100010000111110011101101100011-1-3低階語言-機器語言機器語言(MachineLa551-1-3低階語言-組合語言組合語言(AssemblyLanguage)組合語言是使用簡單符號的指令集來代表機器語言0和1表示的二進位程式碼。其建立的程式碼只需使用「組譯程式」(Assemblers)就可以轉換成機器語言,然後在電腦上執行。組合語言是一種十分接近機器語言的程式語言,如下所示:MOVAX01MOVBX02ADDAXBX1-1-3低階語言-組合語言組合語言(AssemblyL561-1-4高階語言-說明高階語言(HighLevelLanguages)是一種接近人類語言的程式語言,或稱為半英文(Half-english)的程式語言。因為電腦不能馬上看的懂,所以需要進一步翻譯,在轉換成機器語言後,其轉換的程式碼通常比直接使用機器語言撰寫的冗長,所以效率較低,但是非常適合使用者學習。目前常見的高階語言有:BASIC、C/C++、C#、Java、FORTRAN、COBOL和Pascal等。1-1-4高階語言-說明高階語言(HighLevelL571-1-4高階語言-編譯語言編譯程式(Compilers)C/C++等程式語言屬於編譯語言,編譯程式需要檢查完整個程式檔案的程式碼,在完全沒有錯誤的情況下,才會翻譯成機器語言的程式檔案,其主要功能有兩項,如下所示:檢查程式錯誤。將程式翻譯成機器語言的程式檔案。1-1-4高階語言-編譯語言編譯程式(Compilers)581-1-4高階語言-直譯語言直譯程式(Interpreters)早期BASIC語言(例如:BASICA、QuickBasic等)和目前網頁技術的「腳本」(Scripts)語言,例如:VBScript和JavaScript都屬於直譯語言。直譯程式在處理程式碼時,並不會輸出可執行檔案,而是直接一個指令一個動作,一列一列的執行程式碼,相對的,其執行效率低,但是非常適合在系統開發階段的程式除錯。1-1-4高階語言-直譯語言直譯程式(Interprete591-1-5程式是如何執行-說明程式在電腦實際執行的過程對於高階程式語言來說,例如:BASIC或PASCAL等並非十分重要。不過,對電腦執行程式有一定的認識,在設計程式時仍然有十分大的助益。不論使用高階或低階程式語言,其建立的程式最後都會編譯成電腦看的懂的機器語言,這些指令是CPU支援的「指令集」(InstructionSet)。不同CPU支援不同的指令集,換句話說,雖然高階語言有很多種,但是CPU只懂一種語言,也就是其能執行的機器語言。1-1-5程式是如何執行-說明程式在電腦實際執行的過程對於601-1-5程式是如何執行-圖例1-1-5程式是如何執行-圖例611-1-5程式是如何執行-執行程式CPU執行機器語言程式是依序將儲存在記憶體的機器語言指令「取出和執行」(Fetch-and-execute)。簡單的說,CPU就是從記憶體取出指令,然後執行此指令,取出下一個指令,再執行它。CPU執行程式的方式,如下所示:電腦的主記憶體儲存機器語言的程式碼和資料。CPU從記憶體依序取出一個個機器語言指令,然後執行它,CPU並非真正了解機器語言在作什麼?這只是CPU的例行工作,依序執行機器語言指令。1-1-5程式是如何執行-執行程式CPU執行機器語言程式是621-1-5程式是如何執行-中央處理器電腦CPU提供實際運算功能,個人電腦都是使用單晶片的「IC」(IntegratedCircuit),其主要的功能是使用「ALU」(ArithmeticandLogicUnit)的邏輯電路進行運算,以便執行機器語言的指令。在CPU擁有很多組「暫存器」(Registers),暫存器是位在CPU中的記憶體,可以暫時儲存資料或機器語言指令,例如:執行加法指令需要2個運算元,這兩個運算元資料就是儲存在暫存器。1-1-5程式是如何執行-中央處理器電腦CPU提供實際運算631-1-5程式是如何執行-記憶體(說明)當我們執行程式時,作業系統可以將儲存在硬碟或軟碟的執行檔案載入電腦主記憶體(MainMemory),這就是CPU執行的機器語言指令,CPU從記憶體依序載入指令和執行。事實上,程式碼本身和使用的資料都是儲存在RAM(RandomAccessMemory),每一個儲存單位有數字編號稱為「位址」(Address)。如同大樓信箱,門牌號碼是位址,信箱內容是程式碼或資料,儲存資料佔用的記憶體空間大小,需視使用的資料型態而定。1-1-5程式是如何執行-記憶體(說明)當我們執行程式時,641-1-5程式是如何執行-記憶體(存取)電腦CPU中央處理器存取記憶體資料的主要步驟,如下所示:Step1:送出讀寫的記憶體位址:當CPU讀取程式碼或資料時,需要送出欲取得的記憶體位址,例如:記憶體位址4。Step2:讀寫記憶體儲存的資料:CPU可以從指定位址讀取記憶體內容,例如,位址4的內容是01010101,換句話說,取得資料是01010101的二進位值,每一個0或1是一個「位元」(Bit),8個位元稱為「位元組」(Byte),這是電腦記憶體的最小儲存單位。1-1-5程式是如何執行-記憶體(存取)電腦CPU中央處理651-1-5程式是如何執行-輸入/輸出裝置電腦的輸入/輸出裝置(Input/OutputDevices)是程式的窗口,可以讓使用者輸入資料和顯示程式的執行結果。目前而言,電腦最常用的輸入裝置是鍵盤和滑鼠;輸出裝置是螢幕和列表機。1-1-5程式是如何執行-輸入/輸出裝置電腦的輸入/輸出裝661-1-5程式是如何執行-次儲存裝置次儲存裝置(SecondaryStorageUnit)是一種能夠長時間和提供高容量儲存資料的裝置。電腦程式與資料是在載入記憶體後,才依序讓CPU來執行,不過,在此之前這些程式與資料是儲存在次儲存裝置,例如:硬碟機。當我們在Windows作業系統使用【記事本】編輯Java程式碼時,這些資料只是暫時儲存在電腦的主記憶體,因為主記憶體在關閉電源後,其儲存的資料就會消失,為了長時間儲存這些資料,我們需要將它儲存在電腦的次儲存裝置,即儲存在硬碟中的程式碼檔案。1-1-5程式是如何執行-次儲存裝置次儲存裝置(Secon671-2Java的基礎1-2-1Java平台1-2-2Java語言的版本1-2-3Java程式語言的特點1-2Java的基礎1-2-1Java平台681-2Java的基礎「Java」(爪哇)比起傳統程式語言C/C++、PASCAL和BASIC語言來說,算是一種很新的電腦語言,它是一種類似C++語言的編譯式語言,不過並不完全相同,因為它是結合編譯和直譯優點的程式語言。1-2Java的基礎「Java」(爪哇)比起傳統程式語言C691-2-1Java平台-說明「平台」(Platform)是一種結合硬體和軟體的執行環境,簡單的說,Java程式是在平台上執行,因為Java屬於一種與硬體無關和跨平台的程式語言,所以Java平台是一種軟體平台,主要是由JVM和JavaAPI兩個元件所組成。1-2-1Java平台-說明「平台」(Platform)是701-2-1Java平台-JVM虛擬機器(說明)「JVM」(JavaVirtualMachine)虛擬機器是一台軟體的虛擬電腦,Java原始程式碼並不是使用Java編譯程式(JavaCompiler)編譯成其安裝實體電腦可執行的機器語言,而是JVM虛擬機器的機器語言,稱為「位元組碼」(Bytecode)。位元組碼是一種可以在JVM執行的程式,換句話說,電腦作業系統需要安裝有JVM,才可以使用Java直譯程式(JavaInterpreter)來直譯和執行位元組碼。1-2-1Java平台-JVM虛擬機器(說明)「JVM」(711-2-1Java平台-JVM虛擬機器(圖例)Java原始程式碼(副檔名.java)在編譯成位元組碼(副檔名.class)後,即可在Windows、UNIX或Machintosh的MacOS作業系統上執行。1-2-1Java平台-JVM虛擬機器(圖例)Java原始721-2-1Java平台-JavaAPIJavaAPI(JavaApplicationProgrammingInterface)是軟體元件的集合,也就是在C/C++語言所謂的函數庫,提供集合物件、GUI元件、檔案處理、資料庫存取和網路等相關的類別和介面,稱為「套件」(Packages)。1-2-1Java平台-JavaAPIJavaAPI(731-2-2Java語言的版本-標準版演進版本日期說明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),產品名稱是SoftwareDevelopmentKit1.3版(SDK1.3),也稱為Java21.3版1.42002/2平台名稱J2SE,產品名稱是SDK1.4,也稱為Java21.4版5.02004/9平台名稱J2SE5.0,產品名稱是J2SEDevelopmentKit5.0版(JDK5.0),其開發版號為JDK1.5.0SE62006/12平台名稱JavaSE6,產品名稱是JavaSEDevelopmentKit6(JDK6),其開發版號為1.6.0SE72011/07平台名稱JavaSE7,產品名稱是JavaSEDevelopmentKit7(JDK7),其開發版號為1.7.01-2-2Java語言的版本-標準版演進版本日期說明1.0741-2-2Java語言的版本-JavaSE7版JavaSE7是Jave語言的最新版本,也是甲骨文(Oracle)併購昇陽(Sun)公司後,首次發表Java平台的最新版本。JavaSE7版包含很多全新功能、增強功能與錯誤修正,可以全方面提昇開發與執行Java程式的效能。JavaSE7除了修正不少漏洞及提昇整體效能外,更提供Ruby、Python和JavaScript語言的支援,並且針對多核心環境新增全新API,和大幅提升JVM效能,和全新檔案系統API,支援非同步I/O。1-2-2Java語言的版本-JavaSE7版Java751-2-3Java程式語言-特點Java是一種簡單、功能強大、高效能和物件導向的程式語言,不只如此,Java還擁有一些傳統程式語言所沒有提供的特點,如下所示:分散式(Distributed)多執行緒(Multi-Threading)垃圾收集(GarbageCollection)例外處理(ExceptionHandling)1-2-3Java程式語言-特點Java是一種簡單、功能強761-2-3Java程式語言-分散式分散式(Distributed)Java語言最初的發展是一種網路程式語言,可以支援各種網路通訊協定,能夠建立分散式主從架構的應用程式,輕鬆存取網路上其它主機的資源。1-2-3Java程式語言-分散式分散式(Distribu771-2-3Java程式語言-多執行緒多執行緒(Multi-Threading)Java語言支援多執行緒,在同一程式能夠建立多個執行的小程式,稱為「輕量行程」(LightWeightProcess),以便執行不同的工作,並且支援同步功能,能夠避免「死結」(Deadlock)情況的發生。1-2-3Java程式語言-多執行緒多執行緒(Multi-781-2-3Java程式語言-垃圾收集垃圾收集(GarbageCollection)垃圾收集是指如何處理程式不再使用的記憶體空間,Java語言擁有垃圾收集能力,程式設計者不用擔心記憶體配置的問題,因為在執行Java程式時,自動會將不再使用的記憶體歸還給作業系統。1-2-3Java程式語言-垃圾收集垃圾收集(Garbag791-2-3Java程式語言-例外處理例外處理(ExceptionHandling)電腦程式不可能沒有「小臭蟲」(Bugs),一些小錯誤可能只會產生錯誤結果,但是有一些小錯誤可能導致嚴重的系統當機問題。Java語言的例外處理可以讓程式更加「強壯」(Robust),這算程式執行時遇到不尋常的情況,也不會造成程式「崩潰」(Crashing)或整個系統當機。1-2-3Java程式語言-例外處理例外處理(Except801-3Java語言的開發環境–說明程式語言的「開發環境」(DevelopmentEnvironment)是一組工具程式用來建立、編譯和維護程式語言建立的應用程式。一般來說,我們可以使用兩種Java開發環境來建立Java應用程式。
1-3Java語言的開發環境–說明程式語言的「開發環境」(811-3Java語言的開發環境–終端機終端機模式的開發環境對於傳統MS-DOS或UNIX、Linux系統的使用者,或稱為「終端機」(Terminals)模式,程式執行環境輸入資料和輸出資料都是「命令列模式」(Command-lineInterface),即文字模式的鍵盤輸入或單純文字內容的輸出。在終端機模式的開發環境只需安裝Java開發工具「JavaDevelopmentKit」(JDK)和設定好環境參數,然後配合vi、edit或記事本等程式碼編輯工具,就可以開發Java應用程式。1-3Java語言的開發環境–終端機終端機模式的開發環境821-3Java語言的開發環境–整合開發環境整合開發環境對於高階程式語言來說,大多擁有「整合開發環境」(IntegratedDevelopmentEnvironment,簡稱IDE),可以在同一個應用程式編輯、編譯、執行和除錯特定語言的應用程式。目前巿面上有相當多套支援Win
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉首大学《PLC原理与应用》2021-2022学年期末试卷
- 《机床电气控制与PLC》期末试卷-A卷及答案
- 吉林艺术学院《戏曲采风》2021-2022学年第一学期期末试卷
- 吉林艺术学院《流行音乐史Ⅰ》2021-2022学年第一学期期末试卷
- 2024年供应商招商协议书模板
- 农村木地板转让协议书范文范本
- 吉林师范大学《影视特效合成艺术》2021-2022学年第一学期期末试卷
- 2022年黑龙江省公务员录用考试《行测》真题及答案解析
- 吉林艺术学院《建筑速写》2021-2022学年第一学期期末试卷
- 2024年大白涂料购买合同范本
- 第16讲 国家出路的探索与挽救民族危亡的斗争 课件高三统编版(2019)必修中外历史纲要上一轮复习
- 北京市人民大学附属中学2025届高二生物第一学期期末学业水平测试试题含解析
- 2024年时事政治考点大全(173条)
- 书籍小兵张嘎课件
- 生鲜猪肉销售合同模板
- 2024年经济师考试-中级经济师考试近5年真题集锦(频考类试题)带答案
- 2024年黑龙江哈尔滨市通河县所属事业单位招聘74人(第二批)易考易错模拟试题(共500题)试卷后附参考答案
- 私募基金管理人-廉洁从业管理准则
- 医疗器械质量方针和目标管理制度
- 房地产估价机构内部管理制度
- 北京市城管执法行政处罚裁量区域分类管理台帐
评论
0/150
提交评论