2015年10月14日 星期三

Java 學習日誌 005:一段簡單的Java Application Program的意思

 1 public class FirstProgram
 2 {
 3  public static void main(String[] args)
 4  {
 5   System.out.println("Hello reader.");
 6   System.out.println("Welcome to Java.");
 7   System.out.println("Let's demonstrate a simple calculation.");
 8   int answer;
 9   answer = 2 + 2;
10   System.out.println("2 plus 2 is" + answer);
11  }
12 }

上面為一段Java程式,若你跑這段程式,則你的螢幕上會顯示以下資訊

Hello reader.
Welcome to Java.
Let's demonstrate a simple calculation.
2 plus 2 is 4

                                                                                                                                                                   

延續上次的文章,Java中能定義variable(變數)的東西有兩種,一種是primitive type(基本形態),另一種是reference(參考),其詳細的解釋之後會再說明,而程式第八行中的int,是primitive type(簡稱type)的其中一種。而type,形態,由字面上的意思我們可以想像,其功能為賦予在他之後的東西某種形態,而int這個type的功能是賦予在他後面的東西為整數(integers)的形態(能賦予整數形態的type不只有int,之後會再詳細列出)。因此我們可以知道以下這行程式

int answer;

它的意思為answer是一個變數,而且是一個整數的變數(可以變換、非固定的)。

而接下來的這行程式其實才是第一行真正由電腦運算的程式

answer = 2 + 2;

在Java中,等號(=)是一種指派運算子(assignment operator),用來指派在這個指派運算子左邊的東西所擁有的價值,以上列這行程式為例,他並不是在敘述answer等於2+2這件事,相反的,這個等號是一個指令,讓電腦指派answer的價值等於2+2。

而最後一行

System.out.println("2 plus 2 is" + answer);

這個式子跟我們之前遇到的式子幾乎一樣,只不過稍微有點不同,這行式子中,字串"2 plus 2 is"接著一個加號(+),然後再接著answer,在這樣的情況下(小括號內、引號外),加號是一個運算子,它的功能是串聯在它前後的兩段字串,然而,變數answer並不是一個字串,不過當在加號的一端是字串的時候,它則會將另一端譬如說answer的值4轉換為一個字串,所以answer就會變成字串"4"。因此,這段式子也就等於

System.out.println("2 plus 2 is" + "4");

所以,以上列式子為例,雖然小括號內的內容是要顯示在螢幕上的資訊,不過並不是完全依照這個內容一模一樣的顯示,因為裡面可以有運算子,可以有變數,而這些都會在引號外,引號內的內容,才是那個會被一模一樣顯示出來的資訊。

而最後的兩個大括號是用來結束定義的,第一個大括號結束method main的定義,而第二個則是結束名為FirstProgram的這個class的定義。

這些,大約就是這段程式的意思了。

參考資料:Walter Savitch. Absolute Java. 5th ed.

沒有留言:

張貼留言