MacOS終端下執行一個簡單Java腳本

MacOS下安裝完Java JVM,配置好環境變量後能夠在終端執行一個簡單的java腳本程序,其中先使用javac編譯器將.java文件編譯成字節碼文件,而後經過java解釋器執行字節碼文件。html

編寫一個簡單的腳本

1 class Demo{ 2 
3     public static void main(String[] args){ 4         System.out.println("hello world!"); 5  } 6     
7 }

編寫完後保存爲.java格式,這裏使用終端查看:java

打開終端編譯

使用javac編譯完成後,執行完後目標文件夾下會多出來一個Demo.class字節碼文件。vim

打開終端解釋執行

java命令解釋執行後,發現能夠正常的輸出"hello world",執行OK。spa

Java文件名和類名儘可能一致

如今有個問題,若是我將java文件中類名修改成HelloWorld,會怎樣呢,編譯會有什麼結果,下面在終端下使用vim命令修改了類名以下所示。3d

從新編譯,發現目標文件夾下多出了一個HelloWorld.class的字節碼文件,原來編譯後文件名就是類名,使用java命令能夠正常解釋。code

若是有不少文件,這樣類名和java文件名不一致的狀況應該儘可能避免,這樣能夠添加修飾符public,能夠約束java文件名和文件裏的類名必須保持一致,不然編譯沒法經過,以下就提示了建議修改java文件名和類名一致。htm

Java文件中寫多個類

若是在java文件中定義多個類也是能夠的,編譯後生成多個class文件。blog

在代碼中指定包名

若是在代碼中指定了包名,則使用javac -d 編譯完成後文件夾存放地 java文件命令來編譯,這樣會自動生成文件夾嵌套,並將對應的class文件存放到文件夾下。以下圖所示在Demo.java文件中添加了包名com.boe.exer,使用命令後就在當前文件目錄下生成多級目錄,並能夠使用javac來執行,可是須要寫class文件包名+類名。get

結論

(1)Java執行需先將代碼轉換成字節碼文件,字節碼文件被解釋器執行解釋後變成機器碼,機器碼才能被計算機識別執行。編譯器

(2)編譯命令:javac 編譯的java文件全名,包括文件類型java。

(3)運行命令:java 要運行的class文件名,通常爲一個類對應一個class文件

 

參考博文:http://www.javashuo.com/article/p-puzhoveu-cm.html

相關文章
相關標籤/搜索