【Java】基本語法

第一個Java程序

執行打印“Hello World” 

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
  • 打開代碼編輯器(我用的是Sublime Text),把上面的代碼添加進去;
  • 把文件名保存爲:HelloWorld.java;
  • 打開 cmd 命令窗口,進入目標文件所在的位置
  • 在命令行窗口輸入 javac HelloWorld.java 按下回車鍵編譯代碼(一開始因爲有中文註釋,報錯了,刪掉中文註釋即可)。如果代碼沒有錯誤,cmd 命令提示符會進入下一行(假設環境變量都設置好了)。
  • 再鍵輸入 java HelloWorld 按下回車鍵就可以運行程序了

 關於編譯出現的中文錯誤,可以打開sublimne的Preferences>>settings,設置爲UTF-8編碼,命令函輸入javac -encoding UTF-8 fliename.java進行編譯。

例如 javac -encoding UTF-8 HelloWorld.java

基本語法

編寫 Java 程序時,應注意以下幾點:

  • 大小寫敏感:Java 是大小寫敏感的,這就意味着標識符 Hello 與 hello 是不同的。
  • 類名:對於所有的類來說,類名的首字母應該大寫。如果類名由若干單詞組成,那麼每個單詞的首字母應該大寫,例如 MyFirstJavaClass
  • 方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則後面的每個單詞首字母大寫。
  • 源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名作爲文件名保存(切記 Java 是大小寫敏感的),文件名的後綴爲 .java。(如果文件名和類名不相同則會導致編譯錯誤)。
  • 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法開始執行。

Java 標識符

Java 所有的組成部分都需要名字。類名、變量名以及方法名都被稱爲標識符。

關於 Java 標識符,有以下幾點需要注意:

  • 所有的標識符都應該以字母(A-Z 或者 a-z),美元符($)、或者下劃線(_)開始
  • 首字符之後可以是字母(A-Z 或者 a-z),美元符($)、下劃線(_)或數字的任何字符組合
  • 關鍵字不能用作標識符
  • 標識符是大小寫敏感的
  • 合法標識符舉例:age、$salary、_value、__1_value
  • 非法標識符舉例:123abc、-salary

Java修飾符

像其他語言一樣,Java可以使用修飾符來修飾類中方法和屬性。主要有兩類修飾符:

  • 訪問控制修飾符 : default, public , protected, private
  • 非訪問控制修飾符 : final, abstract, static, synchronized

Java註釋

類似於 C/C++、Java 也支持單行以及多行註釋。註釋中的字符將被 Java 編譯器忽略。

接口

在 Java 中,接口可理解爲對象間相互通信的協議。接口在繼承中扮演着很重要的角色。

接口只定義派生要用到的方法,但是方法的具體實現完全取決於派生類。

Java 源程序與編譯型運行區別

如下圖所示:

 

Java和C++的區別

首先應該清楚,Java 是由 C++發展而來的,保留了 C++的大部分內容,其編程方式類似於 C++。但 Java 的句法更清晰、規模更小、更易學。

1. Java是解釋型語言,所謂的解釋型語言(Python也是解釋型語言),就是源碼會先經過一次編譯,成爲中間碼,中間碼再被解釋器解釋成機器碼。對於Java而言,中間碼就是字節碼(.class),而解釋器在JVM(Java Virtual Machine, Java虛擬機)中內置了。
2. C++是編譯型語言,所謂編譯型語言,就是源碼一次編譯,直接在編譯的過程中鏈接了,形成了機器碼。
3. C++比Java執行速度快,但是Java可以利用JVM跨平臺。
4. Java是完全面向對象的語言,所有代碼(包括函數、變量)都必須在類中定義。而C++中還有面向過程的東西,比如是全局變量和全局函數。
5. C++中有指針,Java中沒有,但是有引用。
6. C++支持多繼承,Java中類都是單繼承的。但是繼承都有傳遞性,同時Java中的接口是多繼承,類對接口的實現也是多實現。
7. C++中,開發需要自己去管理內存,但是Java中JVM有自己的GC機制(垃圾收集 Garbage Collection 通常被稱爲“GC”),雖然有自己的GC機制,但是也會出現OOM(全稱“OutOfMemory”)和內存泄漏的問題。C++中有析構函數,Java中Object的finalize方法。
8. C++運算符可以重載,但是Java中不可以。同時C++中支持強制自動轉型,Java中不行,會出現ClassCastException(類型不匹配)。

 

參考:

 https://www.runoob.com/java/java-basic-syntax.html

Java和C++的區別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章