《第1章程式语言与Java的基础课件.ppt》由会员分享,可在线阅读,更多相关《第1章程式语言与Java的基础课件.ppt(48页珍藏版)》请在三一办公上搜索。
1、第1章 程式語言與Java的基礎,1-1 程式語言的基礎1-2 Java的基礎1-3 Java開發環境的建立,1,第1章 程式語言與Java的基礎1-1 程式語言的基礎1,1-1 程式語言的基礎,1-1-1 程式、軟體與應用程式1-1-2 程式語言的種類1-1-3 程式是如何執行,2,1-1 程式語言的基礎1-1-1 程式、軟體與應用程式2,1-1 程式語言的基礎,程式語言(Programming Languages)如同人與人之間溝通的語言,它是人類告訴電腦如何工作的一種語言,即人類與電腦之間進行溝通的語言。以技術角度來說,程式語言是一種將執行指令傳達給電腦的標準通訊技術。,3,1-1 程式
2、語言的基礎程式語言(Programming,1-1-1 程式、軟體與應用程式-程式,程式(Programs)是使用指定程式語言所撰寫沒有混淆文字、數字和鍵盤符號組成的特殊符號,這些符號組合成指令和敘述,再進一步編寫成程式碼,程式碼可以告訴電腦解決指定問題的步驟。簡單的說,程式就像是一個轉換器,當從電腦鍵盤或滑鼠取得輸入資料後,執行程式就可以將資料轉換成有用的資訊,如下圖所示:,4,1-1-1 程式、軟體與應用程式-程式程式(Progra,1-1-1 程式、軟體與應用程式-軟體與應用程式,軟體(Softwares)是一種電腦執行的應用程式或作業系統,通常軟體是一個或多個程式的泛稱,或整套應用程式
3、。應用程式(Applications)是一種處理指定工作的電腦程式,例如:數學計算分析、文書處理、試算表和程式語言整合開發工具等。,5,1-1-1 程式、軟體與應用程式-軟體與應用程式軟體(S,1-1-1 程式、軟體與應用程式-主控台與視窗應用程式,視窗應用程式(Windows Applications)是使用GUI(Graphic User Interface)圖形介面來輸入與輸出資料,通常我們是使用滑鼠來操作視窗應用程式的執行,屬於一種更人性化使用者介面的應用程式。早期DOS時代或UNIX/Linux系統的主控台應用程式(Console Applications),使用者是在終端機(Ter
4、minals)執行應用程式,其使用介面都是文字模式的鍵盤輸入,或單純文字內容的輸出結果,稱為命令列模式(Command-line Interface)。,6,1-1-1 程式、軟體與應用程式-主控台與視窗應用程式視窗應,1-1-2 程式語言的種類-說明,程式語言隨著電腦科技的進步,已經延伸出龐大的族群。在程式語言的分類上,以發展世代來區分可以分為五世代,如下表所示:,7,1-1-2 程式語言的種類-說明程式語言隨著電腦科技的進步,,1-1-2 程式語言的種類-低階語言(說明),低階語言(Low Level Languages)是一種偏向電腦容易了解的程式語言,簡單的說,它是電腦看得懂的程式語言
5、。所以執行效率高,但是使用者並不易學習。主要的低階語言有兩種:機器語言。組合語言。,8,1-1-2 程式語言的種類-低階語言(說明)低階語言(Lo,1-1-2 程式語言的種類-低階語言(機器語言),機器語言(Machine Language)機器語言的程式是使用0和1二進位來表示的程式碼,電腦可以直接執行機器語言的程式碼,所以執行效率最高,如下所示:0111 0001 0000 11111001 1101 1011 0001,9,1-1-2 程式語言的種類-低階語言(機器語言)機器語言(,1-1-2 程式語言的種類-低階語言(組合語言),組合語言(Assembly Language)組合語言是
6、使用簡單符號的指令集來代表機器語言0和1表示的二進位程式碼。其建立的程式碼只需使用組譯程式(Assemblers)就可以轉換成機器語言,然後在電腦上執行。組合語言是一種十分接近機器語言的程式語言,如下所示:MOV AX 01MOV BX 02ADD AX BX,10,1-1-2 程式語言的種類-低階語言(組合語言)組合語言(,1-1-2 程式語言的種類-高階語言(說明),高階語言(High Level Languages)是一種接近人類語言的程式語言,或稱為半英文(Half-english)的程式語言。因為電腦並不能馬上看的懂,所以需要進一步翻譯,在轉換成機器語言後,其轉換的程式碼通常比直接使
7、用機器語言撰寫的冗長,所以效率較低,但是非常適合使用者學習。目前常見的高階語言有:BASIC、C/C+、C#、Java、FORTRAN、COBOL和Pascal等,高階語言需要進行翻譯,將程式碼轉譯成機器語言的執行檔案後,才能在電腦上執行,翻譯方式有兩種:編譯程式和直譯程式。,11,1-1-2 程式語言的種類-高階語言(說明)高階語言(Hi,1-1-2 程式語言的種類-高階語言(編譯語言),編譯程式(Compilers)C/C+等程式語言屬於編譯語言,編譯程式需要檢查完整個程式檔案的程式碼,在完全沒有錯誤的情況下,才會翻譯成機器語言的程式檔案,其主要功能有兩項,如下所示:檢查程式錯誤。將程式翻
8、譯成機器語言的程式檔案。,12,1-1-2 程式語言的種類-高階語言(編譯語言)編譯程式(,1-1-2 程式語言的種類-高階語言(直譯語言),直譯程式(Interpreters)早期BASIC語言(例如:BASICA、QuickBasic等)和目前網頁技術的腳本(Scripts)語言,例如:VBScript和JavaScript都屬於直譯語言。直譯程式在處理程式碼時,並不會輸出可執行檔案,而是直接一個指令一個動作,一列一列的執行程式碼,相對的,其執行效率低,但是非常適合在系統開發階段的程式除錯。,13,1-1-2 程式語言的種類-高階語言(直譯語言)直譯程式(,1-1-3 程式是如何執行-說明
9、,程式在電腦實際執行的過程對於高階程式語言來說,例如:BASIC或PASCAL等並非十分重要。不過,對電腦執行程式有一定的認識,在設計程式時仍然有十分大的助益。不論使用高階或低階程式語言,其建立的程式最後都會編譯成電腦看的懂的機器語言,這些指令是CPU支援的指令集(Instruction Set)。不同CPU支援不同的指令集,換句話說,雖然高階語言有很多種,但是CPU只懂一種語言,也就是其能執行的機器語言。,14,1-1-3 程式是如何執行-說明程式在電腦實際執行的過程對於,1-1-3 程式是如何執行-圖例,15,1-1-3 程式是如何執行-圖例15,1-1-3 程式是如何執行-執行程式,CP
10、U執行機器語言程式是依序將儲存在記憶體的機器語言指令取出和執行(Fetch-and-execute)。簡單的說,CPU就是從記憶體取出指令,然後執行此指令,取出下一個指令,再執行它。CPU執行程式的方式,如下所示:電腦的主記憶體儲存機器語言的程式碼和資料。CPU從記憶體依序取出一個個機器語言指令,然後執行它,CPU並非真正了解機器語言在作什麼?這只是CPU的例行工作,依序執行機器語言指令。,16,1-1-3 程式是如何執行-執行程式CPU執行機器語言程式是,1-1-3 程式是如何執行-中央處理器(CPU),電腦CPU提供實際運算功能,個人電腦都是使用單晶片的IC(Integrated Circ
11、uit),其主要的功能是使用ALU(Arithmetic and Logic Unit)的邏輯電路進行運算,以便執行機器語言的指令。在CPU擁有很多組暫存器(Registers),暫存器是位在CPU中的記憶體,可以暫時儲存資料或機器語言指令,例如:執行加法指令需要2個運算元,這兩個運算元資料就是儲存在暫存器。,17,1-1-3 程式是如何執行-中央處理器(CPU)電腦CPU提,1-1-3 程式是如何執行-記憶體(說明),當我們執行程式時,作業系統可以將儲存在硬碟或軟碟的執行檔案載入電腦主記憶體(Main Memory),這就是CPU執行的機器語言指令,CPU從記憶體依序載入指令和執行。事實上,
12、程式碼本身和使用的資料都是儲存在RAM(Random Access Memory),每一個儲存單位有數字編號稱為位址(Address)。如同大樓信箱,門牌號碼是位址,信箱內容是程式碼或資料,儲存資料佔用的記憶體空間大小,需視使用的資料型態而定。,18,1-1-3 程式是如何執行-記憶體(說明)當我們執行程式時,1-1-3 程式是如何執行-記憶體(存取),電腦CPU中央處理器存取記憶體資料的主要步驟,如下所示:Step 1:送出讀寫的記憶體位址:當CPU讀取程式碼或資料時,需要送出欲取得的記憶體位址,例如:記憶體位址4。Step 2:讀寫記憶體儲存的資料:CPU可以從指定位址讀取記憶體內容,例如
13、,位址4的內容是01010101,換句話說,取得資料是01010101的二進位值,每一個0或1是一個位元(Bit),8個位元稱為位元組(Byte),這是電腦記憶體的最小儲存單位。,19,1-1-3 程式是如何執行-記憶體(存取)電腦CPU中央處,1-1-3 程式是如何執行-輸入/輸出裝置,電腦的輸入/輸出裝置(Input/Output Devices)是程式的窗口,可以讓使用者輸入資料和顯示程式的執行結果。目前而言,電腦最常用的輸入裝置是鍵盤和滑鼠;輸出裝置是螢幕和列表機。,20,1-1-3 程式是如何執行-輸入/輸出裝置電腦的輸入/輸出裝,1-1-3 程式是如何執行-次儲存裝置,次儲存裝置(
14、Secondary Storage Unit)是一種能夠長時間和提供高容量儲存資料的裝置。電腦程式與資料是在載入記憶體後,才依序讓CPU來執行,不過,在此之前這些程式與資料是儲存在次儲存裝置,例如:硬碟機。當我們在Windows作業系統使用【記事本】編輯Java程式碼時,這些資料只是暫時儲存在電腦的主記憶體,因為主記憶體在關閉電源後,其儲存的資料就會消失,為了長時間儲存這些資料,我們需要將它儲存在電腦的次儲存裝置,即儲存在硬碟中的程式碼檔案。,21,1-1-3 程式是如何執行-次儲存裝置次儲存裝置(Secon,1-2 Java的基礎,1-2-1 Java平台1-2-2 Java語言的版本1-2
15、-3 Java程式語言的特點,22,1-2 Java的基礎1-2-1 Java平台22,1-2 Java的基礎,Java(爪哇)比起傳統程式語言C/C+、PASCAL和BASIC語言來說,算是一種很新的電腦語言,它是一種類似C+語言的編譯式語言,不過並不完全相同,因為它是結合編譯和直譯優點的程式語言。,23,1-2 Java的基礎Java(爪哇)比起傳統程式語言C,1-2-1 Java平台-說明,平台(Platform)是一種結合硬體和軟體的執行環境,簡單的說,Java程式是在平台上執行,因為Java屬於一種與硬體無關和跨平台的程式語言,所以Java平台是一種軟體平台,主要是由JVM和Java
16、 API兩個元件所組成。,24,1-2-1 Java平台-說明平台(Platform)是,1-2-1 Java平台-JVM虛擬機器(說明),JVM(Java Virtual Machine)虛擬機器是一台軟體的虛擬電腦,Java原始程式碼並不是使用Java編譯程式(Java Compiler)編譯成其安裝實體電腦可執行的機器語言,而是JVM虛擬機器的機器語言,稱為位元組碼(Bytecode)。位元組碼是一種可以在JVM執行的程式,換句話說,電腦作業系統需要安裝有JVM,才可以使用Java直譯程式(Java Interpreter)來直譯和執行位元組碼。,25,1-2-1 Java平台-JVM虛
17、擬機器(說明)JVM(,1-2-1 Java平台-JVM虛擬機器(圖例),Java原始程式碼(副檔名.java)在編譯成位元組碼(副檔名.class)後,即可在Windows、UNIX或Machintosh的Mac OS作業系統上執行。,26,1-2-1 Java平台-JVM虛擬機器(圖例)Java原始,1-2-1 Java平台-Java API,Java API(Java Application Programming Interface)是軟體元件的集合,也就是在C/C+語言所謂的函式庫,提供集合物件、GUI元件、檔案處理、資料庫存取和網路等相關的類別和介面,稱為套件(Packages),
18、詳細的說明請參閱第12章:開發大型Java應用程式 套件。,27,1-2-1 Java平台-Java APIJava API(,1-2-2 Java語言的版本-演進,Java支援Windows、Solaris、Linux和Mac OS X作業系統。標準版的版本演進如下表所示:,28,1-2-2 Java語言的版本-演進Java支援Window,1-2-2 Java語言的版本-說明,從1.3版後,平台與此平台開發工具的名稱分開,平台分為標準版(Standard Edition、SE)和企業版(Enterprise Edition、EE),企業版新增額外函式庫,主要是用來開發企業級的伺服端Java
19、應用程式。到了5.0版,Java版號也分為兩種:5.0版是產品版號(Product Version),JDK為1.5.0版,此為開發版號(Developer Version)。最新版Java SE 6是平台名稱,官方名稱已由J2SE改為Java SE,不再稱為Java 2,同時使用開發版號1.6.0和產品版號6來代表新版的Java平台。,29,1-2-2 Java語言的版本-說明從1.3版後,平台與此平,1-2-3 Java程式語言-特點,Java是一種簡單、功能強大、高效能和物件導向的程式語言,不只如此,Java還擁有一些傳統程式語言所沒有提供的特點,如下所示:分散式(Distributed
20、)多執行緒(Multi-Threading)垃圾收集(Garbage Collection)例外處理(Exception Handling),30,1-2-3 Java程式語言-特點Java是一種簡單、功能強,1-2-3 Java程式語言-分散式,分散式(Distributed)Java語言最初的發展是一種網路程式語言,可以支援各種網路通訊協定,能夠建立分散式主從架構的應用程式,輕鬆存取網路上其它主機的資源。,31,1-2-3 Java程式語言-分散式分散式(Distribu,1-2-3 Java程式語言-多執行緒,多執行緒(Multi-Threading)Java語言支援多執行緒,在同一程式
21、能夠建立多個執行的小程式,稱為輕量行程(Light Weight Process),以便執行不同的工作,並且支援同步功能,能夠避免死結(Deadlock)情況的發生。,32,1-2-3 Java程式語言-多執行緒多執行緒(Multi-,1-2-3 Java程式語言-垃圾收集,垃圾收集(Garbage Collection)垃圾收集是指如何處理程式不再使用的記憶體空間,Java語言擁有垃圾收集能力,程式設計者不用擔心記憶體配置的問題,因為在執行Java程式時,自動會將不再使用的記憶體歸還給作業系統。,33,1-2-3 Java程式語言-垃圾收集垃圾收集(Garbag,1-2-3 Java程式語言
22、-例外處理,例外處理(Exception Handling)電腦程式不可能沒有小臭蟲(Bugs),一些小錯誤可能只會產生錯誤結果,但是有一些小錯誤可能導致嚴重的系統當機問題。Java語言的例外處理可以讓程式更加強壯(Robust),這算程式執行時遇到不尋常的情況,也不會造成程式崩潰(Crashing)或整個系統當機。,34,1-2-3 Java程式語言-例外處理例外處理(Except,1-3 Java開發環境的建立,1-3-1 Java語言的開發環境1-3-2 昇陽JDK的安裝1-3-3 JDK的環境設定1-3-4 安裝JDK說明文件1-3-5 程式編輯與開發工具,35,1-3 Java開發環
23、境的建立1-3-1 Java語言的開發,1-3-1 Java語言的開發環境-說明,Java程式的開發環境需要安裝昇陽的JDK,然後配合Windows的記事本、編輯工具或整合開發環境來建立Java應用程式。程式語言的開發環境(Development Environment)是一組工具程式用來建立、編譯和維護程式語言所建立的應用程式。,36,1-3-1 Java語言的開發環境-說明Java程式的開發環,1-3-1 Java語言的開發環境-終端機模式的開發環境,對於傳統MS-DOS或UNIX、Linux系統的使用者,或稱為終端機(Terminals)模式,程式執行環境輸入資料和輸出資料都是命令列模式
24、(Command-line Interface),即文字模式的鍵盤輸入或單純文字內容的輸出。在終端機模式的開發環境只需安裝Sun的Java開發工具Java Development Kit(JDK),然後配合vi、edit或記事本等程式編輯程式碼,就可以開發Java應用程式。,37,1-3-1 Java語言的開發環境-終端機模式的開發環境對於,1-3-1 Java語言的開發環境-整合開發環境,目前高階程式語言大多擁有整合開發環境(Integrated Development Environment,簡稱IDE),在同一個應用程式就可以編輯、編譯、執行和除錯特定語言的應用程式。目前巿面上有多套支援
25、Windows作業系統的Java整合開發環境,只需配合JDK就可以在同一工具軟體編輯、編譯和除錯Java程式。,38,1-3-1 Java語言的開發環境-整合開發環境目前高階程式,1-3-1 Java語言的開發環境-常用的整合開發環境1,NetBeans IDE:NetBeans是一個開放原始碼計劃,可以建立跨平台的桌上、企業和Web應用程式,其網址:http:/beans.org/。Eclipse:開放原始碼計劃建立的程式開發平台,並不限支援Java語言,也支援C和PHP語言,其網址:http:/www.eclipse.org/。Borland JBuilder:Borland公司的Java
26、整合開發環境,分成數種版本,Turbo版可以免費下載,它是Eclipse基礎的Java整合開發環境,其網址:http:/,39,1-3-1 Java語言的開發環境-常用的整合開發環境1Ne,1-3-1 Java語言的開發環境-常用的整合開發環境2,Gel:Gexperts公司的免費整合開發環境,由Gerald Nunn使用Delphi開發支援中文使用介面的Java/JSP IDE,其網址為:http:/Edition)和Pro(Pro Edition)兩種版本,其網址:http:/。,40,1-3-1 Java語言的開發環境-常用的整合開發環境2Ge,1-3-2 昇陽JDK的安裝-說明,一般來
27、說,有些整合開發環境在安裝時就會同時安裝JDK,例如:JBuilder,不過,大部分整合開發環境需要自行安裝JDK,本書使用的是JDK 6(Java SE Development Kit 6),其下載網址為:http:/6 Update 3,其下載Windows版JDK的檔名為【jdk-6u3-windows-i586-p.exe】後,只需執行此檔案就可以安裝JDK 6。,41,1-3-2 昇陽JDK的安裝-說明一般來說,有些整合開發環境,1-3-2 昇陽JDK的安裝-圖例,42,1-3-2 昇陽JDK的安裝-圖例42,1-3-3 JDK的環境設定-說明,在安裝好JDK後,如果使用整合開發環境
28、,在安裝整合開發環境時會自動搜尋JDK安裝路徑,然後選擇使用的JDK版本即可。如果使用命令提示字元視窗以命令列指令編譯和執行Java程式,我們需要設定JDK執行環境,也就是在Windows XP新增環境變數Path的搜尋路徑C:Program FilesJavajdk1.6.0_03bin,其中C:Program FilesJavajdk1.6.0_03是JDK安裝路徑。,43,1-3-3 JDK的環境設定-說明在安裝好JDK後,如果使用,1-3-3 JDK的環境設定-圖例,JDK安裝路徑,44,1-3-3 JDK的環境設定-圖例JDK安裝路徑44,1-3-4 安裝JDK說明文件-說明,JDK
29、 6 Documentation說明文件提供Java語言的特點、新增功能和API套件的詳細說明,JDK說明文件的下載檔名為【jdk-6-doc.zip】。我們可以使用WinZIP等解壓縮工具,或JDK內建jar工具程式來解壓縮檔案,如下所示:C:Program FilesJavajdk1.6.0_03jar xvf e:Softwarejdk-6-doc.zip Enter上述指令是在命令提示字元視窗執行,可以解壓縮文件檔案,e:是光碟機代碼,例如:筆者是在JDK安裝路徑C:Program FilesJavajdk1.6.0_03解壓縮此檔案,可以看到建立的docs子資料夾。,45,1-3-4
30、 安裝JDK說明文件-說明JDK 6 Docume,1-3-4 安裝JDK說明文件-圖例,46,1-3-4 安裝JDK說明文件-圖例46,1-3-5 程式編輯與開發工具-說明,Java語言的程式碼檔案是ANSI標準的文字檔案,可以使用任何文字編輯器,例如:Windows記事本和WordPad等進行程式碼的編輯。,47,1-3-5 程式編輯與開發工具-說明Java語言的程式碼檔案,1-3-5 程式編輯與開發工具-圖例,在Windows作業系統使用記事本就可以編輯Java原始程式碼,請執行開始所有程式附屬應用程式記事本指令啟動記事本,如下圖所示:,48,1-3-5 程式編輯與開發工具-圖例在Windows作業系統,