javac.exe,將 .java 原始碼編譯為位元碼 .classjava.exe (Windows),執行 .class 檔案(副檔名可省略)# 編譯
javac HelloWorld.java
# 執行
java HelloWorld
# 指定輸出目錄
javac -d DIR HelloWorld.java
# 指定類別搜尋路徑
javac -classpath PATH HelloWorld.java
HelloworldApp.javaimport java.io.*;
public class HelloworldApp {
public static void main(String[] args) {
System.out.println("Hello, this is a simply test !");
}
}
HelloworldApp.javajavac HelloworldApp.java,產生 HelloworldApp.classjava HelloworldApp,輸出:Hello, this is a simply test !Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp
原因:Classpath 未包含當前目錄。解決:在 .class 所在目錄執行 set classpath=. 或永久設定環境變數 CLASSPATH=.;...
test.java/**
* The first program.
* @author warton
* @version 1.0 2004-01-01
*/
import javax.swing.JOptionPane;
public class test {
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "Hello, this is a basic Java program!");
System.exit(0);
}
}
import java.io.*; // 基礎 I/O 套件,類似 C 的 #include <stdio.h>
import javax.swing.JOptionPane; // Swing 視窗元件
public class test { ... }
public:公開存取public static void main(String[] args) { ... }
static:無需實例即可呼叫String[] args:命令列參數陣列,args[0] 為第一個參數System.out.println("文字"); // 主控台輸出並換行
JOptionPane.showMessageDialog(...); // 視窗訊息對話框
// 單行註解/* 多行註解 *//** Javadoc 文件化註解 */:含 @author、@version 標籤產生文件指令:javadoc -d doc -author -version test.java,輸出 HTML 文件至 doc 目錄。
#include <stdio.h>
main() {
printf("This is a simply test !\n");
}
#include <iostream.h>
void main(void) {
cout << "This is a simply test !" << endl;
}
public class Hello {
public static void main(String[] args) {
System.out.println("This is a simply test !");
}
}
| 特性 | C | C++ | Java |
|---|---|---|---|
| 進入點 | main() | main() | main(String[] args) |
| 輸出 | printf | cout | System.out.println |
| 註解 | /* */ // | /* */ // | /* */ // /** */ |
| 類別/物件 | 無 | 有 | 核心機制 |
| 記憶體管理 | 手動 | 手動/智慧指標 | 自動 GC |
Java 的語法深受 C/C++ 影響,但引入了類別封裝、自動記憶體管理、跨平台位元碼等現代特性,是物件導向程式設計的經典入門語言。