首先我們在桌面,開始->運行->鍵入cmd 回車,進入windows命令列。進入如圖所示的畫面:
可知,目前預設目錄為C碟Users資料夾下的Administrator資料夾。一般而言,我們習慣改變當前目錄。由於windows有磁碟分割區,若要跳到其他磁碟,例如E盤,有幾種方法:
1.輸入指令: pushd 路徑(此指令可將目前目錄設為所希望的任一個已存在的路徑)
2、輸入指令: e: 轉移到e盤,然後再輸入cd 轉移到所希望的已知路徑。
如圖:
希望在windows命令列下使用javac、java、javap等命令,那麼當前電腦必須安裝了jdk,並且將jdk的bin目錄添加到環境變量path下了。這個不用多說。那麼就讓我們來看看如何使用javac、java、javap吧。
一、javac
javac是用來編譯.java檔的。命令列下直接輸入javac可以看到大量提示訊息,提示javac指令的用法,我只知道常用的。
javac -d destdir srcFile
其中:1、-d destdir是用來指定存放編譯產生的.class檔案的路徑。 (若此選項省略,那麼預設在目前目錄下產生.class文件,且沒有產生套件資料夾;目前目錄可以用「.」來表示,即:javac -d . srcFile )
注意:新增-d選項除了可以指定編譯產生的.class檔案的路徑外,最大的差異是可以將來源檔案首行的package關鍵字下的套件名稱在當前路徑下產生資料夾。
2、srcFile是來源檔.java檔的路徑。
例如:有這樣簡單的java類,路徑為E:/test/JavacTest.java:
複製代碼代碼如下:
package com.stopTalking.test; public class JavacTest {
public static void main(String[] args) {
byte a = 5;
short b = 6;
System.out.println("JavacTest [a=" + a + ", b=" + b + "]");
}
}
在當前路徑下,輸入javac JavacTest.java ,便在當前路徑下生成了一個JavacTest.class的文件,如圖:
注意:JavacTest.java是一個首行標註了package的java文件,而此時它在硬碟上的目錄並未對應它的包名,所以,使用java com.stopTalking.test.JavacTest運行時是無法找到該java的。
若輸入,javac d . JavacTest.java ,那么生成的JavacTest.class便在當前目錄下生成的包文件中了,如圖:
二、java
此時,我們希望運行該類,在大部分的教材中,使用java JavacTest便可直接運行,可是我們發現出現這樣的錯誤:
這是因為,大部分的教材使用的類別是預設包名的,也就是原始檔的第一行是沒有package指定包名的。使用一個類,我們知道,是需要使用它的全限定類名的。
所以,我們在命令列輸入:java com/stopTalking/test/JavacTest,便可看到正確的結果了:
總結:使用簡單的java指令執行一個.class文件,不僅需要使用該類別的全限定類別名,而且需要在目前路徑下有該類別的包層次資料夾。這必須要求編譯時使用-d選項。否則需要自己來建立包層次資料夾。
三、javap
javap主要用來幫助開發者深入了解Java編譯器的機制,主要選項有:
-c 分解方法代碼,即顯示每個方法具體的字節碼
-public | protected | package | private 用於指定顯示哪種等級的類別成員
-verbose 指定顯示更進一步的詳細信息
輸入javap -c com/stopTalking/test/JavacTest,顯示如圖: