星期三, 9月 25, 2013

2013IT鐵人賽-10-Java02-Java程式語言的基礎

2013IT鐵人賽-10-Java02-Java程式語言的基礎



首先先整理一下程式語言的基礎(放著其實後面還是會忘記的....)


程式語言
  • 機器語言
    • Machine Language
    • 電腦唯一能辨識能解讀的語言, 由0與1組合而成, 大多數人無法記憶
  • 低階語言
    • Low-Level Language
    • 使用人類比較容易記憶的單字來對應 0與1
    • 最典型的低階語言就是 組合語言 Assembly Language
    • 不同的CPU 必須使用不同的組合語言,且CPU的認知要很深
  • 高階語言
    • High-Level Language
    • 比機器語言更接近自然語言,必須先透過翻譯程式的翻譯才可以被電腦執行
      • 翻譯程式有兩種
        • 編譯器 compiler
          • 採用 整批的方式(Batch)處理程式翻譯的工作
          • 先轉換為中間碼, 再將中間碼翻譯為目的碼並存入目的檔(object file)中, 目的檔經由連結其他目的檔及程式庫, 形成可執行檔(execute file)
          • C / C++ / / Pascal
        • 直譯器 interpreter
          • 同樣會將程式翻譯為中間碼,但是不產生 目的檔或可執行檔, 直接送交電腦執行
          • 每次執行程式的時候都要啟動直譯器來重新翻譯程式
          • JavaScript / VBScript / Python  



Java 的特徵
  • 跨平台
  • 物件導向語言
    • OOPL ( Object-Oriented Programming Language )
      • 以物件為出發點, 藉由物件與物件之間的互動完成問題的解答
      • 每一個物件是獨立的個體, 因此更動某一個物件內容的時候, 其他物件不需要更動
    • 基本單位是 類別class
      • 必須先定義類別才可以透過類別宣告各個屬於該類別下的物件
      • 類別可以獨自建立, 也可以利用類別的繼承, 資料封裝等特性提高效率
    • 特點
      • 封裝性
        • encapsulation
        • 可以將物件區分為可被外界使用的特性以及受保護的內部特性
          • 除非是允許外部程式存取的資料, 否則無法更改物件內的資料
        • 等級
          • public
            • 開放給任何程式碼取用
          • private
            • 只允許相同類別的程式碼取用
          • protected
            • 只允許相同類別以及衍生類別取用
      • 繼承性
        • inheritance
        • 為了達成重覆使用的一種策略
        • 衍生類別允許繼承基底類別的屬性及方法, 並加入新的屬性及方法, 或者改寫(override)某些繼承的方法,改成適用自己的方法
      • 多型性
        • polymophism
        • 代表一種彈性, 可以在衍生類別內藉由改寫(override)產生不同的執行方法
  • 可以簡單建構網路系統
  • 支援多執行緒
  • 安全性高
    • 下載的Applet不能存取本地端的檔案



JDK
  • Java Development Kit 開發所需的所有軟體
  • JDK 1.2 版之後改名為 Java2 Platform SDK
  • J2SE
    • Java2 Platform Standard Edition
  • J2ME
    • Java2 Platform Micro Edition
    • 行動裝置使用
  • J2EE
    • Java2 Platform Enterprise Edition
    • 開發企業大規模程式使用     


JRE
  • Java Runtime Environment
  • Java的執行環境
  • 包含主要的API以及JVM  


JVM
  • Java Virutal Machine
  • 為直譯器,負責把 Bytecode 轉成機器碼  



javac 編譯器
  • 將指定的程式原始碼編譯為類別檔
  • javac     file.java
  • 主要參數
    • -classpath  classpath                 
      • Set  the user class path, overriding the user class path in the CLASSPATH environment variable.
    • -d  directory
      • Set the destination directory for class files. The destination directory must already exist; javac will not create the destination directory.
    • -encoding  encoding
      • Set the source file encoding name, such as EUC-JP and UTF-8.. If -encoding is not specified, the platform default converter is used.
    • -g
      • Generate all debugging information, including local variables. By default, only line number and source file information is generated.
    • -nowarn
      • Disable warning messages.     



Java 的開發步驟
    1. 以文字編輯器輸入程式碼
    2. 以純文字儲存, 副檔名為 .java
    3. 以javac 指令編譯 產生 .class的類別檔案
    4. 使用java 指令執行類別檔案(不要輸入 .class 的副檔名)
    5. 確認程式是否有錯誤, 如果有錯誤修改內容       





Fun with Day 10 ~

沒有留言: