交通大學資訊工程學系 How To Java? 使用 JDK –Microsoft Windows –FreeBSD 使用 Java...

Preview:

Citation preview

交通大學資訊工程學系

How To Java?• 使用 JDK

– Microsoft Windows– FreeBSD

• 使用 Java IDE ( 很多仍需 JDK 配合 )– VisualAge for Java (IBM)– JBuilder (Borland)– Visual Café (WebGain)– JDeveloper (Oracle ; technet.oracle.com)– Forte for Java (Sun)– Eclipse ( 蝕 ; 蓋過 )– IntelliJ IDEA (JetBrains)– Visual J++ (Microsoft)

交通大學資訊工程學系

寫 Java 程式,你需要…1. 用編輯器 (editor) 寫 Java 程式2. 用編譯器 (compiler) 把 Java 程式轉成 Java b

ytecode ,也就是 class 檔3. 用直譯器 (interpreter) 來執行 Java 的 class

檔4. 用除錯器 (debugger) 來協助找出程式的問題

Sun 提供一套 Java 程式發展工具集,稱為 JDK (Java Development Kit) ,具有 2,3,4 的功能。

同時具有上述 4 項功能者,稱為整合發展環境 (IDE, Integrated Development Environment)

交通大學資訊工程學系

JDK Installed Directory Tree• The JDK has the directory structure shown below.

jdk1.5.0_<version> _______________________|______________________ | | | | | | | | | | | | | bin lib | demo || | | LICENSE | | | jre| | COPYRIGHT … … | __|__| README.txt include | |

readme.html bin lib

交通大學資訊工程學系

JDK 的基本組成份子

/bin Java binary programs

/docs Java documents

/jre/bin Run-time 用的 binary programs

/jre/lib 或 /lib

Run-time library

重要的是 /jre/lib/rt.jar 這個檔案早期版本是 /lib/classes.zip

交通大學資訊工程學系

JDK 的版本• Java 1.1

– jdk 1.1.8_16 and older versions

• Java 2 ( 別搞混 Language version 與 JDK version)– Standard Edition (J2SE)

• j2sdk 1.2_17

• j2sdk 1.3.1_14

• j2sdk 1.4.2_06

• j2sdk 1.5.0_02

– Enterprise Edition (J2EE)

– Micro Edition (J2ME)

交通大學資訊工程學系

JDK & JRE

• JRE (Java Runtime Environment)– 用來執行 Java 程式

• JDK (Java Development Kit)– 用來開發、測試或執行 Java 程式– 已經包含 JRE 了

• 使用 JDK 開發程式,就得有相對應版本的 JRE 來執行。– 使用 j2sdk 1.4.1 開發,那必須要有 jre 1.4.1 以上

版本才能執行。

交通大學資訊工程學系

應該使用那個版本?• IE 4.0 以上版本內建 Java 1.1.4 JRE

– 不過有些 Windows XP 及 Windows 2003 沒有內建 ( 因為當時 Sun 控告 Microsoft)

• 用 JDK 1.2 以上版本開發,執行環境都要另外安裝 JRE (Sun 與 Microsoft 已和解 , 可能有一天會不必安裝 :-)

交通大學資訊工程學系

安裝與設定 JDK

下列平台使用 JDK 的方式:– FreeBSD ( 其他 Unix 類似 )– Microsoft Windows 9x– Microsoft Windows 200?/XP

交通大學資訊工程學系

FreeBSD 之設定(資工系系計中 ccbsd1~ccbsd1

6)路徑設定,想用舊版可在 .cshrc 中加入這一行: set path = (/usr/local/jdk1.1.8/bin $path)

不設定的話,會自動使用 /usr/local/bin/javac(link 到 /usr/local/jdk1.4.1/bin/javac)( 但系上 jdk1.4.1 已被系統管理員刪除 )

不必設定 CLASSPATH ,會自動使用 path 中的 lib

交通大學資訊工程學系

FreeBSD 之設定(資工系系計中 ccbsd1~ccbsd1

6)目前可以選擇下列 path ( 不同版本的 JDK)

/usr/local/jdk1.1.8/bin/ /usr/local/jdk1.2.2/bin/ /usr/local/jdk1.3.1/bin/ /usr/local/jdk1.4.2/bin/ /usr/local/jdk1.5.0/bin/

交通大學資訊工程學系

Microsoft Windows 9x

1. 先到 Sun 的網站去抓 JDK : http://java.sun.com

2. 假設把 JDK 安裝在 C:\JDK3. 在 Autoexec.bat 中加入下列設定: SET PATH=C:\JDK\bin;%PATH% SET CLASSPATH=.;C:\JDK\jre\lib\rt.jar 注意 !CLASSPATH 必須是大寫 ! 且確定是 rt.

jar 因為舊的版本是 classes.zip

交通大學資訊工程學系

CLASSPATH 說明• 使用 java, javac 等工具時,如果沒有指

定 classpath 的話,會自動使用環境變數CLASSPATH 所指定的路徑。

• CLASSPATH 中可以指定目錄、 zip 檔、jar 檔,用分號隔開,例: .;C:\MyLIB;C:\JDK\jre\lib\rt.jar用點 . 表示目前所在目錄

交通大學資訊工程學系

Microsoft Windows 2000/XP

1. 先到 Sun 的網站去抓 JDK ,如:http://java.sun.com

2. 假設把 JDK 安裝在 C:\JDK3. 控制台 > 系統 > 進階 > 環境變數4. 找到變數 PATH ,加入 C:\JDK\bin 找到變數 CLASSPATH ,加入 .;C:\JDK\jre\lib\rt.jar

交通大學資訊工程學系

Win2000 設定

用滑鼠右鍵按住 " 我的電腦 " 選內容

交通大學資訊工程學系

Win2000 設定

WinXP在下一頁

交通大學資訊工程學系

Windows XP

用滑鼠右鍵按住“我的電腦

”選內容再按環境變數

交通大學資訊工程學系

Win2000 WinXP

設定

編輯 Path

交通大學資訊工程學系

Win2000 WinXP

設定

編輯 CLASSPATH

注意全大寫

交通大學資訊工程學系

JDK 中的 Tools

這些 tools 都擺在 JDK 的 \bin 裡面:• javac: Java compiler ( 編譯器 )

• java: Java interpreter ( 解譯器 )

• appletviewer: Java applet viewer

• javap: Class file disassembler ( 反組譯 )

交通大學資訊工程學系

Java Application

•編譯:javac MyTest.java

•執行:java MyTest

•反組譯:javap MyTest

注意執行與反組譯都不要打

.class 因為那是 class 名稱不是檔案名稱 !

交通大學資訊工程學系

Java Applet• 編譯:

javac MyApplet.java• 執行:

appletviewer MyPage.htm

<HTML><BODY><applet code=MyApplet.class

name=MyAppletwidth=320height=200>

</applet></body></html>

交通大學資訊工程學系

編碼的問題• 如果程式印出亂碼,那可能是編譯時,

沒有指定正確的內部編碼,試試這個:– javac -encoding BIG5 MyTest.java

•常用 encoding– BIG5– MS950– UNICODE– UTF8

交通大學資訊工程學系

如何知道系統預設編碼?public class FileEncoding{ public static void main(String[] args) { System.out.println(System.getProperty("file.encoding")); }}

交通大學資訊工程學系

可以搜尋的 Java document• http://www.allimant.org/javadoc/javadoce.html

交通大學資訊工程學系

有很多檔案要編譯時

• 使用 makefile (next slides)

• 使用 Ant (用 google.com 找找)• 使用 IDE 來開發

交通大學資訊工程學系

Unix 下的 makefile 範例.SUFFIXES: .class .java

JAVAC=/usr/local/jdk1.4.1/bin/javac -encoding Big5 -deprecation -classpath .:/usr/local/jdk1.4.1/jre/lib/rt.jar

#JAVAC=/usr/local/jdk1.4.1/bin/javac -encoding Big5 -deprecation -classpath ..:/usr/local/jdk1.4.1/jre/lib/rt.jar

#JAVAC=/usr/local/jdk1.4.1/bin/javac -encoding Big5 -deprecation -classpath ../..:/usr/local/jdk1.4.1/jre/lib/rt.jar

all: FileEncoding.classcd test; make

.java.class:$(JAVAC) $<

clean:rm -f *.classchmod 644 *.java makefile

交通大學資訊工程學系

dosMake• http://java.csie.nctu.edu.tw/~icwu/classes/java/doc/dosMake.zip• 所有檔案拷貝到 JDK 安裝目錄的 bin 裡面,就可以共用 PAT

H 設定,使用 make 來編譯、執行程式• 修改 make.batset JAVASDK_HOME=C:\j2sdk1.4.2\binset JAVAC=%JAVASDK_HOME%\javac.exeset JAVAC_OPTION=-classpath ".;%JAVASDK_HOME%\jre\lib\rt.jar"set JAVA=%JAVASDK_HOME%\java.exeset JAVA_OPTION=-classpath ".;%JAVASDK_HOME%\jre\lib\rt.jar"rem default make action, could be "new", "all", or "clean"set DEFAULT_ACTION=allrem default main class for executing.rem Leave it blank if you don't want to run your program after make.set DEFAULT_MAIN_CLASS=

交通大學資訊工程學系

使用 IDE 的優點

使用 IDE 環境,寫程式會更為方便,比起純粹使用 JDK 來說,主要有下列優點:– 「寫程式、編譯、測試」一套軟體就可搞定– Look for help: 快速 API 說明– Check syntax: 自動文法檢查– Reformat code: 自動排版 , 程式結構井然一致– Debug/test code: 容易除錯– Generate code: 快速產生程式– Navigate code: 快速瀏覽程式– Refactor code: 快速重整程式

交通大學資訊工程學系

A good IDE should .. (1/2)

• Include a “Syntax aware” text editor– different tokens can be colored differently

• for catching runaway comments or strings, for example

– brace, bracket, and parentheses matching• whenever a closing brace, bracket or parenthesis is t

yped the editor shows you the corresponding opening brace, bracket, or parenthesis

• clicking on brace, bracket, or parenthesis will show the corresponding block

交通大學資訊工程學系

A good IDE should .. (2/2)

• Simplicity– powerful development environment, but the

power is hidden– we do not use most of what is there

• Debugger is useful and generally intuitive– helpful to the students– useful for demonstrations

• Support for the standard libraries

交通大學資訊工程學系

Debug 功能• Break point :程式執行到中斷點時會暫

停• Step :一行一行追蹤程式• Step into :遇到函式時,進去追蹤• Step over :遇到函式時,不進去追蹤• Watch :觀察變數值、修改變數值

交通大學資訊工程學系

在 Windows 平台上的 IDE

1. Microsoft Visual J++2. Borland JBuilder: http://

www.borland.com/products/downloads/download_jbuilder.html

3. Eclipse: http://www.eclipse.org/downloads/index.php

4. JetBrains IntelliJ IDEA:(30 天試用 ) http://www.jetbrains.com/idea/download/index.html

Ps. 後三者均有 Unix 、 Mac 的對應版本

交通大學資訊工程學系

Microsoft Visual J++ 6.0

• 支援 Java 1.1 ,及 Microsoft 的擴充函式庫

• 優點:執行速度快• 缺點:只支援到 Java 1.1

Visual J++ (1/9)

交通大學資訊工程學系

設定 Visual J++ (1/2)Visual J++ (2/9)

交通大學資訊工程學系

設定 Visual J++ (2/2)

Visual J++ (3/9)

交通大學資訊工程學系

建立 Project (VJ++)• File > New Project… • 選擇 Applications 、 Console Application ,

鍵入 Name 及 Location

Visual J++ (4/9)

交通大學資訊工程學系

加入檔案 (VJ++) Visual J++ (5/9)

交通大學資訊工程學系

寫程式 (VJ++)Visual J++ (6/9)

交通大學資訊工程學系

按 F9 設 Break Point

第七行多了個紅點!

Visual J++ (7/9)

交通大學資訊工程學系

按 F5 Start Debugger

把滑鼠游標移到變數 a 上面…看到 a=5

停在第 7 行了

Visual J++ (8/9)

交通大學資訊工程學系

Visual J++ Debug 功能Visual J++ (9/9)

交通大學資訊工程學系

Borland JBuilder 2005• JBuilder 對於 Java 的支援性極高。自 3.

5 版之後,改以 Java 實作 ( 所以慢 ) 。• 內建 JDK 1.4

• 優點:支援 J2SE 、 J2EE 、 J2ME 。 Foundation 版免費(不支援 J2EE )

• 缺點:速度慢、硬體要求高

JBuilder (1/8)

交通大學資訊工程學系

設定 JBuilderJBuilder (2/8)

交通大學資訊工程學系

建立 Project 專案• File > New Project… • 鍵入 Name 及 Directory

JBuilder (3/8)

交通大學資訊工程學系

加入檔案到專案• Project > Add Files / Packages … • 鍵入 File name

JBuilder (4/8)

交通大學資訊工程學系

寫程式 (JBuilder)JBuilder (5/8)

交通大學資訊工程學系

設定 Break Point in JBuilder

第七列變了!

JBuilder (6/8)

交通大學資訊工程學系

按 F5 Start Debugger (JBuilder)

Add Watch b ,看到變數 b 的值

JBuilder (7/8)

交通大學資訊工程學系

JBuilderDebug功能

JBuilder (8/8)

交通大學資訊工程學系

Eclipse.org Eclipse 3.0.2

• 強悍的開放原始碼軟體( $0 ),可用來開發多種語言的程式( Java, C/C++, … )

• 需要另外安裝 JDK• 優點:多種程式語言開發環境• 缺點:各類 Plugin 的安裝設定稍難

• Eclipse 指蝕,如日蝕( solar eclipse )、月蝕( lunar eclipse )

Eclipse (1/18)

交通大學資訊工程學系

啟動 Eclipse• 寫一支 start.bat ,啟動 Eclipse 時直接指定 J

DK 的位置start eclipse -vm c:\j2sdk1.4.2\jre\bin\javaw -vmargs -Xmx256M

• 剛啟動就要設定 Project 的存放位置

Eclipse (2/18)

交通大學資訊工程學系

建立 Project in Eclipse• File > New > Project

• 選擇 Java Project

Eclipse (3/18)

交通大學資訊工程學系

設定 Project Name• 設定 Project name

• 選擇存放位置,不改的話會存在安裝目錄的 workspace 中。

Eclipse (4/18)

交通大學資訊工程學系

設定 JDK

看看 Libraries 的設定,應該是 start.bat 中指定的

Eclipse (5/18)

交通大學資訊工程學系

切換 Java Perspective• 因為支援多種程式語言,所以要選一下

Java Perspective

Eclipse (6/18)

交通大學資訊工程學系

設定 Eclipse (1/4)

設定偏好選項 preference

Eclipse (7/18)

交通大學資訊工程學系

Eclipse (8/18)

設定 Eclipse (2/4)

交通大學資訊工程學系

Eclipse (9/18)

設定 Eclipse (3/4)

交通大學資訊工程學系

Eclipse (10/18)

設定 Eclipse (4/4)

交通大學資訊工程學系

在 Project 中加入檔案Eclipse (11/18)

交通大學資訊工程學系

新增 Java ClassEclipse (12/18)

交通大學資訊工程學系

按 Ctrl+Shift+B 設 Break Point

Eclipse (13/18)

交通大學資訊工程學系

開始除錯 (Eclipse)

Eclipse (14/18)

交通大學資訊工程學系

選擇有 main() 的 Java 檔Eclipse (15/18)

交通大學資訊工程學系

切換到 Debug Perspective

Eclipse (16/18)

交通大學資訊工程學系

Debug 觀察變數值

游標移到 a 上,看到 a=5

Eclipse (17/18)

交通大學資訊工程學系

Eclipse 的 Debug 功能Eclipse (18/18)

交通大學資訊工程學系

JetBrains IntelliJ IDEA 4.5.4

• 介面最親切、獲獎無數的 IDE

• 需要另外安裝 JDK

• 優點:最貼心的開發環境• 缺點:硬體要求高,售價很貴( $499 ) ( 試用版可用 30 天 )

IntelliJ (1/18)

交通大學資訊工程學系

建立 Project • File > New Project ,設定名稱及位置

IntelliJ (2/18)

交通大學資訊工程學系

設定 JDK

注意這個 + 號按這個就能選擇 JDK 目錄

IntelliJ (3/18)

交通大學資訊工程學系

建立單一模組的 Project(IntelliJ IDEA)

IntelliJ (4/18)

交通大學資訊工程學系

選擇 Java Module (IntelliJ IDEA)

IntelliJ (5/18)

交通大學資訊工程學系

設定 Module 名稱 (IntelliJ IDEA)

IntelliJ (6/18)

交通大學資訊工程學系

選擇 source 檔案要放的位置(IntelliJ IDEA)

IntelliJ (7/18)

交通大學資訊工程學系

選擇編譯 class 檔案要放的位置(IntelliJ IDEA)

IntelliJ (8/18)

交通大學資訊工程學系

設定 IntelliJ IDEAIntelliJ (9/18)

交通大學資訊工程學系

IntelliJ (10/18)

交通大學資訊工程學系

IntelliJ (11/18)

交通大學資訊工程學系

IntelliJ (12/18)

交通大學資訊工程學系

在 Project 中加入檔案 (IntelliJ IDEA)

IntelliJ (13/18)

交通大學資訊工程學系

按 F9 設 Break Point (IntelliJ IDEA)

IntelliJ (14/18)

交通大學資訊工程學系

設定要執行的 class 檔 (IntelliJ IDEA)

IntelliJ (15/18)

交通大學資訊工程學系

設定要執行的 class 檔 (IntelliJ IDEA)

這裡要指定 source 的位置

一定要選擇

含有 main() 的 class

按這個 + 新增

IntelliJ (16/18)

交通大學資訊工程學系

按 Ctrl+F5 開始 Debug

游標移到 a 上,看到 a=5

切換這裡,可以看到 console 輸出

IntelliJ (17/18)

交通大學資訊工程學系

IntelliJ IDEA 的 Debug 功能

IntelliJ (18/18)

交通大學資訊工程學系

• Recommend books– 請進入 bb.nctu.edu.tw 看本課程網頁

Recommended