- 零基礎(chǔ)學(xué)Java(第4版)
- 常建功 陳浩 黃淼等編著
- 103字
- 2019-01-01 00:49:56
第2章 Java開發(fā)工具及環(huán)境設(shè)置
Java是很出色的面向?qū)ο蟾呒?jí)語言,面向?qū)ο蠹夹g(shù)將在第7章介紹,這里只需要讀者知道這個(gè)概念。正如C語言、C++語言、C#語言一樣,任何高級(jí)語言都需要一個(gè)運(yùn)行平臺(tái),即編寫Java語言的計(jì)算機(jī)應(yīng)用程序,需要一個(gè)編輯、編譯和運(yùn)行的環(huán)境,這里將詳細(xì)介紹Java高級(jí)語言的開發(fā)工具及相應(yīng)的環(huán)境設(shè)置。本章將講述應(yīng)用程序的一個(gè)開發(fā)流程,另外還要講述開發(fā)Java程序所要使用的開發(fā)工具,最后會(huì)編寫一個(gè)最簡(jiǎn)單的Java程序,并通過對(duì)程序的具體分析,使讀者能夠?qū)帉慗ava代碼有一個(gè)初步的認(rèn)識(shí)。
本章重點(diǎn):
□ 開發(fā)工具的下載和安裝。
□ JDK的組成和配置。
□ 編寫并運(yùn)行簡(jiǎn)單的Java程序。
2.1 Java開發(fā)工具簡(jiǎn)介
Java語言是一種解釋型的語言,即讀一句程序執(zhí)行一句,這樣就需要一個(gè)解釋器完成源程序到機(jī)器語言的翻譯過程。同時(shí)Java是跨平臺(tái)的語言,跨平臺(tái)是指Java程序可以在安裝任何操作系統(tǒng)的計(jì)算機(jī)上運(yùn)行,其前提是需要安裝Java虛擬機(jī)(JVM),而虛擬機(jī)和解釋器都是JDK的一部分,JDK是Java開發(fā)工具集,它包含一套工具,如剛才講的源程序解釋器、JVM,還包括編譯工具(Javac.exe)、執(zhí)行程序(Java.exe)等。如果想讓運(yùn)行程序的計(jì)算機(jī)知道這些工具的位置,并找到這些工具,就需要下載、安裝、配置并測(cè)試JDK工具。
2.1.1 下載并安裝JDK
與Java相關(guān)的基礎(chǔ)平臺(tái)都是由Sun公司提供的,開發(fā)人員可以通過http://www.oracle.com/ technetwork/java/index.html網(wǎng)站了解有關(guān)Java的最新技術(shù),并可以下載相關(guān)的軟件。Java網(wǎng)站的首頁如圖2-1所示。

圖2-1 Java網(wǎng)站的首頁
注意
之所以是Oracle公司網(wǎng)站,而不是Sun公司網(wǎng)站,是因?yàn)樵?009年8月21日Oracle公司收購了Sun公司。
本書中的代碼采用JDK 7.0版本進(jìn)行開發(fā),因此在Java網(wǎng)站的首頁右側(cè),單擊“Java SE 7”鏈接,進(jìn)入關(guān)于Java SE 7的下載界面,如圖2-2所示。

圖2-2 Java SE 7的下載界面
在Java SE 7的下載界面中,單擊“JDK Platform(JDK) 7”上面的圖片按鈕,即可進(jìn)入JDK 7.0的下載界面,如圖2-3所示。在JDK 7.0的下載界面中,首先選擇“Accept License Agreement”單選按鈕,本書采用Windows 32位平臺(tái),因此選擇“jdk-7-windows-i586.exe”,如圖2-4所示。在該界面中,單擊“jdk-7-windows-i586.exe”鏈接,即可下載JDK,如圖2-5所示。

圖2-3 JDK 7.0的下載界面

圖2-4 頁面根據(jù)前面的選擇內(nèi)容跳轉(zhuǎn)到要下載的界面

圖2-5 下載JDK
下載到本地的JDK大約為120MB。下載完就可以進(jìn)行安裝,具體安裝步驟如下:
1)雙擊執(zhí)行jdk-7-windows-i586.exe安裝程序,便可自動(dòng)解壓縮進(jìn)行安裝。首先出現(xiàn)的是安裝程序準(zhǔn)備界面,如圖2-6所示。

圖2-6 安裝程序準(zhǔn)備界面
2)單擊“下一步”按鈕,準(zhǔn)備過程完成后,安裝程序會(huì)自動(dòng)打開“自定義安裝”界面,在該界面中單擊“更改”按鈕,就會(huì)出現(xiàn)“更改文件夾”界面,如圖2-7所示。

圖2-7 “更改文件夾”界面
3)選擇好相應(yīng)的路徑(如D:\Java\jdk1.7.0),單擊“確定”按鈕,配置好的“自定義安裝”界面如圖2-8所示。

圖2-8 “自定義安裝”界面
4)然后單擊“下一步”按鈕,JDK即可開始安裝。JDK安裝完畢后,系統(tǒng)會(huì)打開JRE自定義安裝界面,在該對(duì)話框中同樣也可以進(jìn)行路徑的修改,如圖2-9所示。

圖2-9 JRE自定義安裝界面
5)默認(rèn)JRE的安裝路徑,也可以將安裝路徑改為D:\Java\jre7,然后單擊“下一步”按鈕,即可完成安裝。JDK安裝完成的界面如圖2-10所示。

圖2-10 JDK安裝完成的界面
2.1.2 設(shè)定環(huán)境變量
JDK安裝完畢后,還不能馬上使用。如果想使用JDK實(shí)現(xiàn)編譯運(yùn)行Java文件等操作,還需要設(shè)定系統(tǒng)的環(huán)境變量Path與ClassPath,操作步驟如下:
1)在Windows桌面中,用右鍵單擊“我的電腦”圖標(biāo),彈出快捷菜單。
2)在彈出的快捷菜單中選擇“屬性”,彈出“系統(tǒng)屬性”對(duì)話框。
3)在“系統(tǒng)屬性”對(duì)話框中,選擇“高級(jí)”標(biāo)簽下的“環(huán)境變量”按鈕,彈出“環(huán)境變量”對(duì)話框,如圖2-11所示。

圖2-11 “環(huán)境變量”對(duì)話框
4)單擊“系統(tǒng)變量”區(qū)域中的“編輯”按鈕,在彈出的“編輯系統(tǒng)變量”對(duì)話框中,設(shè)定系統(tǒng)變量名為Path,變量值為D:\Java\jdk1.7.0\bin,如圖2-12所示。

圖2-12 編輯系統(tǒng)變量Path
5)單擊“系統(tǒng)變量”區(qū)域中的“新建”按鈕,在彈出的“新建系統(tǒng)變量”對(duì)話框中,設(shè)定變量名為ClassPath,變量值為D:\Java\jdk1.7.0\lib\dt.jar;D:\Java\jdk1.7.0\lib\tools.jar,如圖2-13所示。

圖2-13 新建系統(tǒng)變量ClassPath
6)單擊“系統(tǒng)變量”區(qū)域中的“新建”按鈕,在彈出的“新建系統(tǒng)變量”對(duì)話框中,設(shè)定變量名為JAVA HOME,變量值為D:\Java\jdk1.7.0,如圖2-14所示。

圖2-14 新建系統(tǒng)變量JAVA HOME
2.1.3 驗(yàn)證JDK環(huán)境是否配置成功
為了驗(yàn)證JDK是否配置成功,打開DOS窗口,在命令提示符下輸入“java”,然后按Enter鍵,若輸出Java的相關(guān)信息,則表示JDK配置成功,如圖2-15所示。

圖2-15 輸出Java的相關(guān)信息
2.2 JDK內(nèi)置工具
Java程序需要運(yùn)行環(huán)境的支持,同時(shí)編譯、解釋Java程序,執(zhí)行Java應(yīng)用程序和Java小程序也需要必要的工具,本節(jié)重點(diǎn)講解JDK中包含的5種常用工具,即Javac.exe、Java.exe、appletviewer.exe、Javadoc.exe和Javap.exe。在JDK中還集成了Java虛擬機(jī)(JVM),JVM提供了Java程序的運(yùn)行環(huán)境,它負(fù)責(zé)解釋.class文件(Java源程序經(jīng)過編譯后的文件),并提交給機(jī)器執(zhí)行。
注意
這里對(duì)JVM不再做過多的說明,讀者只要知道它的作用就足夠了。
2.2.1 JDK常用工具
JDK是一個(gè)開發(fā)工具集合,作為實(shí)用程序,工具庫有5種主要程序。
1)Javac:Java編譯器,將Java源代碼轉(zhuǎn)換為字節(jié)碼(生成與源文件名同名的.class文件)。
2)Java:Java解釋器,執(zhí)行Java源程序的字節(jié)碼。
3)appletviewer:小應(yīng)用程序?yàn)g覽器,執(zhí)行嵌入HTML文件中的Java小程序的Java瀏覽器。
4)Javadoc:依據(jù)Java源程序和說明語句生成各種HTML文檔。
5)Javap:Java反匯編器,顯示編譯類文件中可訪問的功能和數(shù)據(jù),顯示字節(jié)碼的含義。
2.2.2 JDK常用工具的使用實(shí)例
2.2.1節(jié)已經(jīng)詳細(xì)介紹了各種實(shí)用工具的含義,這里就依次介紹如何使用這些工具。
Javac和Java工具在2.3節(jié)通過一個(gè)Java應(yīng)用程序詳細(xì)說明了其用法。這里介紹2.2.1節(jié)所列的其他工具的使用,借用2.4節(jié)中的Java應(yīng)用程序JavaApplet.java。圖2-16說明如何使用appletviewer。

圖2-16 使用appletviewer
說明
這里僅僅說明如何使用該工具,即該工具的語法規(guī)則,至于Java Applet如何使用,可以參考2.4節(jié)的例子。
圖2-17說明如何使用Javadoc。

圖2-17 使用Javadoc
說明
這里借用了2.4節(jié)中的JavaApplet.java源程序,在圖2-17中可以清楚地看到Javadoc工具的 執(zhí) 行 過 程,首 先 是 加 載 源 文 件JavaApplet.java,創(chuàng)建相關(guān)Javadoc信息,然后產(chǎn)生各種html文件,這些文件保存在執(zhí)行Javadoc命令的當(dāng)前目錄下。至于文件內(nèi)容,讀者只要自己實(shí)踐一次,打開觀察一下就很清楚了,這里不再做過多介紹。
圖2-18為在D盤根目錄下通過各種Javadoc生成的html文件。圖2-19說明如何使用Javap。

圖2-18 Javadoc生成的各種html文件

圖2-19 使用Javap
說明
這里使用Javap反編譯MyFirstJavaProgram.class(源程序可參見2.3節(jié)的代碼)文件,反編譯的結(jié)果是該類提供的可訪問的方法和屬性,這里可訪問是指具有public訪問權(quán)限的方法或靜態(tài)屬性,如在MyFirstJavaProgram.java源文件中,有一個(gè)public訪問權(quán)限的String testString和具有public訪問權(quán)限的main()方法,同時(shí)Java默認(rèn)的構(gòu)造函數(shù)也具有public訪問權(quán)限,所以這些都可以通過反編譯工具Javap體現(xiàn)出來。
本節(jié)詳細(xì)介紹了JDK的幾種常用工具,讀者一定要用心體會(huì),自己操作一遍,就可以很快掌握這些工具的用法,尤其是Javac.exe和Java.exe,它們是最常用的兩種工具,在2.4節(jié)有具體的操作實(shí)例,讀者可以參考。隨著學(xué)習(xí)的深入,還會(huì)附帶介紹其他工具(如jar打包工具等),對(duì)于初學(xué)者首先掌握本節(jié)介紹的基本工具是最重要的,這樣不會(huì)耽誤下面的學(xué)習(xí)內(nèi)容,同時(shí)為深入學(xué)習(xí)JDK的其他工具打下良好的基礎(chǔ)。
2.2.3 Java應(yīng)用程序的發(fā)布工具
jar文件被打包成ZIP文件格式,所以可以使用jar工具實(shí)現(xiàn)壓縮和解壓縮數(shù)據(jù)。jar工具可以實(shí)現(xiàn)應(yīng)用程序的發(fā)布,把應(yīng)用程序所需要的資源(如類、視頻、音頻、圖片等)打包成.jar文件,該文件具有跨平臺(tái)特性,可以在任何運(yùn)行虛擬機(jī)的操作系統(tǒng)平臺(tái)上執(zhí)行。
jar工具是JDK的一部分,使用該工具實(shí)現(xiàn)jar文件的基本功能。jar命令將啟動(dòng)打包工具軟件,根據(jù)自己的需要調(diào)用不同的參數(shù)實(shí)現(xiàn)資源文件打包。表2-1為jar工具的操作命令格式和功能。
表2-1 jar工具的操作命令和功能列表

2.3 一個(gè)簡(jiǎn)單的Java應(yīng)用程序
【實(shí)例2-1】現(xiàn)在已經(jīng)完成了JDK的安裝和相應(yīng)的環(huán)境設(shè)置,下面用Windows下自帶的記事本編輯一個(gè)Java應(yīng)用程序,并執(zhí)行該程序,讀者可以通過該程序的編譯和執(zhí)行對(duì)Java程序的執(zhí)行有一個(gè)直觀的認(rèn)識(shí)。
1)編寫源程序:打開記事本,編寫如下的Java程序,并保存在D盤根目錄下,即D:\MyFirstJavaProgram.java。以下是一個(gè)Java應(yīng)用程序,只輸出一句“Hello Java!!!”。
01 //定義一個(gè)類
02 public class MyFirstJavaProgram{
03 //程序執(zhí)行的入口,每個(gè)Java應(yīng)用程序都有一個(gè)main()函數(shù)
04 public static void main(String args[ ]){ //程序的入口函數(shù)
05 //在DOS窗口打印一行字符串:Hello Java!!!
06 System.out.println("Hello Java!!!");
07 }
08 }
【代碼說明】第4行的程序很關(guān)鍵,是Java程序中應(yīng)用程序的入口函數(shù)main()。第6行是輸出的關(guān)鍵,通過println()方法輸出相應(yīng)的內(nèi)容。
說明
在初學(xué)者編寫源代碼時(shí),最好選擇無格式的文本編輯器,如Windows下的記事本,存儲(chǔ)源程序時(shí)其擴(kuò)展名必須是.java。
2)編譯源程序:?jiǎn)螕簟伴_始”|“運(yùn)行”命令,在“運(yùn)行”對(duì)話框中輸入“cmd”命令,如圖2-20所示。

圖2-20 “運(yùn)行”對(duì)話框
單擊圖2-20中的“確定”按鈕,打開DOS窗口,進(jìn)入D盤根目錄,在當(dāng)前目錄下輸入“javac MyFirstJavaProgram.java”,編譯有兩個(gè)作用:一是檢查程序的語法錯(cuò)誤,二是導(dǎo)入源程序中需要的類庫,編譯的結(jié)果是.class文件,該文件可以被JVM直接運(yùn)行。如果編譯正確,顯示結(jié)果如圖2-21所示。

圖2-21 編譯Java源程序
注意
在讀者開始使用記事本編輯Java源程序時(shí),可能會(huì)出現(xiàn)一些輸入法錯(cuò)誤,造成程序無法編譯,如字符串的雙引號(hào)使用了中文輸入法,則無法通過編譯,并提示出現(xiàn)非法字符。
【運(yùn)行效果】執(zhí)行程序:在DOS窗口中輸入“java MyFirstJavaProgram”,則程序執(zhí)行結(jié)果如圖2-22所示。

圖2-22 執(zhí)行Java程序的結(jié)果
注意
在使用Java.exe工具執(zhí)行編譯過的Java程序時(shí),需要執(zhí)行的文件名就是源文件名,但不需要文件后綴(如.class)。執(zhí)行MyFirstJavaProgram時(shí),只需要輸入java MyFirstJavaProgram,而不是java MyFirstJavaProgram.class。
2.4 一個(gè)簡(jiǎn)單的Java Applet應(yīng)用程序
還有一種小應(yīng)用程序,即Applet,其實(shí)它就是一段Java代碼,但這段代碼可以以適當(dāng)?shù)姆绞角度氲紿TML頁面。這里舉一個(gè)簡(jiǎn)單的例子,讓讀者對(duì)Java語言在網(wǎng)絡(luò)上的應(yīng)用有直觀和初步的認(rèn)識(shí)。
2.4.1 編寫一個(gè)Java Applet
首先打開記事本,編寫代碼如下所示。將文件保存在D盤根目錄下,文件名設(shè)置為JavaApplet.java。這是一個(gè)簡(jiǎn)單的Applet應(yīng)用程序,只輸出一句話“This is my first Java Applet!”。
01 //下面兩行導(dǎo)入實(shí)現(xiàn)Applet需要的類庫 02 import java.applet.Applet; 03 import java.awt .*; 04 //通過繼承方式定義并實(shí)現(xiàn)一個(gè)Applet類JavaApplet 05 public class JavaApplet extends Applet{ 06 public void paint(Graphics g){ 07 //調(diào)用Graphics對(duì)象g的drawString方法,在html頁面的指定位置打印一行字符串 08 g.drawString(“This is my first Java Applet!”,20,10); 09 } 10 }
【代碼說明】第2~3行導(dǎo)入實(shí)現(xiàn)Applet需要的類庫,通過import關(guān)鍵字執(zhí)行導(dǎo)入。第5行創(chuàng)建一個(gè)類Java Applet。第8行輸出用戶能看到的結(jié)果。
2.4.2 編寫承載Java Applet的HTML文件
打開一個(gè)記事本,編寫如下代碼,同樣保存在D盤根目錄下,文件名為Applet.html,這是一個(gè)HTML頁面文件。
01 <html> <!--HTML文件標(biāo)簽--> 02 <title> My Applet Test</title> 03 <h1>My Applet Test</h1> 04 <applet 05 //JavaApplet.class就是JavaApplet.Java經(jīng)過編譯后的類,該類在這里得到調(diào)用 06 code =”JavaApplet.class” 07 width=250 08 height=250 09 name=”MyApplet”> <!—在HTML文件中插入一個(gè)<applet>標(biāo)簽--> 10 </applet> 11 </html>
【代碼說明】第1行和第11行的<html></html>是HTML文件的標(biāo)識(shí)。第4~10行在HTML文件中插入了一個(gè)<applet>標(biāo)簽,注意第6行的code屬性為JavaApplet.class,是編譯后的JavaApplet.java。
2.4.3 Java Applet運(yùn)行過程
編譯JavaApplet.java,在DOS窗口中該文件所在的目錄下輸入“javac JavaApplet.java”,如果編譯成功,效果會(huì)如圖2-23所示。在同樣的目錄下輸入“appletviewer applet.html”,效果如圖2-24所示。按Enter鍵后是Java Applet的運(yùn)行結(jié)果,如圖2-25所示。

圖2-23 編譯JavaApplet.java程序的結(jié)果

圖2-24 執(zhí)行Applet.html

圖2-25 Java Applet運(yùn)行結(jié)果
說明
只要讀者認(rèn)真體會(huì)上述過程,再實(shí)際運(yùn)行一下,就會(huì)很快理解并掌握本節(jié)的基本內(nèi)容。
2.5 Java程序員的編碼規(guī)則
軟件工程發(fā)展到現(xiàn)在已經(jīng)非常成熟。對(duì)于程序員編碼的規(guī)則也限定得越來越多。早年天馬行空的編程與企業(yè)的要求漸行漸遠(yuǎn)。每個(gè)公司都會(huì)對(duì)程序員的編碼習(xí)慣進(jìn)行限制,包括命名、格式等。有的可以說是相當(dāng)苛刻,當(dāng)然每個(gè)公司的要求也是不同的,沒必要每個(gè)要求都知道。
如果讀者進(jìn)入公司,按照公司要求的編碼規(guī)范去做即可。這里是筆者搜集的一些基本要求,主要是一些常識(shí)和編碼思想,也是大家都比較認(rèn)同的編碼規(guī)則。如果新入門讀者有的地方不明白也沒有太大關(guān)系,等學(xué)完后面的知識(shí)再回來看這節(jié)內(nèi)容就可以了。
(1)注釋
注釋是用來提供源代碼自身沒有提供的附加信息,主要包含對(duì)代碼的總體說明、步驟說明、設(shè)計(jì)決策信息和其他一些代碼中不容易看出來的信息。
注意
注釋并不是越多越好,過多且容易過時(shí)的注釋往往會(huì)影響代碼的更新和閱讀。
(2)命名規(guī)范
命名規(guī)范提供一些有關(guān)標(biāo)識(shí)符功能的信息,有助于理解代碼,使程序更易讀。
在標(biāo)識(shí)符中,所有單詞的首字母大寫,被稱為駝峰標(biāo)識(shí)。字段、方法以及對(duì)象的首字母小寫。例如:類名可以寫作MyFirstClass,而方法名則要寫成getName()。
如果是常量,則static final基本類型標(biāo)識(shí)符中的所有字母大寫。這樣就可以標(biāo)志出它們屬于編譯期的常量,如MAX LENGTH。
Java包(Package)的包名全部小寫,首字母也不例外。例如,com.java.java.util。
(3)類的測(cè)試
每當(dāng)創(chuàng)建一個(gè)類時(shí),考慮在該類中寫主方法進(jìn)行測(cè)試,以保證類的正確性和功能的完整性。測(cè)試代碼也可以作為如何使用類的示例來使用。
(4)類的設(shè)計(jì)
設(shè)計(jì)類時(shí)要盡量使其功能單一,只解決某些特定的問題;不要設(shè)計(jì)方法眾多且差別較大的類。
注意
設(shè)計(jì)類時(shí)要考慮該類的維護(hù)和發(fā)展,考慮代碼復(fù)用和多態(tài)。
(5)方法的設(shè)計(jì)
方法的設(shè)計(jì)與類一樣,都是盡量明確其功能,簡(jiǎn)明扼要,功能單一。當(dāng)方法過長(zhǎng)時(shí),盡量考慮將其分解成幾個(gè)方法。
(6)封裝
對(duì)代碼進(jìn)行封裝時(shí),出于安全方面的考慮,盡可能將方法和屬性“私有”。
(7)采用內(nèi)部類
當(dāng)類和類之間關(guān)系非常緊密時(shí),可以考慮采用內(nèi)部類來實(shí)現(xiàn),以改善編碼和維護(hù)的工作。
(8)接口編程
接口主要描述了可能完成哪些功能和方法,而類描述的是具體的實(shí)施細(xì)節(jié)。故當(dāng)需要某個(gè)類作為基礎(chǔ)類時(shí),盡量考慮將其變成一個(gè)接口。如果不得不使用方法或成員變量,才將其變成一個(gè)抽象類。
(9)繼承
對(duì)于繼承的使用應(yīng)該謹(jǐn)慎,盡量采取實(shí)現(xiàn)接口的方法來達(dá)到目的。只有在必須繼承的情況下才考慮繼承。
(10)分析的順序
對(duì)于項(xiàng)目的分析要從宏觀到微觀,從整體到局部。首先把握項(xiàng)目的整體概況,掌握全局之后再考慮細(xì)節(jié)的實(shí)現(xiàn)。
(11)性能的優(yōu)化
性能的優(yōu)化是考察一個(gè)項(xiàng)目好壞的一個(gè)方面,但并不是最重要的方面。正確的方法是先讓程序運(yùn)行起來,只有在確實(shí)存在性能瓶頸才進(jìn)行優(yōu)化。如果很小性能提升的代價(jià)是代碼的難于理解和維護(hù),將得不償失。
(12)設(shè)計(jì)與編碼
對(duì)于一個(gè)項(xiàng)目而言,分析設(shè)計(jì)和編碼的時(shí)間比例大約是8∶2,通常會(huì)在擁有完善的設(shè)計(jì)和解決方案以后才進(jìn)行編碼工作,此時(shí)的編碼工作將非常簡(jiǎn)單。如果只是花很少的時(shí)間進(jìn)行分析和設(shè)計(jì),那么編碼工作必定困難重重,甚至延長(zhǎng)項(xiàng)目時(shí)間,造成違約。
2.6 常見疑難解答
2.6.1 Java文件擴(kuò)展名是否區(qū)分大小寫
如果用記事本寫了一個(gè)很短的程序,如下所示:
01 //定義一個(gè)類 02 public class FirstJava{ 03 //程序執(zhí)行的入口,每個(gè)Java應(yīng)用程序都有一個(gè)main()函數(shù) 04 public static void main(String args[]){ //主方法 05 //在DOS窗口打印一行字符串:Hello Java!!! 06 System.out.println(“Hello!!!”); 07 } 08 }
將這個(gè)文件保存在D盤根目錄下,名字為Hello.Java,那么在DOS中的D盤根目錄下執(zhí)行javac命令,根本就不會(huì)編譯這個(gè)文件。將擴(kuò)展名改為小寫的Hello.java,則再執(zhí)行javac命令,就可以編譯通過了。所以說Java文件的擴(kuò)展名區(qū)分大小寫。
2.6.2 Javac xxx.java順利通過,但Java xxx顯示 “NoClassDefFoundError”
Java命令在一定的范圍(ClassPath)內(nèi)搜索要用的Class文件,但是未能找到。遇到這類問題,首先請(qǐng)確認(rèn)沒有錯(cuò)誤輸入成java xxx.class,其次,檢查ClassPath環(huán)境變量,如果設(shè)置的該變量沒有包含“.”(代表當(dāng)前目錄),就會(huì)遇到這個(gè)問題,處理的方法就是在ClassPath環(huán)境變量中加入Java命令的當(dāng)前目錄這一項(xiàng)。
2.6.3 導(dǎo)致錯(cuò)誤“Exception in thread main java.lang.NoSuchMethodError:main”的原因
首先,在程序中,每個(gè)Java文件有且只能有一個(gè)public類,這個(gè)類的類名必須與文件名的大小寫完全一樣;其次,在要運(yùn)行的類中,有且只能有一個(gè)“public static void main(String[] args)”方法,這個(gè)方法就是主運(yùn)行程序。
根據(jù)上面的這種Java結(jié)構(gòu),當(dāng)遇到Path問題時(shí),操作系統(tǒng)會(huì)在一定的范圍(Path)內(nèi)搜索javac.exe。如果沒有找到,那么編輯操作系統(tǒng)環(huán)境變量,新增一個(gè)“JAVA HOME”變量,設(shè)為JDK的安裝目錄,再編輯Path變量,加上一項(xiàng)“%JAVA HOME%\bin”,然后關(guān)閉當(dāng)前DOS窗口,再新開一個(gè)DOS窗口,就可以使用javac和java命令了。
2.7 小結(jié)
在學(xué)習(xí)本章時(shí),讀者一定要注意帶有“說明”和“注意”字樣的內(nèi)容,忽視這些細(xì)節(jié)往往會(huì)造成程序編譯、運(yùn)行的異常,會(huì)給初學(xué)者帶來理解上的困惑。讀者一定要?jiǎng)邮志帉懕菊绿峁┑睦樱挥凶约簞?dòng)手實(shí)踐,才能有所收獲。
2.8 習(xí)題
一、填空題
1.JDK安裝完畢后,還不能馬上使用。如果想使用JDK實(shí)現(xiàn)編譯、運(yùn)行Java文件等操作,還需要設(shè)定系統(tǒng)的環(huán)境變量__________和__________。
2.JDK是一個(gè)開發(fā)工具集合,作為實(shí)用程序,工具庫有5種主要程序:__________、__________、__________、__________ 和__________。
3.在Java中,__________工具可以實(shí)現(xiàn)應(yīng)用程序的發(fā)布,把應(yīng)用程序所需要的資源(如類、視頻、音頻、圖片等)打包成__________。
4.有一種小應(yīng)用程序,其實(shí)它就是一段Java代碼,但這段代碼可以以適當(dāng)?shù)姆绞角度氲紿TML頁面,這種應(yīng)用程序是__________。
二、上機(jī)實(shí)踐
1.如何把一個(gè)Java Applet程序嵌入到一個(gè)網(wǎng)頁上?
【提示】可以仿照2.4節(jié)的例子來編寫。
2.編寫一個(gè)簡(jiǎn)單的Java程序,測(cè)試Java源代碼的擴(kuò)展名是否區(qū)分大小寫?
【提示】Java源代碼的擴(kuò)展名為“.java”。
- UI設(shè)計(jì)基礎(chǔ)培訓(xùn)教程
- The Supervised Learning Workshop
- Microsoft Exchange Server PowerShell Cookbook(Third Edition)
- UML和模式應(yīng)用(原書第3版)
- Visual FoxPro程序設(shè)計(jì)教程(第3版)
- Learning Docker
- Photoshop智能手機(jī)APP UI設(shè)計(jì)之道
- Troubleshooting PostgreSQL
- 網(wǎng)店設(shè)計(jì)看這本就夠了
- Mastering Business Intelligence with MicroStrategy
- Creating Mobile Apps with jQuery Mobile(Second Edition)
- Spring MVC+MyBatis開發(fā)從入門到項(xiàng)目實(shí)踐(超值版)
- Unity&VR游戲美術(shù)設(shè)計(jì)實(shí)戰(zhàn)
- IPython Interactive Computing and Visualization Cookbook
- WordPress Search Engine Optimization(Second Edition)