第1章
|
|
|
- 乘誓 游
- 6 years ago
- Views:
Transcription
1 第 8 章 函式 1
2 本章提要 8.1 前言 8.2 如何定義函式 8.3 函式的呼叫和返回 8.4 傳遞陣列 8.5 方法多載 8.6 遞迴 8.7 綜合練習 8.8 後記 2
3 8.1 前言 每一種高階程式語言都有提供函式 (Function)( 或稱函數 ) 的功能, 以便將經常使用到的程式功能包裝成函式的形式, 如此一來便能反覆地呼叫該函式來完成某件特定工作在高階程式語言中, 副程式 (Subroutine) 程序(Procedure) 和函式都是同義詞, 它們都代表一個具有獨立功能且可以被反覆呼叫 執行的程式片斷 3
4 8.1 前言 函式具有下列優點 : 將程式模組化, 可以重複地呼叫 使用, 減少程式開發的成本 簡化程式碼, 讓程式看起來較為簡潔, 容易閱讀 容易除錯, 可以降低程式維護的成本 可以充分發揮資訊隱藏 多載 改寫 (Override) 等物件導向特性 4
5 8.1 前言 本章將介紹的主題有 : 如何定義函式函數的呼叫和返回傳遞引數傳遞陣列方法多載遞迴 5
6 8.2 如何定義函式 存取方式 public: 公開的 讓這個函式可以從 main() 裡去呼叫它 private protected 6
7 8.2 如何定義函式 static: 用來表示這個函式為 類別函式 ( 或稱類別方法 ) 類別函式的用法規則如下 : 一般 ( 非類別 ) 函式的呼叫方式是必須先建立物件, 然後以 物件名稱. 函式名稱 ( 引數列 ) 來呼叫 類別函式除了可以採用一般函式的呼叫方式外, 也可以直接用 函式名稱 ( 引數列 ) 來呼叫, 或以 類別名稱. 函式名稱 ( 引數列 ) 來呼叫 static 函式只能存取 static 成員, 亦即類別函式只能存取類別變數和類別函式, 不能存取實例變數和實例函式 ( 參考第 9 章 9.5 節 ) 7
8 傳回值型別 8.2 如何定義函式 又稱函式型別, 就是指函式傳回 (return) 值的資料型別 函式若沒有傳回值則 傳回值型別 須用 void 來表示 函式名稱 參數列 函式主體 8
9 8.2 如何定義函式 呼叫函式的語法 呼叫函式的語法 1. 函式名稱 ( 引數 1, 引數 2,...); // 呼叫函式 2. 變數 = 函式名稱 ( 引數 1, 引數 2,...); // 呼叫函式, 並將傳回值指定給變數 9
10 8.3 函式的呼叫和返回 沒有傳遞引數的函式 呼叫函式時的引數傳遞 10
11 8.3.1 沒有傳遞引數的函式 範例程式 1 呼叫函式, 不傳遞引數, 沒有傳回值 2 // 程式名稱 :ch08_print.java 8 public static void main(string args[]) 9 { 10 System.out.println(" 呼叫 print() 函式..."); 11 print(); 12 System.out.println(" 從 print() 函式返回 "); 13 } public static void print() // 必須宣告為 static 16 { 17 System.out.println("I love java!"); 18 } 執行結果 呼叫 print() 函式... I love java! 從 print() 函式返回 11
12 8.3.1 沒有傳遞引數的函式 圖 8.1: 函式的呼叫和返回 12
13 8.3.2 呼叫函式時的引數傳遞 傳值 (Pass By Value) 傳遞以基本資料型別宣告的引數時 將引數的值拷貝一份, 然後將這份拷貝指定給對應之參數 不會對引數有任何影響 傳參照 (Pass By Reference) 傳遞陣列或物件時 將引數陣列的起始位置傳遞給參數 若在函式的執行過程中改變了陣列的值, 那麼引數陣列的值也會被改變 13
14 8.3.2 呼叫函式時的引數傳遞 範例程式 2 找出兩數之大者 ( 傳值 ) 2 // 程式名稱 :ch08_max.java 10 int i = 1, j = 2; System.out.println("max(" + i + "," + j + ")=" + max(i, j)); 13 } public static int max(int x, int y) 16 { 執行結果 17 return (x >= y)? x : y; max(1,2)=2 18 } 14
15 8.3.2 呼叫函式時的引數傳遞 圖 8.2: 傳值 ( 將引數 i j 的值傳遞給參數 x y) 15
16 8.3.2 呼叫函式時的引數傳遞 範例程式 3 兩數相加 ( 傳值 ) 2 // 程式名稱 :ch08_add.java 10 int i = 1, j = 2, k = 0 ; System.out.println("< 在主程式 main() 內 > i=" + i + ", j=" + j + 13 ", k=" + k); 14 k = add(i, j); // 引數 i j 15 System.out.println("< 在主程式 main() 內 > i=" + i + ", j=" + j + 16 ", k=" + k); 17 } 16
17 8.3.2 呼叫函式時的引數傳遞 19 public static int add(int i, int j) // 參數 i j 20 { 21 i = i + j; 22 System.out.println(" < 在函式 add() 內 > i=" + i); 23 return i; 24 } 執行結果 < 在主程式 main() 內 > i=1, j=2, k=0 < 在函式 add() 內 > i=3 < 在主程式 main() 內 > i=1, j=2, k=3 17
18 8.4 傳遞陣列 傳遞陣列時, 是以 傳參照 (Pass By Reference) 的方式來進行 若在函式裡變更了參數陣列的元素值, 那麼引數陣列的元素值也會一起改變 因為兩者都是參照到相同記憶體位置的資料 18
19 8.4.1 傳遞 main() 的引數 c>java 程式名稱 引數 0 引數 1... 引數 n public static void main(string args[]) { }... 19
20 8.4.1 傳遞 main() 的引數 範例程式 4 main() 的引數 2 // 程式名稱 :ch08_args.java 8 public static void main(string args[]) 9 { 執行結果 10 String s0, s1, s2, s3; 12 s0 = args[0]; 13 s1 = args[1]; 14 s2 = args[2]; 15 s3 = s0 + s1+ s2; 17 System.out.println("s0=" + s0); 18 System.out.println("s1=" + s1); 19 System.out.println("s2=" + s2); 20 System.out.println("s3=" + s3); c:\java\ch08>java ch08_args 我愛喝 s0= 我愛喝 s1=java s2= 咖啡 s3= 我愛喝 java 咖啡 java 咖啡 20
21 8.4.2 傳遞一維陣列 範例程式 5 取平方根 2 // 程式名稱 :ch08_sqrt.java 8 public static void main(string args[]) 9 { 10 int a[] = {2, 4, 9, 16, 25, 36, 49, 64, 81}; print(a); 13 sqrt(a); 14 print(a); 15 } 21
22 8.4.2 傳遞一維陣列 17 public static void print(int x[]) 18 { 19 System.out.print(" 陣列內容為 :"); 20 for(int i = 0; i < x.length; i++) 21 System.out.print(x[i] + " "); 22 System.out.println(); 23 } 25 public static void sqrt(int x[]) 26 { 27 for(int i = 0; i < x.length; i++) 28 x[i] = (int)math.sqrt((double)x[i]); 29 } 執行結果 15 } 陣列內容為 : 陣列內容為 :
23 8.4.2 傳遞一維陣列 圖 8.3: 傳參照 ( 將引數陣列 a 的位址傳遞給參數陣列 x) 23
24 8.4.3 傳遞二維陣列 範例程式 6 將 a b 兩陣列相加 2 // 程式名稱 :ch08_matrixadd.java 10 int a[][] = {{1, 2, 3, 4, 5}, 11 {6, 7, 8, 9, 10}}; 12 int b[][] = {{0, 1, 2, 3, 0}, 13 {2, 1, 3, 3, 5}}; 14 int c[][] = new int[a.length][a[1].length]; print('a', a); 17 print('b', b); 18 c = add(a, b); 19 print('c', c); 24
25 8.4.3 傳遞二維陣列 22 public static void print(char c, int x[][]) 23 { 24 System.out.println(c + " 陣列內容為 :"); 25 for(int i = 0; i < x.length; i++){ 26 for(int j = 0; j < x[i].length; j++) 27 System.out.printf("%2d ", x[i][j]); 28 System.out.println(); 29 } 30 System.out.println(); 31 } 25
26 8.4.3 傳遞二維陣列 33 public static int[][] add(int x[][], int y[][]) 34 { 35 int z[][] = new int[x.length][x[1].length]; for(int i = 0; i < x.length; i++){ 執行結果 38 for(int j = 0; j< x[i].length; j++) a 陣列內容為 : 39 z[i][j] = x[i][j] + y[i][j]; } return z; b 陣列內容為 : } c 陣列內容為 :
27 8.5 方法多載 方法多載 (Method Overloading) 使用同一個方法 ( 函式 ) 名稱, 但它具備多種相似的功能例如, 我們可以設計加法函式, 讓它可以處理整數的相加, 浮點數的相加, 字串的相加, 並且都是使用 add 這個函式名稱 public static int add(int i, int j) public static String add(string i, String j) 27
28 8.5 方法多載 範例程式 7 方法多載 2 // 程式名稱 :ch08_add_overloading.java 10 int i = 1, j = 2, k = 0 ; 11 String s1 = "I love "; 12 String s2 = "Java!"; 13 String s3 = new String(); k = add(i, j); 16 s3 = add(s1, s2); System.out.println("i=" + i + ", j=" + j + ", k=i+j=" + k); 19 System.out.println("s1=\"" + s1 + "\", s2=\"" + s "\", s3=s1+s2=\"" + s3 + "\""); 28
29 8.5 方法多載 23 public static int add(int i, int j) 24 { 25 return (i+j); 26 } public static String add(string i, String j) 29 { 30 return (i+j); 31 } 執行結果 i=1, j=2, k=i+j=3 s1="i love ", s2="java!", s3=s1+s2="i love Java!" 29
30 8.6 遞迴 計算出 2n 之值的公式如下 : 30
31 8.6 遞迴 圖 8.4: 以遞迴方式計算 2 的 n 次方 31
32 8.6 遞迴 撰寫遞迴程式可以從下列幾點著手 : 1. 函數名稱? 2. 函數引數及其資料型別? 3. 何時要遞迴呼叫? 4. 遞迴呼叫時要傳遞的參數值? 5. 何時該終止遞迴? 6. 遞迴函數的傳回值為何? 32
33 8.6 遞迴 15 public static int power2n_r(int n) // 函數名稱, 函數引數及其資料型別 16 { 17 int i, ans = 1; if(n == 0) 20 return 1; // 終止遞迴, 傳回值 21 if(n >= 1) 22 return (2 * power2n_r(n-1)); // 遞迴呼叫 23 else 24 return -1; // n 必須為正整數 25 } 33
34 8.6 遞迴 範例程式 8 以非遞迴方式計算 2 的 n 次方之值,n 為正整數 2 // 程式名稱 :ch08_power2n.java 10 int i = 3; System.out.println("2 的 " + i + " 次方 =" + power2n(i)); 13 } 34
35 8.6 遞迴 15 public static int power2n(int n) 16 { 17 int i, ans = 1; if(n == 0) 20 return 1; 21 if(n >= 1){ 22 for(i = n; i > 0; i--){ 23 ans = 2 * ans; 24 } 25 return ans; 26 } 27 else 28 return -1; // n 必須為正整數 29 } 執行結果 2 的 3 次方 =8 35
36 8.6 遞迴 範例程式 9 以遞迴方式計算 2 的 n 次方之值,n 為正整數 2 // 程式名稱 :ch08_power2n_r.java 10 int i = 3; System.out.println("2 的 " + i + " 次方 =" + power2n_r(i)); 13 } 36
37 8.6 遞迴 15 public static int power2n_r(int n) // 函式名稱, 函式引數及其資料型別 16 { 17 int i, ans = 1; if(n == 0) 20 return 1; // 終止遞迴, 傳回值 21 if(n >= 1) 22 return (2 * power2n_r(n-1)); // 遞迴呼叫 23 else 24 return -1; // n 必須為正整數 25 } 執行結果 1 到 10 的奇數和 = 25 37
38 8.7.1 單字的擷取 8.7 綜合練習 以遞迴方式計算 n! 之值 38
39 8.8 後記 函式具有下列優點 : 將程式模組化, 可以重複地呼叫 使用, 減少程式開發的成本 簡化程式碼, 讓程式看起來較為簡潔, 容易閱讀 容易除錯, 可以降低程式維護的成本 可以充分發揮資訊隱藏 多載 改寫 ( 第 10 章 ) 等物件導向優點 39
40 8.8 後記 一般 ( 非類別 ) 函式的呼叫方式為 : 物件名稱. 函式名稱 ( 引數列 ) 類別函式的呼叫方式有以下兩種 : 1. 函式名稱 ( 引數列 ) 2. 類別名稱. 函式名稱 ( 引數列 ) 40
41 8.8 後記 呼叫函式時將引數值傳遞給參數是遵守以下規則 : 1. 傳遞以基本資料型別宣告的引數時, 是採用 傳值 (Pass By Value) 的方式傳遞 2. 傳遞陣列 ( 或物件 ) 時, 則採用 傳參照 (Pass By Reference) 的方式傳遞 41
第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)
第1章
第 7 章 字串 1 本章提要 7.1 前言 7.2 類別與物件 7.3 String 類別 7.4 StringBuffer 類別 7.5 綜合練習 7.6 後記 2 7.1 前言 Java 用 String 類別 (Class) 來處理字串, String 類別是 Java 類別庫內建的類別, 它是一堆已經寫好的程式, 我們可以直接拿來使用字串很像字元型別的一維陣列, 字串裡能存放的資料都屬於字元性質,
全國各級農會第 2 次聘任職員統一考試試題 科目 : 程式設計類別 : 九職等以下新進人員作答注意事項 : 1 全部答案請寫在答案卷內, 如寫在試題紙上, 則不予計分 2 請以黑色或藍色鋼筆或原子筆書寫, 並以橫式書寫 ( 由左至右, 由上而下 ) 一 選擇題 ( 每題 4 分, 共 40 分 )
全國各級農會第 2 次聘任職員統一考試試題 一 選擇題 ( 每題 4 分, 共 40 分 ) 1. 在 Java 語言中, 請問下列何者資料型別的變數, 所需的儲存空間最少? (a) char (b) float (c) double (d) int 2. 請問下列何者非 C 語言的關鍵字 (key word)? (a) const (b) default (c) dynamic (d) continue
Microsoft Word - Prog1-981.docx
5. 變數參照 (Memory Reference) 5.1 指標 (Pointer) (1). 指標 (Pointer) 的基本觀念 特性 內含為一 Memory Address 會因不同的機器而有不同的結果 &" 也是代表變數的位址 例如 : int var1 = 2; cout
Microsoft PowerPoint - EmbSys102_JavaOOP [相容模式]
嵌入式系統及實驗 Embedded System and Experiment 詹曉龍 長庚大學電機系 Java 的類別與物件 : 宣告類別 建構子 public class Customer { // Customer 類別宣告 private String name; // 成員資料 private String address; public int age; // 建構子 : 使用參數設定成員資料初始值
Microsoft PowerPoint - ch4.pptx
.NET 程式設計入門 ( 使用 C#) 1 Outline 類别與物件 欄位與屬性 方法 靜態成員 方法多載 建構式 遞迴 2 命名空間 (1) 使用命名空間的好處可以將功能類似的類別組織在一起 命名空間允許巢狀的結構, 形成階層式的架構, 更容易分類管理 若在同一個程式檔中宣告二個名稱一樣的類別時, 編譯會發生錯誤, 我們可以利用命名空間來解決此問題 利用 using 關鍵字來指定需要的命名空間
untitled
1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 [email protected] www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立
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
内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌
语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语
Microsoft PowerPoint - C-Ch08.ppt
函數 8-1 函數 函數 (function) 可以整合某些特定的處理 整合好的處理可以隨時呼叫使用 C 語言的程式本身也是一個函數, 也就是 main() 函數 使用函數可簡化程式 提款的處理 1. 將提款卡插入自動提款機當中 2. 輸入個人密碼 3. 指定提款金額 4. 領取款項 5. 確認款項與提款卡 提款處理 8-2 函數的定義與呼叫 定義函數的語法 : 傳回值的型態函數名稱 ( 引數列表
Microsoft PowerPoint - java2012-ch08投影片.ppt
第八章認識類別 認識類別的基本架構在類別裡使用資料成員與函數成員學習 this 關鍵字的用法在類別裡設計函數的多載學習如何使用類別裡的公有與私有成員 1 類別的基本概念 每一個 Java 程式, 至少會存在一個或一個以上的類別 類別是由資料成員與函數成員封裝而成 類別內的資料成員稱為 field( 範疇 ) 在 oop 裡, 函數成員是封裝在類別之內 類別是由 資料成員 與 函數成員 封裝而成 2
Microsoft PowerPoint - 12 struct and other datatypes.ppt
第十一章結構與其它資料型態 結構與巢狀結構 結構陣列的各種使用方法 列舉型態 自定的型態別名 typedef 認識結構 使用者自定的資料型態 結構可將型態不同的資料合併成為新的型態 定義結構與宣告結構變數的格式如下 : struct 結構名稱 資料型態成員名稱 1; 資料型態成員名稱 2;... 資料型態成員名稱 n; struct 結構名稱變數 1, 變數 2,, 變數 n; 定義結構與宣告結構變數的語法
新・解きながら学ぶJava
481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --
Microsoft PowerPoint - java2012-ch12投影片.ppt
第十二章大型程式的發展與常用的類別庫 學習如何分割檔案認識類別庫以及取用類別庫裡的類別建構 package 的階層關係學習 Java 裡常用的類別庫 1 分割檔案的實作 (1/2) 12.1 檔案的分割 以 CCircle 類別為例, 說明分割檔案的實作 1. 依序建立兩個類別檔案, 並置於同一個資料夾內 : 2 分割檔案的實作 (2/2) 12.1 檔案的分割 2. 分別以下列的指令編譯 CCircle.java
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
第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
Microsoft PowerPoint - 第10章.ppt
副程式 通常我們會將重複功能的程式碼, 獨立形成一個固定的程式片段, 讓主程式重複呼吸使用稱為副程式 主程式 開 始 副程式 1 副程式 2 敘述 1 敘述 2 Sub 功能 1( ) : : End Sub Sub 功能 2( ) : : End Sub 輸 出 結 束 主程式與副程式 10-1 副程式 副程式和函式最大的不同處在於 : (1) 副程式並不傳回值 (2) 函式會傳回一個值 假設要讓副程式回傳值,
Microsoft PowerPoint - C-Ch10.ppt
了解陣列元素的位址 陣列 指標的應用 10-1 陣列與指標的關係 可以使用位址運算子 (&) 來查詢陣列中各個元素的位址 &test[0] 這行表示陣列最前面元素的位址 &test[1] 這行表示陣列第二個元素的位址 關於陣列名稱的機制 陣列名稱可以表示陣列最前面元素的位址 #include int main(void) int test[5] = 80,60,55,22,75;
主程式 : 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,
《大话设计模式》第一章
第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜
第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
CHAPTER VC#
1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )
Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);
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
The Embedded computing platform
嵌入式系統及實驗 Embedded System and Experiment 詹曉龍 長庚大學電機系 Java 的類別與物件 : 宣告類別 建構子 public class Customer { private String name; private String address; // Customer 類別宣告 // 成員資料 public int age; // 建構子 : 使用參數設定成員資料初始值
1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F
1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o
OOP with Java 通知 Project 4: 5 月 2 日晚 9 点
OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =
chp6.ppt
Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行
Microsoft PowerPoint - plan06.ppt
程 序 设 计 语 言 原 理 Principle of Programming Languages 裘 宗 燕 北 京 大 学 数 学 学 院 2012.2~2012.6 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
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
C/C++基礎程式設計班
C/C++ 基礎程式設計 我們必須讓小事也令人難忘 We ve got to make the small things unforgettable. -Steve Jobs 函式 (Function) 講師 : 張傑帆 CSIE NTU 課程大綱 函式概論 變數類型 - 全 / 區域變數 函式中以指標當參數 傳遞陣列參數 把程式拆成多個檔案 函式 (Function) 包函許多程式碼的一行程式 (
詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入
100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入
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
Microsoft PowerPoint - C-Ch11.ppt
各式各樣的資料型態 11-1 結構的基礎知識 決定新的型態 關於結構 結構資料型態可以將不同資料型態的值整合成新的型態 結構型態的宣告語法 : struct 結構型態 { 資料型態識別字 ; 資料型態識別字 ; }; 加上 struct 進行宣告 宣告結構變數 語法 : 結構型態結構變數名稱 ; 範例 : struct Car car1; 對成員進行存取 使用結構型態的成員時, 必須使用成員選擇運算子
多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t
設定存取 SD 卡的權限 SD SD 13.1.4
エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******
******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);
Microsoft PowerPoint - SE7ch06.ppt
第六章 函式 (Method; ; 方法 ) 課前指引在設計程式時, 我們會將一個較大的程式切割為許多個子功能, 每個子功能或許可以再切割為數個更小的功能, 一直將功能分解到每個小功能皆可以很輕易地由簡短的程式加以完成為止 我們通常將這些小功能獨立寫成一個 函式, 或者將程式中常常重複的程式區塊獨立出來寫成一個 函式, 當程式需要運用該功能時, 就可以直接呼叫函式, 使得主要程式的長度變短而有助於日後的維護
<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>
程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 [email protected] 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学
Microsoft Word - 第3章.doc
Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck
電機工程系認可證照清單 2011/7/1
南 台 科 技 大 學 電 機 工 程 系 專 業 證 照 課 程 實 施 要 點 96 年 10 月 05 日 系 務 會 議 通 過 100 年 06 月 30 日 系 務 會 議 修 正 通 過 101 年 06 月 21 日 系 務 會 議 修 正 通 過 一 本 系 為 提 升 學 生 的 專 業 技 能, 特 訂 定 本 辦 法 二 實 施 對 象 : 本 系 日 間 部 96 學 年
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 =
全国计算机技术与软件专业技术资格(水平)考试
全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明
Microsoft PowerPoint - Class4.pptx
C++ 程式初探 IV 2015 暑期 ver. 1.0.2 C++ 程式 IV 大綱 1. 時間函式 2. 格式化輸出 3. 遞迴函式 (recursion) 4. 字串 5. 字串轉型 2 補充語法 時間計算 引入標頭檔 #include #include #include #include using namespace
Microsoft Word - CPMidTerm2011SpringSolution
通識計算機程式設計期中考參考解答, 4/22/2011 1. (a) 宣告 int 變數 k, bool 變數 b, double 變數 x (3%) 答 : int k; bool b; double x; (b) 在螢幕顯示一行字, 要求使用者輸入一個整數 (3%) 答 : Console.WriteLine(" 輸入一個整數 "); (c) 自鍵盤讀入一個整數., 並將其值存入已宣告之 int
<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>
全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答
Microsoft PowerPoint - 05-func.ppt
函式 (Functions) 用途 定義語法 使用前必須先宣告 呼叫 傳回值的資料型態 參數列 引數的傳遞方式 陣列參數 預設的引數值 不定數目的參數 return 敘述 遞迴函式 行間函式 處理指令行的選項 函式指標 與其它語言寫成的函式連結 Function - 1 函式的用途 程式碼的再利用 (code reuse) 便利模組化設計的 implementation 便利程式的維護 便利程式的移植
SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基
开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些
建模与图形思考
C03_c 基 於 軟 硬 整 合 觀 點 JNI: 从 C 调 用 Java 函 数 ( c) By 高 煥 堂 3 How-to: 基 於 軟 硬 整 合 觀 點 从 C 调 用 Java 函 数 如 果 控 制 点 摆 在 本 地 C 层, 就 会 常 常 1. 从 本 地 C 函 数 去 调 用 Java 函 数 ; 2. 从 本 地 C 函 数 去 存 取 Java 层 对 象 的 属 性
前言 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
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 架構相關的型別
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
( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政
( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政 府 关 于 命 名 第 一 批 省 级 生 态 市 第 七 批 省 级 生 态 县 ( 市 区 )
用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應
專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;
<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>
全國高級中等學校 106 學年度商業類科學生技藝競賽 程式設計 職種 學科 試卷 選手證號碼 ( 崗位編號 ): 姓名 : 注意事項 : 請將答案劃記於答案卡, 未依規定劃記者不予計分 試題說明 :( 選擇題共 25 題每題 4 分, 答錯不倒扣, 共 100 分 ) ( )1. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 15 (B) 12 (C) 7 (D) 3 Dim
第1章
第 10 章 類別的進階 - 繼承 抽象類別 介面與類別庫 1 本章提要 10.1 前言 10.2 繼承 10.3 改寫 10.4 Object 類別是類別之源 10.5 抽象類別 10.6 介面 10.7 內部類別 10.8 類別庫 10.9 綜合練習 10.10 後記 2 10.1 前言 本章將進ㄧ步來探討類別的進階應用, 包括以下主題 : 繼承 (Inheritance) 改寫 (Overriding)
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
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
Java 程式設計初階 第 5 章:基本輸出入 & 流程控制
Java 程式設計 標準輸出入與流程控制 本章大綱 標準輸出入 (Standard I/O) 分支 (Branch) if ~ else switch ~ case 迴圈 (Loop) for while do ~ while 中斷指令 break continue 總整理 標準輸出 定義 : 將資料印到螢幕上 Java 標準輸出指令 System.out.println( 資料 ) 將資料印出後換行
運算子多載 Operator Overloading
多型 Polymorphism 講師 : 洪安 1 多型 編譯時期多型 ( 靜態多型 ) function overloading 如何正確呼叫同名的函數? 利用參數個數與型態 operator overloading 其實同 function overloading 執行時期多型 ( 或動態多型 ) 如何正確呼叫不同物件的相同名稱的成員函數 利用繼承與多型 2 子類別與父類別物件間的指定 (assignment)
Microsoft Word - AEL 序-.doc
三版序 隨著電腦硬體技術不斷地進步, 軟體亦隨著日新月異 而指揮電腦運作的程式語言, 由早期的機器語言 組合語言 FORTRAN COBOL BASIC C PHP Java C++ 和 C# 等, 直不斷演進 其中 C 語言是 個 效率且介於 階和低階之語言, 適合開發各種系統或應用程式, 可攜性及執行效率, 因此很受程式設計師的喜愛, 尤其由 C 延伸出來的 C++ 是屬於物件導向程式語言, 很適合用來開發大型應用程式,
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
(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
任務二 : 產生 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
一、
考試時間 : 1 小時 30 分座號 : 全五頁第一頁 注意 : 禁止使用電子計算器 不必抄題, 作答時請將試題題號及答案依照順序寫在試卷上, 於本試題上作答者, 不予計分 一 就下列 Java 程式片斷中加入一個 for 迴圈, 使其印出右側結果 (15 分 ) public class AllNumbers number square cube 0 0 0 public static void
C++
第五講 泛型程式設計 講師 : 李根逸 (Ken-Yi Lee), E-mail: [email protected] 130 課程 大綱 模版 (template) 簡介實作多個相似內容的函式函式模版類別模版 自製陣列模版 static 的 用法修飾全域變數或 一般函式修飾區域變數修飾類別成員 C++ STL 的陣列模版 (std::vector) 131 實作多個相似內容的函式 [1] 寫 C/C++
2. 參考網站 C 語言考古題 & C 的解題 程式設計學習入門 ( 網址 : c.blogspot.com/) 網站 : 星子 ACM 小窩 ( 網址 : 網站 :ACM Onli
壹 課程說明 單元名稱 單元摘要 C 語言 : 進階資料型態 1. 認識陣列 (Array) 2. 認識結構 (Structure) 3. 認識指標 (Pointer) 設計者劉洲溶教師 ( 國立台中二中 ) 1. 了解陣列的含意及學習陣列宣告語法及程式設計方法 2. 了解結構的意義及學習結構宣告語法及程式設計方法 學習目標 3. 了解指標的含意及學習指標宣告語法及程式設計方法 4. 培養學生進階程式設計能力
單步除錯 (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)
Microsoft PowerPoint - java2012-ch13投影片.ppt
第十三章例外處理 瞭解什麼是例外處理認識例外類別的繼承架構認識例外處理的機制學習如何撰寫例外類別 1 例外的基本觀念 在撰寫程式時常見的幾種情況 : (1) 要開啟的檔案並不存在 (2) 存取陣列時, 陣列的索引值超過陣列容許的範圍 (3) 原本預期使用者由鍵盤輸入的是整數, 但使用者輸入的卻是英文字母 這類不尋常的狀況稱為 例外 (exception) 在 Java 中, 所有的例外都是以類別的型態存在
Microsoft PowerPoint - 13_ClassAndObj.ppt
Visual Basic 2005 (VB.net 2.0) 程式設計 講師 : 戴志華 [email protected] 國立台灣大學電機工程研究所 第十三章 物件與類別 物件與類別 物件導向程式設計 物件與類別的建立 物件與類別 物件 (object) Ex. 人 屬性 (property) 身高 體重 血型 方法 (method) 走路 跑步 訊息 (message) 交談 事件
標題
5 反三角函數的基本概念 ( 甲 ) 反函數的概念 (1) 反函數的定義 : 函數 f() g(), 設, 分別是 f() g() 定義域內任意元素, 如果 g(f())= 且 f(g())= 則稱 f() 與 g() 互為反函數,f() 的反函數記為 f 1 (), 即 g()=f 1 () 此時 f() g() 的定義域與值域互換, 即 f() 的定義域為 f 1 () 的值域,f() 的值域為
Microsoft PowerPoint - 07-overloaded.ppt
Overloaded Functions 前言 處理多載函式宣告的規則 處理多載函式呼叫的規則 多載函式與 scope 函式呼叫的議決 前言 C 語言規定 : 函式的名稱不可相同 這樣的規定使得我們必須為功能相近但參數型態相異的函式取不同的名稱, 譬如 : int imax (int, int); double dmax (double, double ); // max function for
