Microsoft PowerPoint - SE7ch02.ppt

Size: px
Start display at page:

Download "Microsoft PowerPoint - SE7ch02.ppt"

Transcription

1 第二章 Java 從零開始 (Java 程式的基本結構 ) 課前指引在本章中, 我們將透過一個非常簡單的 Java 程式來說明 Java 的程式結構 章節大綱 2.1 最簡單的 Java 程式範例 2.2 註解 (comment) 2.6 Java 程式的進入點 main( ) 2.7 Java 的敘述 2.3 package 區 2.4 import 區 2.8 println() 輸出方法的簡易使用法 2.9 自由格式與空白字元 2.5 類別區 2.10 Eclipse IDE 的活用 備註 : 可依進度點選小節 2.11 本章回顧

2 課前指引 在第一章中, 相信讀者已經熟悉如何編譯 Java 程式 在本章中, 我們將透過一個非常簡單的 Java 程式來說明 Java 的程式結構 並且從本章開始, 我們將實際撰寫每一個 Java 範例程式, 在撰寫程式之前, 我們必須先提醒讀者以下幾件事 (1) 所有的範例原始程式, 其副檔名皆為.java 3 課前指引 (2) 寫程式就和學數學一樣, 必須親手練習, 每當讀者看完一個範例之後, 請自行動手將程式內容一個字一個字的輸入到檔案中 並且詢問自己, 本行程式的意義為何, 是否可以略過以及改寫 除此之外, 我們並不建議讀者強記各種指令敘述及語法細節, 但由逐字輸入及練習撰寫程式的過程中, 讀者將自然地記住這些指令敘述及語法 同時,Java 的各類 IDE 也能提供方便撰寫程式的環境 4

3 課前指引 (3) 寫程式著重在邏輯思考能力的培養, 從第 4 章開始將會介紹一些程式的控制流程讀者在思考新問題的解答或觀看範例時, 若一時無法理解程式, 請盡可能畫出對應的流程圖, 如此將有助於學習程式的控制流程 (4) 萬丈高樓平地起 ; 寫程式就像是堆積木一樣任何一個大型程式都是由小型程式 類別 函式或程式區塊所組成 因此當學習完本書所有範例時, 不必懼怕開發中大型程式的挑戰 註 : 雖然物件導向程式語言對於開發大型程式有利, 但開發有效率的大型程式尚須要配合軟體工程的理論以及系統分析的能力, 此時您可能需要更多有關於這方面的訓練 最簡單的 Java 程式範例 下面是一個簡單的 Java 程式範例, 請逐字將之輸入到副檔名為.java 的檔案中同時,Java 程式的主檔名與程式內容有關, 我們將在後面 解釋其相關性 若您的 IDE 已經幫您建立了某些預設內容, 請先將它刪除後再輸入範例 2-1: ch2_01.java ( 隨書光碟 myjava\ ch02\ch2_01.java) /* 檔名 :ch2_01.java 功能 : 簡單的 Java 程式範例 */ package myjava.ch02; import java.lang.*; public class ch2_01 // 主類別 { public static void main(string args[]) { System.out.println(" 歡迎使用 Java!"); } } class MyClass { } 請先將光碟範例 copy 至 C:\!! // 一般類別 6

4 2.1 最簡單的 Java 程式範例 執行結果 : C:\myJava\ch02>javac ch2_01.java C:\myJava\ch02>cd\ C:\>java myjava.ch02.ch2_01 歡迎使用 Java! C:\> 非粗體代表程式的輸出 粗體代表使用者的輸入 範例說明 : (1) 程式真正的執行結果只有 歡迎使用 Java!, 其他都是操作命令 其中 javac ch2_01.java 是編譯 ch2_01.java 程式它將會產生 ch2_01.class 及 MyClass.class 兩個類別檔 而 java myjava.ch02.ch2_01 是要求 JVM 執行 ch2_01.class, 必須在 C 槽根目錄下執行 您也可以如同第一章使用兩個 Dos 視窗分別進行編譯與執行 本範例之後的執行結果, 我們將省略這些操作步驟, 直接印出執行結果 最簡單的 Java 程式範例 (2) 雖然範例 2-1 是一個只有 18 行的 Java Application 程式, 但是卻說明了 Java Application 的基本結構如下, 我們將分別加以說明 圖 2-1 Java Application 原始程式的基本結構 8

5 2.2 註解 (comment) 在程式的任何地方都可以加入註解, 而這些註解對於編譯器而言是沒有意義的, 沒有這些註解並不會影響程式的正確性 所以這些註解文字可以當作說明該程式或程式片斷之用, 善用註解文字將有助於日後維護程式時, 快速了解該段程式的功用 註解 (comment) Java 的註解符號有三種如下 : 區塊註解符號 /* */ 在 /* 到 */ 之間的所有文字 ( 可跨行 ) 都將被編譯器忽略 例如範例 2-1 的第 1~4 行為註解 一般說來, 由於區塊註解具有跨行效果, 因此為了明顯起見, 我們會在隔行處多加上一個 * 來表明 ( 但有無星號都不影響註解效力 ), 並且將星號對齊 例如第 1~4 行的註解改寫如下較佳 : /* * 檔名 :ch2_01.java * 功能 : 簡單的 Java 程式範例 */ 10

6 2.2 註解 (comment) Java 的註解符號有三種如下 : 單行註解符號 // 小試身手 2 1 Java 也提供了一種單行註解符號 //, 凡是 // 之後的整行文字都會被視為註解 例如範例 2-1 的第 8 16 行的後半段為註解 而第 1~4 行的註解也可以改寫如下 // // 檔名 :ch2_01.java // 功能 : 簡單的 Java 程式範例 // 將範例 2 1 的第 1~4 行刪除, 並修改為如上的單行註解格式, 然後重新編譯與執行, 看看執行結果是否相同? 註解 (comment) Java 的註解符號有三種如下 : 文件註解符號 /** */ 文件註解只有在使用 Javadoc 工具製作說明文件時有用事實上, 文件註解對於編譯器而言, 與區塊註解完全相同, 因為都是由 /* 開始, 到 */ 結束 Javadoc 是一個程式, 它可以將您的 Java 程式說明萃取成 HTML 檔案, 這些 HTML 檔與 JDK 說明文件的 HTML 具有相同的外觀, 其中包含類別 介面 變數 方法等相關資訊 在本書中, 我們將不使用這種註解格式, 有興趣的讀者, 可以於學會 Java 後參閱下列網址, 利用文件註解製作說明文件 : ation/index-jsp html 12

7 2.3 package 區 package 區是用來宣告該檔案中的類別屬於哪一個 Package( 類別庫 ), 必須出現在程式的最上方, 且只能有一個 換句話說, 一個 Java 程式檔最多只能隸於一個 Package, 以便於管理 如果不想要將該程式隸屬於任何 Package, 則可以省略 package 區的宣告, 此時程式檔將隸屬於 預設的 Package package 區 Package( 也可翻為程式包裹 ) 是管理類別 (Class) 的容器, 在 Java 中, 管理套件採用檔案系統的目錄結構方式來管理, 對於開發大型程式而言, 應該善用 Package 管理各個類別 重點如下 : 1. 同一個 Package 內的類別名稱不能重複, 因此有助於跨檔案開發程式時的管理 2. 相關類別通常被放在同一層目錄, 以便方便管理及存取 3. 可開發屬於自己或公司的類別程式庫 4. 程式設計人員可以很容易取用所需要的類別 14

8 2.3 package 區 套件管理以目錄方式來管理, 是基於檔案系統的習慣做為出發點, 而 Java 也延續此一特點將 Package 對應到所屬的目錄結構 舉例來說, 範例 2-1 位於 C:\myJava\ch02\ 目錄內, 因此, 我們可以將目錄路徑 myjava\ch02\ 的目錄階層符號 \ 改為. 作為 Package 名稱, 亦即 myjava.ch02 如此一來, 就可以確保 Package 的唯一性 package 區 是否宣告或如何宣告 Package 在編譯時 ( 使用 javac.exe 編譯 ) 是毫無影響的, 只有在 JRE 執行時 ( 使用 java.exe 執行 ) 才會有所影響 所以在範例 2-1 的執行結果中, 我們由於宣告了 Package, 因此執行時, 必須先使用 cd\ 切換到根目錄然後才能執行 ch2_01.class 類別檔, 否則 JRE 會找不到 ch2_01.class 類別檔 16

9 2.3 package 區 第 3~10 章的程式中, 我們都將 package 宣告為 myjava.chxx, 因為我們的程式將會放在 myjava\chxx 目錄中, 而編譯後的 class 檔案將與 java 原始檔位於同一目錄下 待第 11 章後, 宣告的 package 將會產生變化, 而我們也將在第 11 章說明宣告 package 的細節 package 區 如果我們把 package 那一行刪掉或把它變成註解, 則 ch2_01.java 將屬於預設的 package, 我們可在該目錄下直接用 java 命令執行! 18

10 2.3 package 區 如果我們用 Eclipse IDE 來執行範例程式 ( 用 import 命令 ), 道理亦相同, 把 package 那一行 mark 或刪去即可 19 20

11 21 22

12 23 24

13 25 26

14 2.4 import 區 在開發 Java 程式時, 或多或少我們會使用到一些現成的類別 (class), 以縮短程式開發的時程 這些現成的類別可能是由 JDK 或其他廠商所提供的, 也可能是自己先前已開發完成的 無論如何, 想要引用這些類別, 就必須先將其在 import 區中宣告 且 import 區必須位於 package 區之下, 所有類別區之上, 以便讓編譯器或執行器一開始就能夠找到類別所在位置 import 區 Java 的類別使用類別庫 (package) 來管理, 而類別庫則是採用目錄階層式管理, 為了方便使用, 我們可以採用 * 代表該階層的所有類別 ( 但不包含子目錄 / 子類別庫內的類別 ) 例如在範例 2-1 中,import java.lang.*; 代表的就是引用 java.lang( 這是一個 JDK 提供的 Package) 下的所有類別 例如 java.lang.object 與 java.lang.string 28

15 2.4 import 區 事實上,Java 的所有類別全部都繼承自 java.lang.object 換句話說, 只要程式中未指定父類別的類別, Java 都會自動指定 Object 作為其父類別 例如在範例 2-1 中第 16 行的 MyClass 就是以 Object 做為父類別, 所以應該要引入 java.lang.object, 而我們則以 java.lang.* 做為引入類別庫的宣告 import 區 由於 java.lang 類別庫存放著大量常使用的類別 ( 例如字串類別 數學類別 Object 類別等 ), 所以 Java 會自動引入 java.lang 類別庫 故而省略範例 2-1 的 import java.lang.*;, 並不會造成程式的錯誤 但對於 Java 不會自動引入的類別庫, 則必須明確宣告其 import 來源 延伸學習 :include 與 import 的不同 對於了解 C/C++ 的讀者而言, 可能會把 import 和 C/C++ 的 include 當成是一樣的, 但其實兩者還是有些許不同 就功能面上而言, 兩者確實是相同的, 都是用來引入 library 但 C/C++ 的 include 會把 library 在編譯時期全部加入程式中, 而 Java 的 import 並不會匯入 class 到程式內, 它只是告知編譯器該 class 的路徑在哪裡, 否則 * 機制會使得程式大到離譜 30

16 2.5 類別區 Java 是一個物件導向語言, 以類別做為單位, 所以每一個 Java 程式必須有一個主類別才能夠被執行 除了主類別外, 我們也可以依照需要自行定義一般類別 主類別區 主類別是程式中不可或缺的類別, 並具有下列特點 : 1. 主類別具有唯一性, 必須要有主類別, 且只能有一個主類別 2. 必須包含一個主函式 main(), 稱之為 main() method, 並且 main() 是整個程式的執行起始點 3. 封裝等級必須宣告為 public, 且只有主類別可以宣告為 public ( 預設為 public, 所以 public 可省略 ) 4. 主類別名稱必須與主檔名相同 ( 不含副檔名 ) 5. 修飾字的宣告只能宣告為 abstract final 或省略不寫 32

17 2.5.1 主類別區 基於上述特點, 我們可以將主類別的格式整理如下 : 圖 2-2 主類別格式 ( 格式中,[] 代表可以省略不寫 而 / 代表選其一 ) 主類別區 主類別區說明 : 1.public 是封裝等級我們會在繼承與封裝一章中說明目前只需要了解主類別一定要宣告為 public 即可 2.abstract/final 是修飾字同樣我們會在後面慢慢說明 目前我們都先暫時省略 ( 不寫 ) 修飾字 3. 主類別名稱必須與主檔名相同例如範例 2-1 的檔名為 ch2_01.java, 所以主類別名稱為 ch2_01 4.[extends 父類別 ] 是用來宣告繼承自哪一個父類別例如要撰寫 Applet 程式, 就要宣告為 extends Applet 目前我們都先不寫 34

18 2.5.1 主類別區 主類別區說明 : 5.[implements 介面名稱 ] 是用來宣告實作哪一個介面例如要撰寫多執行緒程式, 就要宣告為 implements Runnable 目前我們都先不寫 6. 宣告變數 (variable) 是在類別中宣告屬於該類別的變數 ( 也就是欄位 ) 格式說明請見 節 主類別區 7.main method 存取等級必須是 public 並且使用 static 宣告為 class method void 代表沒有回傳值 所以前面的 public static void 是固定不可以改變的 至於 () 內 String[] args String []args String args[] 則為 main 的參數, 也就是用來接受命令列執行時後面的引數, 它是以字串格式傳入 ( 三種都是傳入字串陣列的格式, 擇其一即可,args 為陣列名稱, 可取其他名稱代替 ) 8. 除了 main method 之外, 我們也可以宣告其他屬於主類別的 method 格式說明請見 節 36

19 2.5.1 主類別區 延伸學習 : 術語的不同不同的物件導向程式語言採用不同的術語, 例如在上一章所介紹的屬性, 其意義代表屬於該類別的變數 但在 C++ 中,C++ 將類別所屬的變數稱之為成員變數 (member variable), 將類別所屬的函式稱為成員函式 (member function) 而 Java 則將類別所屬的變數稱之為變數 (variable) 或欄位 (field), 將類別所屬的函式稱為方法 (method) 更有甚者, 如 VB.NET 的欄位與屬性並不相同,VB.NET 的屬性具有類別所屬變數的意義, 但本質上卻是透過特定的 Get Sét 程序 ( 函式在 VB.NET 中稱之為程序 ) 來完成變數值的設定 主類別區 延伸學習 :Java 的變數 Java 的變數一共可分為四種, 實體變數 (Instance Variables) 類別變數 (Class Variables) 區域變數 (Local Variables) 參數 (Parameters), 其意義如下, 我們將於後面章節中陸續介紹 參數 : 只使用在 method 呼叫時接收傳遞資料之用 ( 詳見第 6 章說明 ) 區域變數 : 僅限用於某個 method 之內的變數 實體變數 : 隸屬於某個物件的變數 必須透過物件才能存取該變數 類別變數 : 隸屬於某個類別的變數, 所有由該類別產生的物件都共用此變數, 並且不需要產生物件, 就可以透過類別存取該變數 類別變數必須使用 static 關鍵字宣告 在圖 2 2 中, 有一塊 宣告變數 區, 該區是宣告實體變數與類別變數, 兩者的差別在於是否使用 static 關鍵字宣告 38

20 2.5.2 一般類別區 一般類別的規定比主類別少, 格式可以整理如下 : 說明 : 在第 6 章之前, 我們都不會使用到一般類別, 所以我們將於第 7 章再一併說明 圖 2-3 一般類別格式 ( 格式中,[] 代表可以省略不寫 ) 類別的變數 在類別的變數定義區中定義的變數, 稱為該類別的成員變數 (member variable), 或欄位 (fields) 有時為了方便說明, 也會以成員資料來解釋 成員變數代表該類別專屬的資料欄位, 若類別生成物件後, 將會是物件的資料項目 在類別宣告單一變數的語法如下 : [ 封裝等級 ] [ 修飾字 ] 資料型態變數名稱 ; 40

21 2.5.3 類別的變數 說明 : 定義成員變數可在前宣告封裝等級 ( 我們將在類別與物件一章中說明各種封裝等級 ) 若未加上 static 修飾字, 則該變數將存在於該類別生成的每一個物件中, 且彼此獨立, 稱為實體變數 (Instance variable) 若使用 static 宣告, 則每一個物件都共用該變數, 稱為類別變數 (class variable) 資料型態可以分為原始資料型態與非原始資料型態, 我們將於下一章說明 變數名稱可自由選擇由多個 Unicode 字元構成的識別字 (identifier) 但不能是 Java 的關鍵字 true false 及 null 等保留字 Java 的關鍵字及保留字如下 : 一般類別區 class Car { private double weight; // 實體變數 public static int count; // 類別變數 ; 例如 : 共有幾個物件 public void realshow() { } public int compare(int a, int b) {. return 0; } } class aaa {. } 物件 1 weight; realshow() compare() 類別 Car count; new new new 物件 2 weight; realshow() compare() 物件 3 weight; realshow() compare() 42

22 2.5.3 類別的變數 abstract boolean break byte case catch char class const continue default do double else extends final finally float for goto if implements import instanceof int interface long native new package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while 老師的叮嚀 上述的 Java 關鍵字 (Keyword) 都具有特殊意義, 我們將於本書的各章節中陸續加以介紹 至於 goto 等保留字 (reserved word) 雖然在 Java 中沒有任何意義, 但由於在一般程式語言中具有特殊意義, 因此,Java 將之列為保留字, 同樣不可以做為變數名稱 方法名稱或類別名稱 類別的變數 Coding 注意事項 識別字其實包含兩大類, 一類是由使用者所定義, 另一類則是由編譯器內定 由編譯器內定的識別字為關鍵字或保留字 而使用者定義的識別字, 則是做為變數名稱 方法名稱 類別名稱 常數等等 雖然這些識別字可以由任意的 Unicode 字元構成, 但不可以在其中包含空白字元及 # $ 等特殊符號, 同時數字只能在第二個字元後出現 並且 Java 的識別字具有大小寫之分, 例如 Length 與 length 是不同的兩個識別字 44

23 2.5.3 類別的變數 Coding 偷撇步 雖然使用者可自行定義識別字, 以做為變數 方法 類別等名稱, 但最好取一些有意義的單字或組合字, 以便於日後的維護 而在 Java 的內建類別中, 我們可以發現一些 識別字的命名規則, 您可以跟隨相同的命名規則來進行識別字的命名 : 常數 : 全部字元都使用大寫, 若包含兩個單字以上, 則可以在其中加上底線, 例如 :PI,MAX_LEN 變數 : 全部字元都使用小寫, 但若為兩個單字以上, 則第二個單字開頭字母為大寫, 例如 :width,rectwidth,varrectwidth 方法 :( 同變數名稱命名規則 ) 全部字元都使用小寫, 但若為兩個單字以上, 則第二個單字開頭字母為大寫, 例如 : show,cal,calarea,calrectarea 類別 : 第一個字母為大寫 ( 通常可命名為 C, 代表 class), 其後由一個單字以上組成, 每個單字的開頭字母為大寫, 其餘為小寫, 例如 :CPerson,CStack,CCircularQueue 方法 在類別的成員定義區中定義的方法 (method) 也稱為該類別的成員函式 (member function) method 的定義格式如下 : 回傳值型態 [ 修飾字 ] method 名稱 ( 資料型態參數 1, 資料型態參數 2, ) { 程式敘述群 ( 含區域變數的宣告 ) [return 運算式 ;] } 說明 : 1. 程式透過邏輯來完成其目的, 而方法就是 Java 程式用以實作程式邏輯之處 2. 程式敘述群中包含許多的 Java 合法敘述, 其中也包含區域變數的宣告 46

24 2.5.4 方法 3.return 是用來中斷 method 的執行, 並且可以回傳資料, 如果不想回傳資料, 則回傳值型態應該宣告為 void 4. 宣告方法時, 若未加上 static 修飾字, 則該方法必須由該類別生成的物件來執行, 稱為實體方法 (Instance method) 若使用 static 宣告, 則該方法可以直接透過類別指定的方式來執行, 稱為類別方法 (class method) 5. 參數是做為接收傳遞變數之用, 它可以做為該 method 內的合法變數來使用, 而不必再宣告一次 方法 public class aaa { public static void main(string[] args) { Car car1 = new Car();// 產生新物件 Car1 car1.setweight(1000.0); car1.showweight(); Car.Shownum(); Car car2 = new Car();// 產生新物件 Car2 car2.setweight(2000.0); car2.showweight(); Car.Shownum(); Car.Avg_weight(); } } 類別 Car: count; // 類別變數 total_weight; // 類別變數 Shownum();// 類別方法 Avg_weight ();// 類別方法 new 物件 1: weight=1000.0;// 實體變數 ShowWeight();// 實體方法 setweight ();// 實體方法 new 物件 1: weight=2000.0;// 實體變數 ShowWeight();// 實體方法 setweight ();// 實體方法 48

25 2.5.4 方法 class Car { public static int count=0;// 類別變數 public static double total_weight=0.0;// 類別變數 private double weight=0.0;// 實體變數 public Car() {count=count+1;}// 建構子 public static void Shownum(){// 類別方法 System.out.println("Toral Car Number is:"+count); } public static void Avg_weight(){// 類別方法 System.out.println(" 平均重量為 :"+(total_weight/(double)count)); } public void setweight(double a){// 實體方法 weight=a;total_weight=total_weight+weight; } public void ShowWeight(){// 實體方法 System.out.println("Car Weight is:"+weight); } } 方法 50

26 2.5.4 方法 6. 程式的運作是依靠變數的變化來完成 變數對於程式設計師而言, 是一個運用對象, 而對於電腦而言, 則會佔據某一小塊記憶體以保存資料 在 method 內宣告的變數稱為區域變數, 它的宣告語法與類別變數宣告類似, 不過不包含封裝等級 7. 宣告區域變數與其他敘述可以交錯進行, 但只有宣告過的區域變數才能夠被使用 Java 程式的進入點 main( ) 一個完整的 Java 程式必定有一個唯一的主類別 ( 主類別名稱同檔名 ), 而主類別中必定有一個唯一的 main 方法, 該方法將是整個程式的進入點 ( 即起始點 ) main public static 方法的格式如下 void main(string[] args/string : []args/string args[]) { 程式敘述群 [return;] } 52

27 2.6 Java 程式的進入點 main( ) 說明 : (1)main 方法的存取等級必須是 public, 並使用 static 宣告為 class method, 其中的 void 代表沒有回傳值 所以前面的 public static void 是固定不可以改變的 (2) 至於 () 內的參數可以為 String[] args 或 String []args 或 String args[], 它可以接受命令列執行時後面的引數 ( 三種都是傳入字串陣列的格式, 擇其一即可,args 為陣列名稱, 可取其他名稱代替 ) 我們將於函式一章中再詳述, 目前暫時不對參數進行任何應用 (3) 程式敘述群包含宣告區域變數與其他敘述, 並可交替交錯進行, 但只有宣告過的區域變數才能夠被使用 (4)return 可以提前中斷 main 方法的執行, 當 main 方法執行完畢 ( 執行到最後一行或遇到 return), 則整個 Java 程式就執行完畢 Java 的敘述 (statement) Java 的程式由類別組成, 而類別內則包含了定義變數及方法, 在各方法內則包含宣告區域變數以及其他各類敘述 換句話說, 程式是由許多的敘述所組成, 您也可以把敘述當作是指令來看待, 即每一個敘述代表要求 JVM 進行某項運作 54

28 2.7 Java 的敘述 (statement) Java 的敘述分為許多種類, 我們將於後面章節中陸續介紹, 而這些敘述又可以依照數量分為單一敘述與區塊 (block) 敘述 區塊敘述又稱為區段 (segment), 它包含了一個以上的敘述, 因此必須使用一對大括號 {} 包裝起來 {} 在 Java 的程式中時常可以看到, 其目的都是為了將多個敘述包裝起來成為一個區段, 例如 main 方法底下的 {} 之間的所有敘述, 就是代表 main 方法所要執行的指令, 我們也可以稱之為 main 方法的主體 Java 的敘述 (statement) 其他如類別之下, 也會出現 {}, 其中所包含的則稱為該類別的主體 在往後的章節中, 在介紹某些敘述時 ( 如 if 敘述 ), 也會看到 {} 的出現, 其主要目的都是為了將許多單一敘述集合起來, 當作一個單位來看待 圖 2-4 類別與方法主體 56

29 2.8 println() 輸出方法的簡易使用法 在範例 2-1 中,main 方法的主體內只包含了單一個敘述 System.out.println(" 歡迎使用 Java!"); System 類別的全名是 java.lang.system, 故我們在第 6 行 import java.lang.* 事實上, 由於 java.lang 太常被使用, 所以即使未將之 import, 編譯器仍然會內定自動將之 import 進來 println() 輸出方法的簡易使用法 out 是 java.lang.system 的一個靜態欄位 ( 類別變數 ), 其型別為 PrintStream 類別因此,println 是 PrintStream 類別的一個方法 System.out 代表的是標準輸出, 通常指的是螢幕或印表機等 ( 預設為螢幕 ) println 之意為 print 與 line, 代表印出文字並且換行 此外, 還有一個方法稱為 print, 其功能則是單純印出文字而不換行 58

30 2.8 println() 輸出方法的簡易使用法 在範例 2-1 中, 我們使用 System.out.println 印出了一段文字 歡迎使用 Java! 並換行 其中, 我們將該段文字以 " 包裝起來, 代表一個字串常數事實上,System.out.println 除了能夠印出字串常數之外, 還能夠印出各類常數與變數的值 我們將於下一章中看到更多關於 System.out.println 與 System.out.print 的使用範例 請注意, 在這兩個方法中, 如果要列印的資料不只一筆, 則可以利用 + 來將之連結, 並且 + 在 Java 中, 也可以作為連結字串之用 println() 輸出方法的簡易使用法 public class aaa { public static void main(string[] args) { // TODO Auto generated method stub System.out.println("Hello World!"); } } 60

31 2.8 println() 輸出方法的簡易使用法 public class aaa { publicstaticvoidmain(string[] args) { // TODO Auto generated method stub System.out.println("Hello World!" + " Have a nice Day"); System.out.println( WaHaHa"); } } println() 輸出方法的簡易使用法 public class aaa { public static void main(string[] args) { // TODO Auto generated method stub System.out.print("Hello World!"); System.out.print(" Have a nice Day"); } } 62

32 2.8 println() 輸出方法的簡易使用法 public class aaa { public static void main(string[] args) { // TODO Auto generated method stub int num1=2,num2=3; System.out.print("I have "+num1+" dogs,"+"you have "+num2+"cats."); } } 自由格式與空白字元 Java 語言採用自由格式撰寫, 換句話說, 您可以去除程式中各敘述間的所有空白字元 ( 包含 spaces tabs 等等 ) 及換行符號 (carriage return), 編譯器仍會正確編譯程式 例如 : 您可以將範例 2-1 中主類別的內容改寫如下 : public class ch2_01 // 主類別 { public static void main(string args[]) { System.out.println(" 歡迎使用 Java!"); } } 64

33 2.9 自由格式與空白字元 雖然省略空白字元以及換行符號能夠使得程式行數減少, 但並不會加速程式的執行效率, 因為不論是範例 2-1 的表示法或上述表示法, 編譯器都將產生相同的輸出結果 不過上述的撰寫格式, 則比範例 2-1 更難以閱讀 因此, 為了日後維護的方便, 強烈建議讀者應該培養程式碼縮排及適當換行的習慣 Coding 注意事項 " 內的空白字元不會被編譯器忽略, 因為 " 在 Java 語言中, 是用來包裝字串常數 Eclipse IDE 的活用 在前面章節中, 我們採用的是編輯器 ( 如記事本 )+javac.exe+java.exe(jvm) 來編輯 編譯與執行 Java Application 本書建議, 初學者盡量以此模式來學習本書, 比較能夠理解 Java 的架構 但在學會 Java 之後, 為了方便開發更大型的專案, 不可避免地, 應該搭配 IDE 的協助以縮短開發時程並利於管理因此, 建議讀者參照附錄 B 的指示, 下載 安裝 設定與執行 Eclipse IDE 例如在 Eclipse 中執行範例 2-1 的結果如下圖 : 66

34 2.10 Eclipse IDE 的活用 執行結果在此 67 複習 Import example from the CDs New Project >New Classes 68

35 2.11 本章回顧 在本章中, 我們學習了 Java 程式的基本結構 本章所學習的內容如下 : (1)Java 程式的基本結構包含幾大部分 : 程式註解 宣告所屬類別庫 匯入類別 ( 庫 ) 各類別的程式 (2) 在 Java 程式中, 可使用 /* */ 做為註解符號 也可以使用 // 作為單行註解符號 而使用 /** */ 做為註解符號, 還可以透過特定軟體製作程式說明文件 本章回顧 (3)package 區是用來宣告該檔案中的類別屬於哪一個 Package( 類別庫 ), 並且 Java 使用目錄來管理類別庫 程式若無宣告類別庫, 則 Java 將之視同宣告為 預設的 Package 在第 11 章中, 將有更深入的說明 (4)import 是用來記載要使用的類別, 因此, 我們可以使用由別人開發完成的類別庫中的類別或 JDK 提供的類別 (5)import java.lang.*; 可以省略因為 Java 內定會載入 java.lang 類別庫的所有類別 70

36 2.11 本章回顧 (6) 主類別是包含主函式 main() 的類別, 而 main 則是整個程式的執行起始點 關於主類別的其餘規定如下 : 具有唯一性, 必須且只能有一個主類別 封裝等級必須宣告為 public, 且只有主類別可以宣告為 public( 可省略 ) 主類別名稱必須與主檔名相同 ( 不含副檔名 ) 修飾字的宣告只能宣告為 abstract final 或省略不寫 (7) 除了主類別之外, 程式中也可以撰寫一般類別 我們將於第七章之後開始撰寫一般類別 本章回顧 (8) 類別內包含了變數與方法兩大項成員 在類別的變數定義區中定義的變數, 稱為該類別的成員變數 (member variable) 或欄位 (fields) 若類別生成物件後, 將會是物件的資料項目 程式透過邏輯來完成其目的, 而方法是 Java 程式用以實作程式邏輯之處 (9)Java 的變數一共可分為四種實體變數 (Instance Variables) 類別變數 (Class Variables) 區域變數 (Local Variables) 參數 (Parameters), 我們將於後面章節中陸續介紹 (10) 類別內包含許多敘述, 換句話說, 程式是由許多的敘述所組成, 您也可以把敘述當作是指令來看待, 即每一個敘述代表要求 JVM 進行某項運作 72

37 2.11 本章回顧 (11)Java 的敘述分為單一敘述與區塊敘述 區塊敘述又稱為區段 (segment), 它包含了一個以上的敘述, 因此必須使用一對大括號 {} 包裝起來 (12)println 是一個方法, 隸屬於 System.out 類別, 可以用來輸出資料到螢幕上 ( 結尾會產生換行作用 ) print 也是隸屬於 System.out 類別的方法, 也可以輸出資料到螢幕上, 但結尾不會產生換行作用 (13) 在 Java 程式中, 除了字串內的空白字元外, 其餘超過一個以上的空白字元並不會對程式產生作用 本章回顧 (14) 在管理與撰寫 Java 應用程式時, 藉由 Eclipse IDE 可以縮短開發時程 例如可自動新增主函式 新增類別時也會自動將主類別對應到主檔名 以上僅為 Java 程式的粗略介紹, 至於細節則將於後面章節中分別加以介紹 74

38 本章結束 Q&A 討論時間 75

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

Microsoft Word - JAVA Programming Language Homework I ans

Microsoft Word - JAVA Programming Language Homework I ans JAVA Programming Language Homework I - OO concept Student ID: Name: 1. Which of the following techniques can be used to prevent the instantiation of a class by any code outside of the class? A. Declare

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1 0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0

More information

Microsoft PowerPoint - P766Ch06.ppt

Microsoft PowerPoint - P766Ch06.ppt PHP5&MySQL 程式設計 第 6 章物件導向 6-1 認識物件導向 物件 (object) 或 案例 (instance) 屬性 (property) 欄位 (field) 或 成員變數 (member variable) 方法 (method) 或 成員函式 (member function) 事件 (event) 類別 (class) 物件導向程式設計 (OOP) 具有下列特點 : 封裝

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式]

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式] Java Basics Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan chanhl@maili.cgu.edu.twcgu 執行環境 - eclipse 點選 eclipse 軟體執行檔 設定工作路徑 eclipse 開啟 2 建置 Java 專案 File New project

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

Microsoft PowerPoint - 13_ClassAndObj.ppt

Microsoft PowerPoint - 13_ClassAndObj.ppt Visual Basic 2005 (VB.net 2.0) 程式設計 講師 : 戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所 第十三章 物件與類別 物件與類別 物件導向程式設計 物件與類別的建立 物件與類別 物件 (object) Ex. 人 屬性 (property) 身高 體重 血型 方法 (method) 走路 跑步 訊息 (message) 交談 事件

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

The Embedded computing platform

The Embedded computing platform 嵌入式系統及實驗 Embedded System and Experiment 詹曉龍 長庚大學電機系 Java 的類別與物件 : 宣告類別 建構子 public class Customer { private String name; private String address; // Customer 類別宣告 // 成員資料 public int age; // 建構子 : 使用參數設定成員資料初始值

More information

第1章

第1章 第 8 章 函式 1 本章提要 8.1 前言 8.2 如何定義函式 8.3 函式的呼叫和返回 8.4 傳遞陣列 8.5 方法多載 8.6 遞迴 8.7 綜合練習 8.8 後記 2 8.1 前言 每一種高階程式語言都有提供函式 (Function)( 或稱函數 ) 的功能, 以便將經常使用到的程式功能包裝成函式的形式, 如此一來便能反覆地呼叫該函式來完成某件特定工作在高階程式語言中, 副程式 (Subroutine)

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 多型 Polymorphism 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 子類別與父類別物件間的指定 (assignment)

More information

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

More information

The golden pins of the PCI card can be oxidized after months or years

The golden pins of the PCI card can be oxidized after months or years Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

第1章

第1章 第 15 章 標準類別 1 本章提要 15.1 前言 15.2 基本資料類別介紹 15.3 Integer 類別 15.4 Double 類別 15.5 Float 類別 Long 類別 Short 類別 15.6 數學相關類別 Math 15.7 後記 2 15.1 前言 不同基本資料型別可以互相轉換, 但也只予許由小轉大的情況, 例如 1. byte 轉為 short int long float

More information

(京)新登字063号

(京)新登字063号 教 育 部 职 业 教 育 与 成 人 教 育 司 推 荐 教 材 Java 程 序 设 计 教 程 ( 第 二 版 ) 沈 大 林 主 编 沈 昕 肖 柠 朴 曾 昊 等 编 著 内 容 简 介 Java 是 由 美 国 SUN 公 司 开 发 的 一 种 功 能 强 大 的, 具 有 简 单 面 向 对 象 分 布 式 可 移 植 等 性 能 的 多 线 程 动 态 计 算 机 编 程 语 言

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

Microsoft PowerPoint - 14Threads.ppt

Microsoft PowerPoint - 14Threads.ppt Threads Outline Introduction to Threads How to create Thread extend Thread implement Runnable interface Synchronization What is thread? 定義 : 程式的執行軌跡 Single Thread Multi-Thread 依序執行 int x, y; int z; x =

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

Microsoft PowerPoint - Chap03.ppt [相容模式]

Microsoft PowerPoint - Chap03.ppt [相容模式] 本章目的 2D / 3D 遊戲程式設計入門使用 XNA 3.0 與 C# 探討 XNA 遊戲程式內部的基本架構與遊戲開發流程 示範如何完成一個簡單的 XNA 遊戲方案 第三章 XNA 遊戲程式基本架構 1 2 新增 XNA 專案 新增 XNA 專案 3 4 XNA 相關的命名空間 Game1.cs 程式中的六個函數 using Microsoft.Xna.Framework; // 和 XNA 架構相關的型別

More information

Microsoft PowerPoint - course2.ppt

Microsoft PowerPoint - course2.ppt Java 程 式 設 計 基 礎 班 (2) 莊 坤 達 台 大 電 信 所 網 路 資 料 庫 研 究 室 Email: doug@arbor.ee.ntu.edu.tw Class 2 1 回 顧 Eclipse 使 用 入 門 Class 2 2 Lesson 2 Java 程 式 語 言 介 紹 Class 2 3 Java 基 本 知 識 介 紹 大 小 寫 有 差 (Case Sensitive)

More information

第1章

第1章 第 9 章 類別 1 本章提要 9.1 前言 9.2 物件導向程式設計基礎 9.3 類別的基本認識 9.4 公有成員與私有成員 9.5 類別變數與類別方法 9.6 進一步認識方法 9.7 進一步認識建構元 9.8 其它 9.9 綜合練習 9.10 後記 2 9.1 前言 物件導向程式設計的特性主要有 : 分而治之 (Divide and Conquer) 資訊隱藏 (Information Hiding)

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

第一篇文概說第七章公文的用語及標點符號公本篇內容 第一章 緒論 第二章 公文的意義 第三章 公文與高 普 特各類考試 第四章 公文程式之意義及演變 第五章 公文之分類及其行文系統 第六章 公文之結構與行款 第一篇 第一章緒論 003 第一章緒論 等 等 004 最新應用公文 第一篇 第二章公文的意義 005 第二章公文的意義 第一節 一 須為公務員製作之文書 二 須為公務員 職務上 製作之文書 006

More information

Microsoft PowerPoint - ch04_AEL0080.ppt

Microsoft PowerPoint - ch04_AEL0080.ppt 4 選擇 在正常的情況下, 電腦程式的執行是以敘述的排列次序逐步處理的 使用控制架構 (control structures) 可以改變這種既定的先後次序, 讓程式得以進行更複雜的運算, 或以更簡潔的指令來實現演算法 1/42 選擇 4.1 演算法的描述方式 4.2 變數的運用範圍 (Scope of variables) 4.3 if- 敘述 4.4 巢狀 if- 敘述 (Nested if statements)

More information

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h 資訊系統與實習 製作 : 林郁君 一 2009.09.28 9X9 'button 被按下後 ' Dim i, j As Integer For i = 1 To 9 'i 從 1 到 9' For j = 1 To 9 'j 從 1 到 9' If j * i < 10 Then ' 如果 j 乘上 i 是為個位數 ' Response.Write(i & "*" & j & " =" & i *

More information

Microsoft Word - 投影片ch11

Microsoft Word - 投影片ch11 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第十一章抽象類別與介面 本章學習目標認識抽象類別學習介面的使用認識多重繼承與介面的延伸 抽象類別與介面 11-2 11.1 抽象類別 抽象類別的目的是要依據它的格式來修改並建立新的類別 11.1.1 定義抽象類別 定義抽象類別的語法如下 : abstract class 類別名稱 { 宣告資料成員 ; // 定義抽象類別

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD 10 SCJD 簡介 Java 10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD 10 SCJD 10-3 Java Java SCJD 7 Swing RMI 10.1.1 The Assignment The Essay 9 10 10-4 SCJP SCJD 90 10.1.2 SCJP Java 90 120 Swing 10

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制 Java 程式設計 標準輸出入與流程控制 本章大綱 標準輸出入 (Standard I/O) 分支 (Branch) if ~ else switch ~ case 迴圈 (Loop) for while do ~ while 中斷指令 break continue 總整理 標準輸出 定義 : 將資料印到螢幕上 Java 標準輸出指令 System.out.println( 資料 ) 將資料印出後換行

More information

Microsoft Word - Mail2000_SecurityPatch_

Microsoft Word - Mail2000_SecurityPatch_ Mail2000 安全性加強程式 網擎資訊軟體股份有限公司謹呈 1 Mail2000 安全性加強程式 Introduction Mail2000 安全性加強程式, 是針對 Mail2000 V4.0 以上版本, 包括 V4.0 及 V4.5 版本所提供, 以加強系統的安全性, 減少因惡意信件而引起的安全性問題 版本名稱 Mail2000 版本作業系統檔案名稱 V4.0 單一網域版本 V4.0 SDSS

More information

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2 Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Microsoft PowerPoint - 11_Templates.ppt

Microsoft PowerPoint - 11_Templates.ppt 1 1. 上機考 20% 期末考 6/23( 四 ) 晚 6:30~8:30 範圍 : 第 7, 8, 9, 10 章實習內容 按座位坐, 隨機抽兩題 2. 紙上測驗 20% 6/21( 二 ) :9:30~11:00 課本 7-11, 13 章內容 2 第 11 章樣版 (Templates) 11.1 簡介 11.2 函式樣版 11.3 多載函式樣版 11.4 類別樣版 11.5 類別樣版與無型

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc)

(Microsoft Word - \272\364\263q\245|\244A_49636107_\304\254\253\330\336\263__\272\353\302\262\263\370\247i.doc) SCJP (Oracle Certified Professional, Java SE5/6 Programmer) 學 制 / 班 級 : 四 年 制 / 網 通 四 乙 指 導 老 師 : 方 信 普 老 師 學 生 學 號 / 姓 名 : 49636107 蘇 建 瑋 繳 交 年 份 : 100 年 6 月 一 SCJP 介 紹 SCJP 是 Sun Certified Java Programmer

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

untitled

untitled 1 Outline 流 ( ) 流 ( ) 流 ( ) 流 ( ) 流 ( ) 狀 流 ( ) 利 來 行流 if () 立 行 ; else 不 立 行 ; 例 sample2-a1 (1) 列 // 料 Console.Write(""); string name = Console.ReadLine(); Console.WriteLine(" " + name + "!!"); 例 sample2-a1

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

Microsoft Word - PHP7Ch01.docx

Microsoft Word - PHP7Ch01.docx PHP 01 1-6 PHP PHP HTML HTML PHP CSSJavaScript PHP PHP 1-6-1 PHP HTML PHP HTML 1. Notepad++ \ch01\hello.php 01: 02: 03: 04: 05: PHP 06:

More information

Microsoft PowerPoint - SE7ch07.ppt

Microsoft PowerPoint - SE7ch07.ppt 第七章物件導向設計 : 類別與物件 課前指引在本章中, 我們將正式進入物件導向程式設計的領域, 雖然我們在前面章節, 已經使用過某些 Java 類別庫的類別或物件 ( 例如 :Math 類別 String 物件 ), 但卻未曾學習如何建立一個物件 ( 事實上建立物件必須先宣告類別 ) 在本章中, 我們將從頭教您如何使用 Java 並以物件觀點設計程式, 逐漸體驗物件導向程式設計帶來的好處, 尤其是在發展中大型專案時,

More information

Android Service

Android Service Android Service- 播放音樂 建國科技大學資管系 饒瑞佶 2013/7 V1 Android Service Service 是跟 Activity 並行 一個音樂播放程式若沒使用 Service, 即使按 home 鍵畫面離開之後, 音樂還是照播 如果再執行一次程式, 新撥放的音樂會跟先前撥放的一起撥, 最後程式就會出錯 執行中的程式完全看不到! 但是, 寫成 Service 就不同了

More information

北 风 网 讲 师 原 创 作 品 ---- 仅 供 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见

北 风 网 讲 师 原 创 作 品 ---- 仅 供  学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 北 风 网 讲 师 原 创 作 品 ---- 仅 供 www.ibeifeng.com 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 者 远 ; 顺 风 而 呼, 声 非 加 疾 也, 而 闻 者 彰 假 舆 马 者, 非 利 足 也,

More information

Microsoft Word - 04_object_Boxing_property_indexer.doc

Microsoft Word - 04_object_Boxing_property_indexer.doc C# 程式設計人員參考 object 型別是.NET Framework 中,System.Object 的別名 您可以將 任何型別的值指派給 object 型別的變數 所有的資料型別, 包括預先定義的和使用者定義的, 都繼承自 System.Object 類別 object 資料型別是物件 Box 目標或來源的型 別 範例下列範例顯示 object 型別的變數如何接受任何資料型別的值, 以及 object

More information

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii 前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

尽 管 Java 语 言 是 在 C++ 语 言 基 础 上 发 展 起 来 的, 但 是 有 别 于 C++,Java 是 一 种 纯 粹 的 面 向 对 象 语 言 (Object-oriented language) 在 像 Java 这 样 纯 粹 的 面 向 对 象 语 言 中, 所 有

尽 管 Java 语 言 是 在 C++ 语 言 基 础 上 发 展 起 来 的, 但 是 有 别 于 C++,Java 是 一 种 纯 粹 的 面 向 对 象 语 言 (Object-oriented language) 在 像 Java 这 样 纯 粹 的 面 向 对 象 语 言 中, 所 有 玩 转 Object 不 理 解, 就 无 法 真 正 拥 有 歌 德 按 其 实 而 审 其 名, 以 求 其 情 ; 听 其 言 而 查 其 累, 无 使 放 悖 ( 根 据 实 际 明 辨 名 称, 以 便 求 得 真 实 情 况 ; 听 取 言 辞 后 弄 明 它 的 类 别, 不 让 它 混 淆 错 乱 ) 三 玩 转 Object 大 围 山 人 玩 转 Object...1 1. 通

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

Microsoft PowerPoint - 20-string-s.pptx

Microsoft PowerPoint - 20-string-s.pptx String 1 String/ 1.: char s1[10]; char *s2; char s3[] = "Chan Tai Man"; char s4[20] = "Chan Siu Ming"; char s5[]={'h','e','l','l','o','\0'; 0 1 2 3 4 5 6 7 8 9 10 11 12 s3 C h a n T a i \0 M a n \0 printf

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

運算子多載 Operator Overloading

運算子多載 Operator Overloading 函數樣板 (Function Template) 與 類別樣板 (Class Template) 講師 : 洪安 1 資料結構與 C++ 程式設計進階班 為何需要通用函數? (1/2) int abs(int x) { return (x>0)?x:-x; 取名困難不好記 float fabs(float x) { return (x>0)?x:-x; complex cabs(complex x)

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

Java 程式設計入門

Java 程式設計入門 Java 程式設計入門 講師 : 陳昭源 CISE, NTU August 28, 2005 Outline 變數 Variables 運算子 Operators 運算式 (Expressions) 敘述(Statements) & 程式區塊 (Blocks) 流程控制 Control Flow Statements if-else statements switch statements August

More information

<A4E2BEF7B4FAB8D5B3F8A F52322E786C7378>

<A4E2BEF7B4FAB8D5B3F8A F52322E786C7378> 製表日期 : 2008 年 9 月 17 日 Mobile Java Applet 手機安裝測試報告表 已完成測試機型數量 :317 台 ; 無問題 ( 可安裝 / 可執行 ) 機型 :315 台無法使用 :2 台 ; 特殊註記機型 :2 台 廠牌 機型 測試狀況 OK 不 OK 安裝資料夾 ( 目錄 ) 備註 NOKIA N95 應用程式 NOKIA 6110 應用程式 NOKIA 3120 應用程式

More information

4. 如下的程式碼中, 宣告了類別 A3 和 B3 由於在兩個類別中都定義了 print() 的方法, 所以依據定義, 總共有兩次的 overloading 以及一次的 overriding public class A3 { public class B3 extends A3 { protect

4. 如下的程式碼中, 宣告了類別 A3 和 B3 由於在兩個類別中都定義了 print() 的方法, 所以依據定義, 總共有兩次的 overloading 以及一次的 overriding public class A3 { public class B3 extends A3 { protect 姓名 : 物件導向程式設計 (II) Spring 2010, 期中考 學號 : 是非題 : ( 每題 5 分 ) 注意 : 若答案為 非, 你必須提供正確的解釋才有分數 ; 否則, 以零分計 若有程式錯誤, 請回答 非 並指出錯誤 1. 如下的程式碼中, 宣告了類別 A1 和 B1 若在其他類別( 如控制類別 ) 執行 B1 b1 = new B1(5);, 則 a1 的值會改成 5 public

More information