前往
大廳
主題

Java SE 學習札記

Film | 2021-08-21 17:11:26 | 巴幣 100 | 人氣 404

Java SE 學習札記

使用教材 : Java 7 教學手冊 第五版 / 洪維恩 著


註:學習時使用JAVA 11版本進行,並非使用老師教學的JAVA 7


第一章 :認識Java

第一章摘要:
1. Java 於 1995 誕生,由美國加州 Sun Microsystems 所推出,是一種能夠跨平台使用的程式語言。
2. Java 語言前身為Oak(橡樹),相傳是Java 設計者 James Gosling 在制定Oak的樹狀結構時,抬頭看到一顆茂盛的橡樹,即命名之,後來註冊時Oak已經被其他公司註冊過,遂以工程師手上正在喝的咖啡Java命名。
3. JDK 版本 可分為 標準版(Java SE / 用戶端部分) ,微型版(Java ME / 使用在崁入式系統如: 手機上),
    企業版(Java EE / 伺服器端)。
4. Java 程式必須先經過 編譯器(compiler) 後,轉成與平台無關的機器碼,稱之為"位元組碼"(bytecode)在 透過 直譯器(interpreter)方式執行。
5.bytecode 最大好處 : 可跨越平台來執行,讓 "撰寫一次,到處運行" (write once , run anywhere)的夢 想成真。
6.Java 程式可分為 (1)Java application 與 (2)Java applet 。 Java application 是指可以在平台上獨立執行    的,而 Java applet 是要搭配html檔並使用瀏覽器執行。

第一章 習題 :

A1. 簡單描述 Java 發展過程:
Q1: 誕生於1995/5/23,是基於C++所開發的物件導向程式語言,最初是試著修改C++功能,但一直無法克服編譯器問題,遂自行開發當時稱為Oak的程式語言(現為java),1994年時搭上www風潮,成功 在網路應用上一炮而紅,2004年被Oracle收購。

A2. 請問JAVA SE,JAVA ME,JAVA EE,怎麼分別:
Q2: SE : 主要用於用戶端,是學習JAVA的第一步驟
       ME : 使用於崁入式裝置居多,如:手機,家電元件等等。
       EE : 伺服器應用與分散式網路應用。

A3. 何謂位元組碼,並指出它的好處。
Q3: 是Java 在進行編譯器後的機器碼,再透過JVM(Java Virtual Machine)後運行執行。
       可跨越平台執行,實現了程式碼一次撰寫,到處編譯的夢想。

A4. 何謂JVM(Java Virtual Machine) :
Q4 :任何一種可執行Java的軟體,均可看成JVM,是執行Java 機器碼(同位元碼)的重要工具,沒有 JVM,Java就沒辦法實現撰寫一次,到處運行。


第二章: 簡單的Java 程式


第二章摘要 :

1.在Java裡,如果一個類別宣告為public,則它的檔案名稱必須與類別名稱相同才能順利編譯。
   例 : public class Chasel{},Chasel宣告為public ,檔案名稱必須為:Chasel.java
2.main()在Java裡是一個相當特殊的函數,它一定要宣告成public,使得在類別的其他地方皆可呼叫到 它,且main()沒有傳回值,所以前面要加上void關鍵字。
3.System.out 是指標準輸出,其後所接續的文字println是由print + line 所組成的,意義是將後面括號內的內容列印於標準輸出設備,即螢幕上。
4.由於Java程式是由類別所組成,所以在完整的程式內必須要有一個類別。
5.Java 的變數名稱可為英文、數字或底線,但名稱中不可以有空白字元,不能是Java的關鍵字,且第一  個字元不能是數字,此外,Java變數有區分大小寫。
6.Java語言 註釋 使用 : // 單行註釋 ,  /*      */ 多行註釋 ,/**     */ 文檔註譯。
7.提高可讀性方法 : (1)程式中添加註譯, (2)為變數取個有意義的名稱 ,(3)保持每一行只有敘述,
   (4)適當的空行, (5)將程式敘述縮排。

第二章 習題:
2-1.了解下列程式碼,加上註解並執行它。
public class hw2_1 {   //定義public 類別 hw2_1
     public static void main(String[]args){
         int n = 8;  //宣告 一個整數變數名為n,並賦值為8
         System.out.println(n + " + " + n + " = " + (n+n));  // 輸出為 8 + 8 = 16
         System.out.println(n + " * 5 = " + (n*5));  //輸出為 8 * 5 = 40
   }
}
2-1-1.
System.out.println(n + " + " + n + " = " + n+n); //會變成輸出 8 + 8 = 88 ,要注意括號與運算優先級
System.out.println(n + " * 5 = " + (n*));   //會運行失敗

2-2.main() 函數 前的三個修飾子,請寫出3個修飾子並詳細敘述他們功能
Q2-2 : public (讓main可以被其他地方呼叫) , static(宣告成類別函數,使得程式一啟動,就可以自動執行main) ,void (沒有傳回值)。




創作回應

更多創作