第一個 java 程序 Hello World

Java 學習筆記(01)

mywang88


開發環境:IntelliJ IDEA 2018.2.5
源文件名:HelloWorld.java
代碼:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("haha");
    }
}

右鍵,選擇 Run 'HelloWorld.main()',運行結果是屏幕輸出:

haha

如果不使用 IDE ,也可以在命令行模式下執行:

javac HelloWorld.java
java HelloWorld

分析:

一個 java 腳本就是一個類,或者說一個類的定義腳本。

類名,要跟源文件的名稱一致。同時,類名應該遵守首字母大寫的駝峯命名法。

當要執行一個 java 腳本(或者說程序,類)的時候,執行的實際上是這個腳本所定義的類中的名爲 main 的方法(方法,即類中的函數)。換言之,如果一個類中沒有名爲 main 的方法,它就不能被作爲一個程序直接執行。

一個沒有 main 方法的 java 類(腳本)雖然無法直接執行,但它可以被別的(能夠執行)的類引用。

main 方法,似乎也被稱爲“入口”。

接下來,逐句解析這個程序。


public

public 關鍵字,是一個**“訪問控制修飾符”,翻譯爲“公共的”**,表示它修飾的東西可以被其它所有類訪問。它可以用來修飾類,也可以用來修飾方法。


public class HelloWorld{
    
}

class 關鍵字用來對類進行定義(聲明)。在這裏,它定義了一個名爲 HelloWorld 的類。花括號中爲類的具體內容。


static

static 關鍵字,翻譯爲**“靜態的”**。

用 static 修飾的某個“方法”,可以在沒有創建(它所屬於的)類的對象(實例)的情形下被調用,即:

類名.方法()

void

void 關鍵字,翻譯爲**“無返回值”**,表示所修飾的方法沒有返回值。

public static void 共同修飾了要創建的方法 main ,表示這個方法是公共的、靜態的、無返回值的。


main(String[] args){
    
}

這個語句定義了一個名爲 main 的方法。

小括號中定義了這個方法的輸入參數。輸入的參數的類型爲 String[] ,其中 [] 表示這是一個數組,而 String 表示數組中的元素的類型爲“字符串”,即輸入的參數類型爲一個“由字符串組成的數組”。輸入的參數,在調用本方法時,會被賦值給一個叫做 args 的變量(形參)。

花括號中爲本方法的具體內容。

由於 main 方法的返回類型是 void ,因此,在方法的具體內容中沒有 return 語句。


System.out.println("haha");

Systemjava.lang 包下的一個類。

outSystem 類的一個屬性,它的類型是 PrintStream

PrintStream 類包含一個名爲 println 的方法,這個方法的作用是將傳遞給它的參數,本例中是字符串“haha”,打印到屏幕上。

綜上,這個語句調用了 System 類的 out 屬性的 println 方法。

在 java 語言規範中,分號代表一個語句的結束。

小結

一個小小的 HelloWorld 例子中竟然包含了如此多的 java 知識,充分體現出了 java 面向對象的語言特徵,學到了不少。

筆者不久前剛開始學習 Python,忍不住寫了個對應的 Python 腳本:

class HelloWorld:
	@staticmethod
	def main():
		print('haha')

HelloWorld.main()

當然,在接觸面向對象編程之前,筆者更傾向於寫成:

print('haha')

開始領會面向對象吧…

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