初識Java
使用記事本開發Java程式
1、使用記事本編輯.java源程式,類名和檔名相同
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World");
}
}
2、使用javac命令編譯,生成.class檔案
3、使用java命令執行.class檔案
Java程式執行過程
1、編寫源程式如:MyProgram.java
2、編譯源程式生成位元組碼檔案如:生成MyProgram.class
3、執行
Java虛擬機器與跨平臺原理
JVM(Java Virtual Machine,簡稱 JVM)也是一個軟體,不同的平臺有不同的版本。我們編寫的Java原始碼,編譯後會生成一種 .class 檔案,稱為位元組碼檔案。Java虛擬機器就是負責將位元組碼檔案翻譯成特定平臺下的機器碼然後執行。也就是說,只要在不同平臺上安裝對應的JVM,就可以執行位元組碼檔案,執行我們編寫的Java程式。
而這個過程中,我們編寫的Java程式沒有做任何改變,僅僅是通過JVM這一”中間層“,就能在不同平臺上執行,真正實現了”一次編譯,到處執行“的目的。
JVM是一個”橋樑“,是一個”中介軟體“,是實現跨平臺的關鍵,Java程式碼首先被編譯成位元組碼檔案,再由JVM將位元組碼檔案翻譯成機器語言,從而達到執行Java程式的目的。
注意:編譯的結果不是生成機器碼,而是生成位元組碼,位元組碼不能直接執行,必須通過JVM翻譯成機器碼才能執行。不同平臺下編譯生成的位元組碼是一樣的,但是由JVM翻譯成的機器碼卻不一樣。
所以,執行Java程式必須有JVM的支援,因為編譯的結果不是機器碼,必須要經過JVM的再次翻譯才能執行。即使你將Java程式打包成可執行檔案(例如 .exe),仍然需要JVM的支援。
注意:跨平臺的是Java程式,不是JVM。JVM是用C/C++開發的,是編譯後的機器碼,不能跨平臺,不同平臺下需要安裝不同版本的JVM。
Java程式結構
/**
* javaDoc註釋
* public公共的
* 每個.java檔案都需要一個public的公共類,也只能有一個
* 公共類名必須和檔名保持一致
*/
public class HelloWorld {
/*
多行註釋
在中間寫的都會被註釋掉
下面是主方法入口;
static的
void無返回值的方法
main 方法名 main比較特殊,不建議寫成其他方法
String字串
[]陣列
args是引數名,可變,但在主方法中,不建議變
*/
public static void main(String[] args){
//單行註釋 列印 如果是println是換行列印
System.out.print("Hello World");
}
}
從控制檯輸出資訊
System.out.print();
System.out.println();
轉義符
\n 將游標移動到下一行的第一格
\t 將游標移動到下一個水平製表位置(如果前面沒有字元,預設四個字元,如果有,補全四個)
Java程式的註釋
單行註釋:以//開始
多行註釋:以 /*開始以*/結尾
JavaDoc註釋:以/**開始以*/結尾
編譯與反編譯
編譯:將原始檔(.java)轉換成位元組碼檔案(.class)的過程稱為編譯
反編譯:將位元組碼檔案(.class)轉換回原始檔(.java)的過程稱為反編譯