物件導向程式設計 – 實習課

13
物物物物物物物物 – 物物物 物物 物物物 1

description

物件導向程式設計 – 實習課. 助教:黃煒勛. 本周進度. Java 的三種版本 Java 特性 相關用語 程式進入點 程式類別 存取等級 建構子 基本八大型別 Java 關鍵字. JAVA 的三種版本. JAVA 特性. 跨平台 ( 跨作業系統 ). 編譯 (javac). 執行 (java). xxx.java. xxx.class. JVM. 原始碼. 位元碼. Windows 編譯時期. Linux 、 mobile 、 mac 、 PDA 執行時期. 相關用語. 程式進入點 (ENTR POINTER). - PowerPoint PPT Presentation

Transcript of 物件導向程式設計 – 實習課

Page 1: 物件導向程式設計  –  實習課

物件導向程式設計 – 實習課助教:黃煒勛1

Page 2: 物件導向程式設計  –  實習課

本周進度 Java 的三種版本 Java 特性 相關用語 程式進入點 程式類別 存取等級 建構子 基本八大型別 Java 關鍵字

2

Page 3: 物件導向程式設計  –  實習課

JAVA 的三種版本

版本 應用 相關證照

Java SE (Standard Edition)

桌上型 SCJP

Java EE (Enterprise Edition)

Web 應用程式 SCWCD

Java ME (Micro Edition) 手機game 、 PDA

SCMAD

3

Page 4: 物件導向程式設計  –  實習課

JAVA 特性 跨平台 ( 跨作業系統 )

xxx.javaxxx.clas

sJVM

原始碼

編譯(javac

)

執行(java)

位元碼

Windows 編譯時期 Linux 、 mobile 、 mac 、 PDA 執行時期

4

Page 5: 物件導向程式設計  –  實習課

相關用語名詞 解釋

JVM Java 的虛擬機器

JRE JVM+Java 核心程式庫

JDK JRE+Java 開發工具

API Application Programming Interface

5

Page 6: 物件導向程式設計  –  實習課

程式進入點 (ENTR POINTER)

備註 1 備註 2

修飾字 public 、 static

程式 compiler時,會找出這些規則,並將其判定為「主方法」

回傳型別 void 必需要有才可以compiler

名稱 main

參數 String[]

範例: public static void main(String[] args)

此為固定寫法,請同學務必熟記 !! 6

Page 7: 物件導向程式設計  –  實習課

程式類別 (CLASS) class :

在 java 世界中,即為類似 API 的存在,以往在 c 的時後,平常會將 function 都寫在 main 的程式中,在Java 中,為了方便管理,會將 function 分門別類,將同一類型或功能相似的 function 寫成一個 class 。

類別 (class) 主體: 格式: [ 修飾字 ] class [ 類別名稱 ] 範例: public class MyFirstClass{}

類別中的方法 (function) 主體: 格式: [ 修飾字 ] [ 回傳型別 ] [ 方法名稱 ] [ 參數 ] 範例: public void saySomething(String str)

{}

7

Page 8: 物件導向程式設計  –  實習課

程式類別 (CLASS) – 續 類別 (class) 名稱「命名規則」:

第一個字可為: $ 、 _ 、字母、 第二個字可為: $ 、 _ 、字母、數字 範例: public class $abc{} 、 public class _123{} 備註:

此處的「 $ 」、「 _ 」是特例,其他特殊符號皆不可,而「 $ 」可為各國語言,如日文中「 ¥」、歐文中「£」皆可。

此處的字母可為各國字母皆可 。

注意 << 證照考題 >> 「檔名」和類別主體中的「類別名稱」一樣。 一個程式可以有很多「 class 」類別 ( 當 API 涵式庫用 ) ,

但一個程式只能有一個「 public class 」 ( 主程式 main 使用 )

8

Page 9: 物件導向程式設計  –  實習課

存取等級

+ : public

# : protected

: [default]

- : private

9

Page 10: 物件導向程式設計  –  實習課

建構子 (CONSTRUCTOR) 實例化過程中,第一個必定被執行的方法。

建構子通常用來: 撰寫物件的初始程序 指定物件所需的變數資料

建構子的撰寫: 名稱和類別相同。 沒有 retrun type 的宣告區。 在同一類別中,能撰寫多個建構子 ( 稍後會提 overloading) 。

預設建構子: 無任何自訂建構子時, compiler 會自動建立。 沒參數。 存取等級和 class 一致。

10

Page 11: 物件導向程式設計  –  實習課

建構子 (CONSTRUCTOR) – 續 範例:

預設建構子: public myFirstConstructor(){} // 無參數即為預設建構子,

可寫可不寫

多個建構子 (overloading) : public myFirstConstructor(int a){} public myFirstConstructor(float a){} public myFirstConstructor(double a){} public myFirstConstructor(String a){} 備註:

多個建構子時,其 function 名稱必需相同,唯有傳入的參數必需不同。11

Page 12: 物件導向程式設計  –  實習課

基本八大型別:分類 保留字 名稱 Byte 有效範圍 ( 有印像就好,不需背… )

整數

byte 位元組 1 -128~127short 智整數 2 -32,768~32,767

int 整數 4 -2,147,483,648~2,147,483,647

long 長整數 8-9,223,372,036,854,775,808~9,223,672,036,854,775,807

浮點

float 浮點數 4負值 -3.402823E38~-1.401298E-45正值 1.401298E-45~3.402823E38

double 倍精數 8

負 值 -1.797693134E3.8~4.9406564584124E-324正 值 4.94.6564584E-324~1.797693134862E308

其他

char 字元 2 \u0000~\Uffffboolea

n布林值 2 true,false

備註:字串類別 ( 請注意 , 是類別而非型態 ): String

12

Page 13: 物件導向程式設計  –  實習課

JAVA 關鍵字以下關鍵字,請勿拿來宣告使用 !!

abstract

assert break byte boolean catch

class const continue case char do

default double enum extends else for

false final finally float goto interface

if implements

import int instanceof long

native new null static synchronized

switch

strictfp short super true try void

this throw throws protected

transient while

return volatile private public package 13