關于我們
書單推薦
新書推薦
|
Java程序設計
本書主要介紹了Java開發(fā)環(huán)境和開發(fā)工具、Java語法基礎、程序流程控制、數(shù)組與字符串、類與對象、類的繼承與多態(tài)、抽象類與接口、異常處理、Java SE API常用類、泛型與集合、圖形用戶界面GUI、JDBC數(shù)據(jù)庫編程、多線程和網(wǎng)絡編程。
本書以Java SE7.0為基礎,注重可讀性和實用性,全面系統(tǒng)地介紹Java SE的核心技術,通過條理清晰的知識歸納和通俗易懂的實例講解,可以使學習者快速掌握Java SE的核心技術,從而使用Java解決一般問題。本書配套豐富,培訓、教學、自學均可。
前言
Java是一種完全面向?qū)ο蟮某绦蛟O計語言,具有卓越的通用性、高效性、平臺移植性和安全性,得到廣泛的應用。在全球云計算和移動互聯(lián)網(wǎng)產(chǎn)業(yè)高速發(fā)展的環(huán)境下,Java具備顯著的優(yōu)勢和廣闊前景。本書以Java SE 7.0為基礎,注重可讀性和實用性,全面、系統(tǒng)地介紹Java SE的核心技術。通過條理清晰的知識歸納和通俗易懂的實例講解,幫助學生快速掌握Java SE的核心技術,并能夠使用Java解決一般問題。
全書共分15章。第1章主要介紹Java語言的特點、運行機制和應用領域,以及Java開發(fā)環(huán)境與開發(fā)工具。第2~4章介紹Java基本語法: 標識符與關鍵字,變量,運算符與表達式,順序、選擇、循環(huán)三種流程控制,Java方法,數(shù)組與字符串。第5章主要介紹類和對象的關系、類的定義、構(gòu)造方法、成員變量和局部變量、對象的創(chuàng)建等知識點。第6章主要介紹類的繼承與多態(tài)。第7章主要介紹抽象類與接口的概念,以及包的使用。第8章探討如何解決Java的異常處理問題。第9章主要介紹Java標準程序庫中各種處理I/O操作的類的用途及使用方法。第10章介紹Java SE API文檔中一些常用類和接口的用法。第11章介紹泛型,講解常見的集合框架用法。第12章主要講述Java的圖形界面技術,包括窗口、組件和菜單設計、布局管理器等。第13章介紹Access數(shù)據(jù)庫、JDBC的概念、Java中數(shù)據(jù)庫的常用連接方式、數(shù)據(jù)庫訪問,以及數(shù)據(jù)庫的查詢、添加、更新和刪除操作。通過簡單的數(shù)據(jù)庫操作實例,介紹Java中使用JDBC訪問數(shù)據(jù)庫的編程基礎。第14章主要介紹線程的概念、創(chuàng)建、常用方法及同步等知識。第15章介紹網(wǎng)絡編程中的URL類、InetAddress類、TCP程序設計、UDP程序設計,并通過案例Echo程序加強對上述知識的應用。
本書的例題全部在JDK 1.7環(huán)境下編譯通過。
本書由廣東理工學院多年從事計算機教學的一線教師編寫,由廣東理工學院李代平教授主審了教材的內(nèi)容。其中,第1章和第5~7章由賴小平編寫;第2~4章由梁玉英編寫;第8章和第9章由向志華編寫;第10章和第11章由郭銳編寫;第12章和第13章由陳雪娟編寫;第14章和第15章由彭雄新編寫。
由于編者水平有限,書中難免有不足之處,懇請廣大師生、讀者批評、指正。
編者
2016年11月
作者:賴小平、梁玉英、向志華、陳雪娟、郭銳、彭
目錄
第1章Java語言概述001
1.1認識Java001
1.1.1什么是Java001
1.1.2Java語言的特點002
1.1.3Java程序的運行機制004
1.1.4Java語言的應用領域005
1.2Java開發(fā)環(huán)境與開發(fā)工具006
1.2.1Java開發(fā)環(huán)境006
1.2.2Java開發(fā)工具010
1.2.3Java程序開發(fā)過程013
1.3Java程序舉例015
案例1簡單控制臺應用程序015
案例2簡單GUI應用程序017
案例3Java Applet小應用程序017
本章小結(jié)019
習題019
第2章Java語法基礎020
2.1標識符與關鍵字020
2.1.1標識符020
2.1.2關鍵字020
2.1.3Java命名規(guī)范022
2.2變量024
2.2.1變量的概念024
2.2.2變量的聲明與初始化024
2.2.3變量的作用域026
2.2.4變量的分類028
2.3數(shù)據(jù)類型028
2.3.1數(shù)據(jù)類型的分類029
2.3.2基本數(shù)據(jù)類型029
2.3.3基本數(shù)據(jù)類型的轉(zhuǎn)換030Java程序設計
2.4運算符與表達式031
2.4.1表達式的概念031
2.4.2運算符的分類031
2.4.3運算符的優(yōu)先級與結(jié)合性038
2.5Java程序舉例039
案例簡易計算器039
本章小結(jié)039
習題040
第3章Java程序流程控制042
3.1程序基本控制結(jié)構(gòu)042
3.2選擇結(jié)構(gòu)042
3.2.1if選擇結(jié)構(gòu)042
3.2.2ifelse選擇結(jié)構(gòu)043
3.2.3多重if選擇結(jié)構(gòu)044
3.2.4嵌套if選擇結(jié)構(gòu)045
3.2.5switch選擇結(jié)構(gòu)046
3.3循環(huán)結(jié)構(gòu)047
3.3.1while語句048
3.3.2dowhile語句049
3.3.3for語句050
3.3.4break語句和continue語句052
3.3.5多重循環(huán)054
3.4Java方法055
3.4.1方法的定義055
3.4.2方法的重載058
3.4.3方法的參數(shù)059
3.5應用實例060
案例猜數(shù)游戲060
本章小結(jié)061
習題062
第4章數(shù)組與字符串066
4.1數(shù)組的概念066
4.2一維數(shù)組067
4.2.1一維數(shù)組的聲明067
4.2.2一維數(shù)組的初始化068
4.2.3一維數(shù)組的引用069
4.3二維數(shù)組070
4.3.1二維數(shù)組的聲明070
4.3.2二維數(shù)組的初始化071
4.3.3二維數(shù)組的引用072
4.4數(shù)組操作常用方法073
4.4.1數(shù)組遍歷073
4.4.2數(shù)組復制074
4.4.3數(shù)組排序076
4.5字符串077
4.5.1String類077
4.5.2StringBuffer類082
4.5.3StringBuilder類085
4.5.4String類、StringBuffer類和StringBuilder類的使用和區(qū)別085
4.6正則表達式087
4.7應用實例091
案例超級大樂透彩票開獎091
本章小結(jié)093
習題093
第5章類與對象097
5.1面向?qū)ο蟪绦蛟O計概述097
5.1.1面向過程與面向?qū)ο?97
5.1.2面向?qū)ο蟪绦蛟O計的特征098
5.2類的定義與對象的創(chuàng)建100
5.2.1類與對象的關系100
5.2.2類的定義101
5.2.3構(gòu)造方法104
5.2.4成員變量與局部變量105
5.2.5對象的創(chuàng)建106
5.2.6訪問控制修飾符109
5.2.7關鍵字this110
5.2.8關鍵字static112
5.3應用實例113
案例1人類的定義與使用113
案例2飲料自動售貨機116
本章小結(jié)120
習題120
第6章類的繼承與多態(tài)124
6.1類的繼承124
6.1.1繼承與派生124
6.1.2繼承的說明126
6.1.3super關鍵字128
6.1.4final關鍵字130
6.2多態(tài)性131
6.2.1多態(tài)性的概念131
6.2.2對象變量多態(tài)性132
6.2.3方法多態(tài)性135
6.3應用實例136
案例1圖形類的派生136
案例2動物多態(tài)性140
本章小結(jié)143
習題143
第7章抽象類與接口145
7.1抽象類145
7.1.1抽象類與抽象方法145
7.1.2抽象類與*終類147
7.2接口148
7.2.1接口的概念148
7.2.2接口的定義與實現(xiàn)149
7.2.3接口的多態(tài)153
7.2.4接口的繼承154
7.3包155
7.3.1Java系統(tǒng)API包155
7.3.2包的定義156
7.3.3編譯與執(zhí)行帶包的類157
7.3.4引入包159
7.4應用實例161
案例手機接口的定義與實現(xiàn)161
本章小結(jié)163
習題164
第章 1 Java語言概述 Java是一門面向?qū)ο蟮某绦蛟O計語言。本章首先介紹Java的發(fā)展歷程,讓讀者對Java有基本的認識,了解Java的特點和運行機制;然后詳細講解Java開發(fā)環(huán)境的搭建和開發(fā)流程,包括一些基本的注意事項。 通過本章的學習,達到以下目標。 認識Java,并了解其發(fā)展歷程。 熟悉Java語言的特點及應用領域。 掌握安裝并配置Java開發(fā)環(huán)境的方法。 掌握Java中Path及classpath屬性的作用。 能夠編寫并運行一個簡單的Java程序。 掌握Java的開發(fā)流程。 了解常用的Java開發(fā)工具。 1.1認識Java〖*2〗1.1.1什么是Java在認識Java之前,先了解幾個基本概念。 1. 軟件開發(fā) 軟件開發(fā)是根據(jù)用戶要求建造軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)是一項包括需求捕捉、需求分析、設計、實現(xiàn)和測試的系統(tǒng)工程。軟件是一系列按照特定順序組織的計算機數(shù)據(jù)和指令的集合,分為系統(tǒng)軟件和應用軟件。軟件一般使用某種程序設計語言來實現(xiàn),通常采用相應的開發(fā)工具進行開發(fā)。 開發(fā)出來的軟件系統(tǒng)可以幫助人們解決和處理各種問題,必然產(chǎn)生人機交互。人機交互方式有兩種: 圖形化界面(Graphical User Interface,GUI)和命令行方式(Command Line Interface,CLI)。*種方式簡單直觀,用戶易于接受,容易上手操作,如Windows操作系統(tǒng);第二種方式需要一個控制臺,用戶輸入特定的指令,讓計算機完成操作,較為麻煩,需要用戶記住一些命令,如DOS操作系統(tǒng)。 2. 計算機語言 語言是人與人之間用于溝通的一種方式。例如,中國人與中國人用普通話溝通;中國人要和英國人交流,需要學習英語。計算機語言是人與計算機交流的方式。如果人要與計算機交流,需要學習計算機語言。計算機語言有很多種,如C、C++、Java、PHP等。Java程序設計 00第1章 Java語言概述 00Java是Sun公司(全稱Stanford University Network,1982年成立。2009年4月20日,被甲骨文公司以約74億美元收購)開發(fā)的一套編程語言,主設計者是James Gosling(見圖11),*早來源于一個叫Green的項目。這個項目*初的目的是為家用電子消費產(chǎn)品開發(fā)一個小巧、易用、安全穩(wěn)定、與平臺無關的分布式代碼系統(tǒng),以便通過網(wǎng)絡對家用電器進行控制。一開始,Sun公司的工程師們準備采用C++語言來開發(fā),但由于C++過于復雜,安全性差,于是他們決定基于C++開發(fā)一種符合自己要求的新語言。1991年4月,歷時18個月,新語言的*個版本誕生了。命名時, James Gosling看到窗口的橡樹(見圖12),遂為其取名為Oak,希望它能夠有橡樹一般堅強的生命力。后來,他發(fā)現(xiàn)“Oak”是Sun公司另外一種語言的注冊商標,于是1995年將這種新語言更名為“Java”,即太平洋上一個盛產(chǎn)咖啡的島嶼的名字。Java是一種用于網(wǎng)絡的,精巧而安全的語言,使得程序能夠*大限度地利用網(wǎng)絡資源。 圖11James Gosling 圖12印度橡樹 Java語言發(fā)展到今天,有過多個版本。1995年5月23日,Sun公司推出Java JDK 1.0版,標志著Java正式進軍Internet。1998年,Sun公司對JDK 1.0升級,并推出JDK 1.2的開發(fā)包,加入大量的輕量級組件包。從此,Java正式命名為Java 2。 Java語言經(jīng)歷了以下3個發(fā)展方向。 (1) J2SE(Java 2 Platform Standard Edition): 包含構(gòu)成Java語言核心的類,如數(shù)據(jù)庫連接、接口定義、輸入/輸出和網(wǎng)絡編程,主要用于開發(fā)一般個人電腦上的應用軟件。 (2) J2ME(Java 2 Platform Micro Edition): 包含J2SE中的一部分類,用于消費類電子產(chǎn)品的軟件開發(fā),如呼機、智能卡、手機、PDA和機頂盒。 (3) J2EE(Java 2 Platform Enterprise Edition): 即Java企業(yè)版,包含J2SE中的所有類,還包含用于開發(fā)企業(yè)級應用的類,如EJB、Servlet、JSP、XML和事務控制,也是現(xiàn)在Java應用的主要方向,用于開發(fā)企業(yè)級應用軟件。 上述3項中的核心部分是J2SE,J2ME和J2EE是在J2SE基礎上發(fā)展起來的。 【注】 在2005年“Java十周年大會”之后,上述3門技術被重新命名。 (1) J2SE更名為Java SE。 (2) J2ME更名為Java ME。 (3) J2EE更名為Java EE。 1.1.2Java語言的特點 Java總是和C++聯(lián)系在一起,而C++是從C語言派生而來的,所以Java語言繼承了這兩種語言的大部分特性。Java的語法從C語言繼承而來,Java許多面向?qū)ο蟮奶匦远际艿紺++的影響。事實上,Java中的幾個自定義特性都來自于或可以追溯到它的這些前驅(qū)語言。略有不同的是,Java語言完全面向?qū)ο螅饤壛薈和C++的不足。Java語言的誕生與過去近30年中計算機語言的不斷改進和發(fā)展密切相關。 Sun公司在《Java白皮書》中對Java的定義是: “Java: A simple, objectoriented, distributed,interpreted,robust,architectureneutral,secure,portable,highperformance,multithreaded,and dynamic language.”即Java是一種具有簡單、面向?qū)ο、分布式、解釋型、健壯、安全、與體系結(jié)構(gòu)無關、可移植、高性能、多線程和動態(tài)執(zhí)行等特性的語言。下面簡述Java的主要特性。 1. 簡單易用 Java語言是一種相當簡潔的面向?qū)ο蟪绦蛟O計語言,它省略了C++語言中所有難以理解、容易混淆的特性,如頭文件、指針、結(jié)構(gòu)、單元、運算符重載和虛擬基礎類等,更加嚴謹、簡潔。 Java源代碼的書寫不拘泥于特定的環(huán)境,可以使用記事本、文本編輯器等;將源文件編譯后,可直接運行;再通過調(diào)試,得到預期的結(jié)果。 此外,Java可以自動完成垃圾收集工作,回收不再使用的內(nèi)存,使用戶無須擔心內(nèi)存管理之類的事情。 2. 面向?qū)ο? 面向?qū)ο笫侵敢詫ο鬄榛玖6,其下包含屬性和方法。對象的說明用屬性表達,通過使用方法來操作這個對象?梢赃@么說,面向?qū)ο笫擒浖こ虒W的一次革命,大大提升了人類的軟件開發(fā)能力,是一個偉大的進步,是軟件發(fā)展重大的里程碑。作為一種現(xiàn)代編程語言,是不能偏離面向?qū)ο筮@一方向的,Java語言也不例外。 Java是一種面向?qū)ο蟮恼Z言,具有面向?qū)ο蟮闹T多優(yōu)點,如代碼擴展、代碼復用等。 3. 分布式 Java語言具有強大的、易于使用的聯(lián)網(wǎng)能力,非常適合開發(fā)分布式計算的程序。Java應用程序可以像訪問本地文件系統(tǒng)那樣通過URL訪問遠程對象。 使用Java語言編寫Socket通信程序比使用其他任何語言都簡單。它適用于公共網(wǎng)關接口(CGI)腳本的開發(fā),還可以利用Java小應用程序(Applet)、Java服務器頁面(Java Server Page,JSP)、Servlet等手段構(gòu)建更豐富的網(wǎng)頁。 4. 解釋型 Java是一種解釋型語言,相對于C/C++,用Java語言寫出來的程序效率低,執(zhí)行速度慢。但它可以通過在不同平臺上運行Java解釋器,解釋Java代碼,實現(xiàn)“一次編寫,到處運行”的目標。為此,犧牲效率是值得的。而且,現(xiàn)在的計算機技術日新月異,運算速度越來越快,用戶不會感到太慢。 5. 健壯 Java語言在偽編譯時做了許多早期潛在問題的檢查,在運行時又做了一些相應的檢查,可以說是一種*嚴格的編譯器。它的這種“防患于未然”的手段將許多程序中的錯誤扼殺在“搖籃”之中,使得許多在其他語言中必須通過運行才會暴露出來的錯誤,在編譯階段就被發(fā)現(xiàn)了。 另外,Java語言具備保證程序穩(wěn)定、健壯的特性,有效地減少了錯誤,使Java應用程序更加健壯。 6. 具有較高的安全性 人們設計Java語言時,在安全性方面考慮得很仔細,做了許多探究,使其成為目前*安全的一種程序設計語言。 對Java來說,安全性分為4個層面,即語言級安全性、編譯時安全性、運行時安全性和可執(zhí)行代碼安全性。語言級安全性指Java的數(shù)據(jù)結(jié)構(gòu)是完整的對象,這些封裝過的數(shù)據(jù)類型具有安全性。編譯時,要進行Java語言和語義的檢查,保證每個變量對應一個值,編譯后生成Java類。運行時,Java類需要使用類加載器載入,由字節(jié)碼校驗器校驗之后才可以運行。Java類在網(wǎng)絡上使用時,對其權限進行了設置,以保證被訪問用戶的安全性。 7. 可移植性 對于程序員而言,寫出來的程序如果不需要修改就能夠同時在Windows、Mac OS、UNIX等平臺上運行,簡直就是美夢成真,Java語言讓這個原本遙不可及的事越來越近。使用Java語言編寫的程序,只需較少的修改,甚至有時根本不需修改,即可在不同平臺上運行。 8. 擁有較高的性能 由于Java是一種解釋型語言,其執(zhí)行效率就會低一些,但采取下述兩種措施,可使其擁有較高的性能。 (1) Java語言源程序編寫完成后,先使用Java偽編譯器進行偽編譯,將其轉(zhuǎn)換為中間碼(也稱為字節(jié)碼)再解釋。 (2) 提供了一種準實時(JustInTime,JIT)編譯器。當需要更快的速度時,使用JIT編譯器將字節(jié)碼轉(zhuǎn)換成機器碼,將其緩沖下來,速度就會更快。 9. 具有多線程處理能力 線程是一種輕量級進程,是現(xiàn)代程序設計中必不可少的一種特性。多線程是指允許一個應用程序同時存在兩個或以上的線程,用于支持事務并發(fā)和多任務處理。多線程處理能力使程序具有更好的交互性和實時性。 Java在多線程處理方面性能超群,除了內(nèi)置的多線程技術之外,還定義了一些類、方法等來建立和管理用戶定義的多線程,具有讓用戶驚喜的強大功能,而且在Java語言中進行多線程處理也很簡單。 10. 是一種動態(tài)語言 Java是一種動態(tài)的語言,表現(xiàn)在以下兩個方面。 (1) 在Java語言中,可以簡單、直觀地查詢運行時的信息。 (2) 可以將新代碼加入到正在運行的程序中。 1.1.3Java程序的運行機制 在Java中處理代碼的過程如圖13所示。 圖13Java程序的運行機制 從圖13中可以看出,Java源文件名的后綴為.java,通過編譯,生成.class文件,在計算機上執(zhí)行。此時執(zhí)行.class的計算機并不是物理上可見的,而是Java自己設計的一臺計算機——Java虛擬機(Java Virtual Machine,JVM)。Java通過JVM進行可移植性操作。 在Java中,所有的程序都在JVM上運行。JVM是在一臺計算機上由軟件或硬件模擬的計算機,它讀取并處理編譯過的、與平臺無關的字節(jié)碼*.class文件。Java解釋器負責將Java虛擬機的代碼在特定的平臺上運行。JVM的基本原理如圖14所示。 圖14JVM的基本原理 從圖14中可以發(fā)現(xiàn),所有的.class文件都在JVM上運行,即.class文件只需要認識JVM,由JVM去適應各個操作系統(tǒng)。如果不同的操作系統(tǒng)安裝了符合其類型的JVM,那么程序無論在哪個操作系統(tǒng)上都可以正確執(zhí)行。 有些讀者可能很難理解以上的解釋。其實這個過程類似于下述情景: 有一位中國富商,同時要和美國、韓國、俄羅斯、日本、法國、德國等幾個國家的客戶洽談生意,可是他不懂這些國家的語言,所以他針對每個國家請了一位翻譯。他只對翻譯說話,不同的翻譯會將他說的話譯給相應的客戶。這樣,富商只需要對各位翻譯說話,就可以同幾個國家的客戶溝通。 【注】 Java的兩種核心機制如下所述。 (1) Java虛擬機(Java Virtal Machine),是一臺利用軟件方法實現(xiàn)的虛擬的計算機,具有指令集,并使用不同的存儲區(qū)域,負責執(zhí)行指令,管理數(shù)據(jù)、內(nèi)存、寄存器。對于不同的平臺,有不同的虛擬機。Java虛擬機屏蔽了底層運行平臺的差別,實現(xiàn)了“一次編譯,到處運行”。 (2) 垃圾收集機制(Garbage Collection),即回收不再使用的內(nèi)存空間。在C/C++等語言中,由程序員負責回收無用內(nèi)存。Java 語言撤銷了程序員回收無用內(nèi)存空間的責任,它提供一種系統(tǒng)級線程來跟蹤存儲空間的分配情況,并在JVM空閑時,檢查并釋放那些可被釋放的存儲空間。垃圾回收在Java程序運行過程中自動執(zhí)行,程序員無法精確控制和干預。 1.1.4Java語言的應用領域 Java技術自1995年問世以來,在我國的應用和開發(fā)迅速普及?傮w來看,主要集中于企業(yè)應用開發(fā)。根據(jù)有關單位調(diào)查顯示,從開發(fā)領域的分布來看,Web開發(fā)占了一半以上,為57.9%;Java ME移動或嵌入式應用占15%;C/S應用占11.7%;系統(tǒng)編程占15.4%。近30%的開發(fā)者用Java從事C/S應用或系統(tǒng)級應用的開發(fā)。 Java語言主要應用在下述幾個領域。 1. 行業(yè)和企業(yè)信息化 由于Sun、IBM、Oracle、BEA等國際廠商相繼推出基于Java技術的應用服務器以及各種應用軟件,帶動了Java在金融、電信、制造等領域日益廣泛的應用。例如,清華大學計算機系利用Java、XML和Web技術研制開發(fā)了多個軟件平臺,東方科技的Tong Web、金蝶的Apusic、中創(chuàng)的Inforweb 等J2EE應用服務器,以及和佳ERP和寶信ERP等ERP產(chǎn)品,在許多企業(yè)得到應用。 2. 電子政務及辦公自動化 東方科技、金蝶、中創(chuàng)等公司開發(fā)的J2EE應用服務器在電子政務及辦公自動化中廣泛應用。例如,金蝶的Apusic在民政部、廣東省市工商局應用;東軟電子政務架構(gòu)EAP平臺在社會保險、公檢法、稅務系統(tǒng)應用;中創(chuàng)的Inforweb等Infor系列中間件產(chǎn)品在國家海事局、山東省政府及中國建設銀行、民生銀行等金融系統(tǒng)應用;無錫永中科技基于Java平臺開發(fā)的國產(chǎn)化集成辦公軟件永中Office在一些省、市政府部門應用。 3. 嵌入式設備及消費類電子產(chǎn)品 無線手持設備、通信終端、醫(yī)療設備、信息家電(如數(shù)字電視、機頂盒、電冰箱)、汽車電子設備等是近年來比較熱門的Java應用領域。在這方面的應用有中國聯(lián)通CDMA 1X網(wǎng)絡中基于Java技術的無線數(shù)據(jù)增值服務——UniJa。 4. 輔助教學 在輔助教學方面,東南大學與中興通訊公司利用Java語言聯(lián)合開發(fā)了遠程教學系統(tǒng),用于本地網(wǎng)上教學、課后學習和異地遠程教育;清華大學利用Java語言進行了計算機軟件基礎課教學改革,分析、研究Java教學軟件BlueJ的漢化方案;電子科技大學應用Java RMI技術進行遠程教育;西安電力高等?茖W校采用Java技術開發(fā)了交互式電站仿真系統(tǒng),實現(xiàn)電站鍋爐仿真、鍋爐膛火焰仿真,為實現(xiàn)網(wǎng)上仿真進行了有益的探索。 1.2Java開發(fā)環(huán)境與開發(fā)工具〖*2〗1.2.1Java開發(fā)環(huán)境一臺計算機上安裝了JVM,即可運行Java程序。但是要開發(fā)Java程序,還需建立Java開發(fā)環(huán)境。不同領域的Java開發(fā)應用所需的版本不同,本書使用Java SE開發(fā)環(huán)境。 1. Java SE的組成 Java SE是一個包含Java開發(fā)環(huán)境和運行環(huán)境的套件,由以下3項組成。 (1) Java Development Kit(JDK): Java應用程序開發(fā)環(huán)境。 Java不僅提供了豐富的語言和運行環(huán)境,還提供了一個免費的Java開發(fā)工具集(Java Development Kit,JDK),以便程序員開發(fā)Java 開發(fā)工具包。Java 2 SDK開發(fā)工具集如表11所示。表11Java 2 SDK開發(fā)工具集 工具名稱說明JavacJava編譯器,用于將Java源程序編譯成字節(jié)碼JavaJava解釋器,用于解釋、執(zhí)行Java字節(jié)碼Appletviewer小應用程序查看器,用于測試和運行Java Applet程序JavadocJava文檔生成器JdbJava調(diào)試器JavapJava類文件反匯編器JavahC文件生成器,實現(xiàn)在Java類中調(diào)用C++代碼JDK中除了包括Java開發(fā)工具以外,還包括JRE,所以安裝了JDK,就不用單獨安裝JRE了。 (2) Java Runtime Environment(JRE): Java應用程序運行環(huán)境,包括Java虛擬機和Java程序所需要的核心類庫等。如果僅需運行開發(fā)好的Java程序,計算機只需要安裝JRE。 (3) Java Plugin: Java插件。 JVM、JRE與JDK的關系如圖15所示。 圖15JVM、JRE與JDK的關系 2. 建立Java SE開發(fā)環(huán)境 步驟1: 安裝JDK(本書使用JDK 1.6版本)。 (1) 準備好JDK的安裝文件jdk6u18windowsi586se版.exe。從Oracle公司的網(wǎng)站(http://www.oracle.com/technetwork/java/javase/downloads/indexjsp138363.html)下載JDK工具包。 (2) 運行.exe文件,安裝JDK。默認安裝在C:\\Program Files\\Java目錄下,本書更改安裝在D:\\Java目錄下。 (3) 按照安裝向?qū)У奶崾,完成安裝,即可看到如圖16所示文件夾。 圖16安裝JDK后的文件夾 ① bin: 一些執(zhí)行文件,包括Java的編譯器、解釋器和工具。 ② demo: 各種演示的實例。 ③ lib: 保存的庫文件。 ④ include: Win32子目錄,都是本地文件。 ⑤ jre: Java程序運行環(huán)境的根目錄。 其中,bin文件夾包含將來要使用的各種Java命令,但是這些命令本身并不在Windows環(huán)境之中。要想使用這些命令,必須先在Windows中注冊。 步驟2: 設置環(huán)境變量。 在JDK安裝完畢后,需設置path和classpath這兩個環(huán)境變量。這是程序編譯和運行的重要保證。 path指示Java命令的路徑,如javac、java、javaw等。這樣,在控制臺下面編譯、執(zhí)行程序時就不需要再輸入路徑了。 由于JDK的安裝路徑多次使用,在此先新建環(huán)境變量JAVA_HOME,操作步驟如下。 (1) 選擇“我的電腦”→“屬性”命令,在打開的窗口中選擇“高級系統(tǒng)設置”命令,打開“系統(tǒng)屬性”對話框,如圖17所示。 (2) 選擇“高級”選項卡,然后單擊“環(huán)境變量”按鈕,打開“環(huán)境變量”對話框,如圖18所示。 (3) 單擊“系統(tǒng)變量”欄中的“新建”按鈕,彈出“編輯系統(tǒng)變量”對話框。在“變量名”文本框中輸入JAVA_HOME,在“變量值”文本框中輸入C:\\Java\\jdk1.7.0_03,如圖19所示。 path環(huán)境變量包含在Windows系統(tǒng)里,修改一下,使其指向JDK的bin目錄,即在“環(huán)境變量”對話框中單擊“系統(tǒng)變量”欄中的“編輯”按鈕,彈出“編輯系統(tǒng)變量”對話框,然后在“變量值”文本框的*前面加上路徑,再用“;”將后面的路徑分隔開,如“%JAVA_HOME%\\bin;”,如圖110所示。 注意: 環(huán)境變量的各變量值之間需用分號分隔。 圖17“系統(tǒng)屬性”對話框 圖18“環(huán)境變量”對話框
你還可能感興趣
我要評論
|