SlideShare a Scribd company logo
1 of 34
Download to read offline
講師:賴旭昭
黃景暉
C/C++
 1969-1973由Dennis MacAlistair Ritchie開發
 設計哲學:
 高效
 功能豐富
 高移植性
 最近25年是使用最為廣泛的程式語言!
Java
 最初於1991由昇陽電腦成立專案小組研發
 以C和C++為基礎發展出來的語言
 設計哲學:
 完全物件導向
 高移植性
 動態且多執行緒
 廣泛應用於行動應用開發
程式基本架構
 程式庫(API)
 類別、物件(class)
 其他變數(field, variable)
 main(),執行程式的切入點
 其他函數(method, function)
API
 Application Programming Interfaces
 定義好的程式,可透過import來使用
 import java.awt.*;
 常見的API
 java.awt:圖像、使用者介面
 javax.swing:視窗元件
 java.lang:所有class的源頭,會被自動import
 java.math:數學相關
main
 執行程式必定從main開始執行
 執行順序:由左大括號依序往下執行至右大括號
程式的基本符號
 ; 一行的句點
 // 單行程式註解
 /* … */ 多行程式註解
 { … } 分層
 “ … ” 字串
程式的元素--變數
 變數(fields):資料型態 變數名稱;
 儲存資料的單位
 常用資料型態:
 int (整數,integer)
 double (浮點數,小數)
 String (字串)
 example:
 int stuNumber;
 double avgScore;
 String name;
程式的運算符號
 “=”運算符號
 不是一般的等於,請想成 “<=” !!!!!
 a = b;
 四則運算:+ - * /
 餘數運算:%
 使用方法:
 a = b + c ;
 a,b,c 必須為同一種資料型態!
換你試試看! (1)
 撰寫程式
 打開eclipse,點選最上面的Practice1.java
 請把你的程式寫在 write your code here 中間!
 其他部分請不要改動!
 執行程式
 右鍵點最左邊的Practice1資料夾
 選中下方的Run as,再選Java Application
換你試試看! (1)
 有兩個已知整數(int),分別叫 x 和 y (y不為零)
 大小寫很重要!!!
 請你命名五個變數:
 sum:兩數相加
 sub:兩數相減
 mul:兩數相乘
 div:x 除以 y 的商
 rem:x 除以 y 的餘數
關係、條件運算符號
 等於:==
 不等式
 大於:>
 小於:<
 大於等於:>=
 小於等於:<=
 不等於:!=
條件判斷式
 if ( 這些我全部都會了 ) {
下課來跟A胖單挑;
}
 else if ( 有些會有些不會 ){
那些不會的要注意聽;
}
 else {
乖乖任命聽課;
}
開始
是否全
部都會
了?
是否有
些會有
些不會?
乖乖認命聽
課
下課找A胖
單挑
不會的地方
注意聽
Yes
Yes
No
No
條件判斷式範例
開始
溫度大於28?
那是否大於
20?
穿外套
開冷氣
開電扇
Yes
Yes
No
No
那是否大於
15?
^_^
Yes
No
換你試試看! (2)
 這是你和電腦玩撲克牌比大小的遊戲!
 請你利用if-else判斷式來寫出誰輸誰贏!
 規則:
 優先比號碼大小:2 < 3 < …. < 10 < J < Q < K < A
 同號則比花色:梅花 < 磚塊 < 愛心 < 黑桃
 絕對不能只用if,要用到else if 或 else !
換你試試看! (2)
 比較條件:
 int myNumber; 代表玩家(你)的號碼
 int enemyNumber; 代表電腦的號碼
 int myPattern; 代表玩家的花色
 int enemyPattern; 代表電腦的花色
 條件式只需要比較兩個整數之間的大小!
 不需要考慮各變數和原本撲克牌的花色或點數關係
換你試試看! (2)
 輸贏要做的事: (照著打就好)
 若玩家贏:path3 = path3 + “youwin”;
 若電腦贏:path3 = path3 + “youlose”;
 若平手:path3 = path3 + “tie”;
如果今天存100個整數,
那……真的要宣告100個整數嘛!?
陣列 Array
 用來儲存一系列相同型態的資料
 宣告方式
 C/C++ : 資料型態 陣列名稱[大小];
 int a[100]; //有100格的整數陣列
 Java :資料型態 [] 陣列名稱 = new 資料型態[大小];
 int [] a = new int[100]; //有100格的整數陣列
 使用方式 a[x], x = 0~99
 0開始是因為電腦用二進位!
 a[9] = 5566; //a[9]可視為一個整數,存5566
 int b = a[9]; //把a[9]裡面的值存入b
陣列
 把陣列想成很多個箱子!!
 int [] box = new int[100];
 int:箱子可以裝的種類
 box:這些箱子的名字
 new:系統給你這些全新閃亮亮的箱子
 100:總共100個箱子
 box[9] = 5566; //把整數5566裝入編號9的箱子
 int b = box[9]; //把編號9的箱子的值存到整數b裡
陣列
 箱子可以裝的種類:int
 箱子名字:box
 0~9:共10個箱子
陣列
 重要使用守則!!
 大小須在宣告時就定義好!
 陣列的編號從 0 開始,最大到 數量-1
 系統不會幫你預設值,所以使用前必須先給定,不然裡
面的值會是亂數
換你試試看! (3)
 這是條碼解讀器,他會告訴你你輸入的編號是否有效!
 規則:
 輸入一個九碼的整數,確定後請按旁邊的按鈕“enter”
 我會幫你把這整數一個一個放到一個叫 a 的陣列裡
 若你輸入的九碼整數有效,則會出現”Correct!”
 否則會出現”Wrong!”
 測試資料:
 Correct:071597430 189624172
 Wrong:111111111 000000000
換你試試看! (3)
 解讀有效條碼的步驟:(你來寫的部分!)
 step1:請把a[1], a[3], a[5], a[7] 加起來
 step2:請把a[0], a[2], a[4], a[6] 加起來
 step3:把第一步的結果乘3,再加上第二步的結果
 step4:把第三步的結果減一
 step5:算出第四步除以10的餘數
 step6:請宣告一個整數叫answer,其值為
9 – (第四步的結果)
 提示:每一步的結果都是一個整數
 如果answer和a[8]相等,則這個條碼就是有效的!
那如果我要讓a[x] = x,
我就要從a[0]=0 寫到a[99]=99,
寫整整100次嗎?
for迴圈
 一些要素
 計數(counter),整數,用來表示迴圈的次數
 判斷式,告訴for迴圈甚麼時候要執行裡面的程式
 使用方法
 for( 初始化計數 ; 條件判斷式 ; 計數遞增(減) ) {
要做甚麼…..
}
迴圈範例
函數
 函數(methods):資料型態 函數名稱(參數);
 參數是函數需要的變數
 double computeAvg(grades);
 void setColor(RED);
 包含一個完整功能的程式片段
函數
 可以自行定義也可以呼叫別人寫好的API
 適當的使用函數可以讓程式看起來更簡潔
 特定的演算法
 重複使用的片段
換你試試看! (4)
 這是一個畫彩虹的程式!
 已知:
 有一個陣列 color[8]
 從 0~7 依序是彩虹的顏色(紅橙黃綠藍靛紫白)
 設定顏色的方法:g.setColor(顏色);
 g.setColor(color[7]); => 接下來畫白色的圖
換你試試看! (4)
 畫圖的方法
 g.setColor( color[0] );
 設定接下來畫的圖的顏色
 g.fillOval( x,y,w,h );
 畫一個填滿的圓,其參數共有x,y,w,h四個
 程式思維
 由最大的開始畫,依序往內畫小圈的
換你試試看! (4)
 請寫出畫彩虹的 for 迴圈!!
換你試試看! (4)
 進階題~~~
 試著把彩虹顏色順序倒過來!
 正確結果應如下圖 (最內層還是要有白色的半圓)
Hint:可以用if!!!

More Related Content

What's hot (20)

P127 135 new
P127 135 newP127 135 new
P127 135 new
 
Actio
ActioActio
Actio
 
從 C 語言的角度入門 php
從 C 語言的角度入門 php從 C 語言的角度入門 php
從 C 語言的角度入門 php
 
Ppt 51-77
Ppt 51-77Ppt 51-77
Ppt 51-77
 
Appendix B 範例
Appendix B 範例Appendix B 範例
Appendix B 範例
 
Ppt 26-50
Ppt 26-50Ppt 26-50
Ppt 26-50
 
Ppt 51-77
Ppt 51-77Ppt 51-77
Ppt 51-77
 
Sym py edu
Sym py eduSym py edu
Sym py edu
 
Ch9 教學
Ch9 教學Ch9 教學
Ch9 教學
 
xwz 2010-10-31
xwz 2010-10-31xwz 2010-10-31
xwz 2010-10-31
 
Ppt 1-50
Ppt 1-50Ppt 1-50
Ppt 1-50
 
Ch10 教學
Ch10 教學Ch10 教學
Ch10 教學
 
Ch1 教學
Ch1 教學Ch1 教學
Ch1 教學
 
Appendix A 教學
Appendix A 教學Appendix A 教學
Appendix A 教學
 
Appendix B 教學
Appendix B 教學Appendix B 教學
Appendix B 教學
 
Python 入門
Python 入門 Python 入門
Python 入門
 
Ch11 教學
Ch11 教學Ch11 教學
Ch11 教學
 
来自 Google 的 r 语言编码风格指南
来自 Google 的 r 语言编码风格指南来自 Google 的 r 语言编码风格指南
来自 Google 的 r 语言编码风格指南
 
Trie树分享
Trie树分享Trie树分享
Trie树分享
 
Ch10 範例
Ch10 範例Ch10 範例
Ch10 範例
 

Viewers also liked

[科科營]資訊專題
[科科營]資訊專題[科科營]資訊專題
[科科營]資訊專題nctutlc2013
 
[科科營]生醫專題
[科科營]生醫專題[科科營]生醫專題
[科科營]生醫專題nctutlc2013
 
[科科營]產學座談-沈上謙
[科科營]產學座談-沈上謙[科科營]產學座談-沈上謙
[科科營]產學座談-沈上謙nctutlc2013
 
[科科營]電腦概述
[科科營]電腦概述[科科營]電腦概述
[科科營]電腦概述nctutlc2013
 
[科科營]國際禮儀
[科科營]國際禮儀[科科營]國際禮儀
[科科營]國際禮儀nctutlc2013
 
[科科營]電子實驗
[科科營]電子實驗[科科營]電子實驗
[科科營]電子實驗nctutlc2013
 
[科科營]產學座談-潘正聖
[科科營]產學座談-潘正聖[科科營]產學座談-潘正聖
[科科營]產學座談-潘正聖nctutlc2013
 
[科科營]電機專題
[科科營]電機專題[科科營]電機專題
[科科營]電機專題nctutlc2013
 
國際禮儀
國際禮儀 國際禮儀
國際禮儀 mr850
 
公務禮儀&會議專案實務
公務禮儀&會議專案實務公務禮儀&會議專案實務
公務禮儀&會議專案實務Benjamin Liang
 

Viewers also liked (10)

[科科營]資訊專題
[科科營]資訊專題[科科營]資訊專題
[科科營]資訊專題
 
[科科營]生醫專題
[科科營]生醫專題[科科營]生醫專題
[科科營]生醫專題
 
[科科營]產學座談-沈上謙
[科科營]產學座談-沈上謙[科科營]產學座談-沈上謙
[科科營]產學座談-沈上謙
 
[科科營]電腦概述
[科科營]電腦概述[科科營]電腦概述
[科科營]電腦概述
 
[科科營]國際禮儀
[科科營]國際禮儀[科科營]國際禮儀
[科科營]國際禮儀
 
[科科營]電子實驗
[科科營]電子實驗[科科營]電子實驗
[科科營]電子實驗
 
[科科營]產學座談-潘正聖
[科科營]產學座談-潘正聖[科科營]產學座談-潘正聖
[科科營]產學座談-潘正聖
 
[科科營]電機專題
[科科營]電機專題[科科營]電機專題
[科科營]電機專題
 
國際禮儀
國際禮儀 國際禮儀
國際禮儀
 
公務禮儀&會議專案實務
公務禮儀&會議專案實務公務禮儀&會議專案實務
公務禮儀&會議專案實務
 

Similar to [科科營]資工程式試作

Java SE 7 技術手冊 - 課後練習解答
Java SE 7 技術手冊 - 課後練習解答Java SE 7 技術手冊 - 課後練習解答
Java SE 7 技術手冊 - 課後練習解答Justin Lin
 
《Java程序设计》期末考试试题 (六)
《Java程序设计》期末考试试题 (六)《Java程序设计》期末考试试题 (六)
《Java程序设计》期末考试试题 (六)jane2006
 
Metro Style Apps from C++ Developers' View
Metro Style Apps from C++ Developers' ViewMetro Style Apps from C++ Developers' View
Metro Style Apps from C++ Developers' ViewEric ShangKuan
 
Ecma script edition5-小试
Ecma script edition5-小试Ecma script edition5-小试
Ecma script edition5-小试lydiafly
 
Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]yiditushe
 
Introduction to C++ over CLI
Introduction to C++ over CLIIntroduction to C++ over CLI
Introduction to C++ over CLI建興 王
 
Python学习笔记
Python学习笔记Python学习笔记
Python学习笔记Lingfei Kong
 
Javascript share
Javascript shareJavascript share
Javascript shareXu Mac
 
107个常用javascript语句 oss 计算技术 - ossez info of tech
107个常用javascript语句   oss 计算技术 - ossez info of tech107个常用javascript语句   oss 计算技术 - ossez info of tech
107个常用javascript语句 oss 计算技术 - ossez info of techYUCHENG HU
 
PHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming SkillsPHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming SkillsHo Kim
 
Java面试知识
Java面试知识Java面试知识
Java面试知识yiditushe
 
Recycle Open Source Projects
Recycle Open Source ProjectsRecycle Open Source Projects
Recycle Open Source ProjectsGeorge Ang
 
2006 recycle opensourceprojects
2006 recycle opensourceprojects2006 recycle opensourceprojects
2006 recycle opensourceprojectsGeorge Ang
 

Similar to [科科營]資工程式試作 (20)

Sun java
Sun javaSun java
Sun java
 
Java SE 7 技術手冊 - 課後練習解答
Java SE 7 技術手冊 - 課後練習解答Java SE 7 技術手冊 - 課後練習解答
Java SE 7 技術手冊 - 課後練習解答
 
《Java程序设计》期末考试试题 (六)
《Java程序设计》期末考试试题 (六)《Java程序设计》期末考试试题 (六)
《Java程序设计》期末考试试题 (六)
 
Metro Style Apps from C++ Developers' View
Metro Style Apps from C++ Developers' ViewMetro Style Apps from C++ Developers' View
Metro Style Apps from C++ Developers' View
 
Dev307
Dev307Dev307
Dev307
 
Ecma script edition5-小试
Ecma script edition5-小试Ecma script edition5-小试
Ecma script edition5-小试
 
Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]
 
Introduction to C++ over CLI
Introduction to C++ over CLIIntroduction to C++ over CLI
Introduction to C++ over CLI
 
Python学习笔记
Python学习笔记Python学习笔记
Python学习笔记
 
Ch10
Ch10Ch10
Ch10
 
Scala
ScalaScala
Scala
 
[系列活動] Python 爬蟲實戰
[系列活動] Python 爬蟲實戰[系列活動] Python 爬蟲實戰
[系列活動] Python 爬蟲實戰
 
Javascript share
Javascript shareJavascript share
Javascript share
 
C語言標準輸出入函式
C語言標準輸出入函式C語言標準輸出入函式
C語言標準輸出入函式
 
C語言結構與串列
C語言結構與串列 C語言結構與串列
C語言結構與串列
 
107个常用javascript语句 oss 计算技术 - ossez info of tech
107个常用javascript语句   oss 计算技术 - ossez info of tech107个常用javascript语句   oss 计算技术 - ossez info of tech
107个常用javascript语句 oss 计算技术 - ossez info of tech
 
PHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming SkillsPHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming Skills
 
Java面试知识
Java面试知识Java面试知识
Java面试知识
 
Recycle Open Source Projects
Recycle Open Source ProjectsRecycle Open Source Projects
Recycle Open Source Projects
 
2006 recycle opensourceprojects
2006 recycle opensourceprojects2006 recycle opensourceprojects
2006 recycle opensourceprojects
 

[科科營]資工程式試作