計算機程式設計 老師:謝孟諺 助教:楊斯竣.

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

說 劍 《莊子‧雜篇》─ 第 一 組 賴泊錞 謝孟儒 張維真 羅苡芸
行政诉讼法.
第二章 遺傳 2‧4 突變.
江苏省2008年普通高校 招生录取办法 常熟理工学院学生处
物件導向語言基礎 Chapter 4 認知 學完本章應了解何謂常數、變數。 了解有哪些運算式、運算子和基本輸入、輸出指令。
新准则与老准则 主要变更内容.
主题一 主题二 模块小结与测评 主题三 考点一 主题四 考点二 主题五 考点三 主题六 考点四 命题热点聚焦 考点五 模块综合检测 考点六.
第十二单元 第28讲 第28讲 古代中国的科技和文艺   知识诠释  思维发散.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
第1节 光的干涉 (第2课时).
第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案. 第4章 种群和群落 第3节 群落的结构 自主学习案   合作探究案 课后练习案.
資料結構使用Java 第1章 資料結構與Java程式複習.
江苏省2009年普通高校 招生录取办法 江苏省教育考试院
第十三章 收入和利润.
第3章 變數與運算子 3-1 電腦記憶體的基礎 3-2 變數的命名與宣告 3-3 VB.NET的資料型別
Visual C++ introduction
2-3 基本數位邏輯處理※.
列舉(enum).
第四章 流程控制(一) if,if-else 與 switch
保留字與識別字.
使用VHDL設計—4位元加法器 通訊一甲 B 楊穎穆.
Java程式概觀.
C語言簡介 日期 : 2018/12/2.
類別(class) 類別class與物件object.
第 4 章 運算式 (Expression).
Java 程式設計 講師:FrankLin.
JAVA程式語言入門(I) 授課教師:王大瑾
程式設計 博碩文化出版發行.
第一單元 建立java 程式.
能盡物之性,則可以贊天地之化育。 可以贊天地之化育,則可以與天地矣。 《中庸﹒第二十一章》
C程式的架構 基本的資料型態 變數的宣告 常見的語法錯誤 基本的運算 優先順序與結合律 資料型態的轉換
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
Ch2多項式函數 2-2 多項式的運算與應用 影音錄製:陳清海老師 資料提供:龍騰文化事業股份有限公司.
若水庫的水位 每天增高6公分, 4天後 總水位變化會是多少?
JAVA 程式設計 資訊管理系 - 網路組.
輸入&輸出 函數 P20~P21.
Java變數 2014/6/24.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
CH05. 選擇敘述.
大綱:加減法的化簡 乘除法的化簡 去括號法則 蘇奕君 台灣數位學習科技股份有限公司
電子白板百萬小學堂 本活動建議搭配電子白板 學生最多可分成2~6組(請按組別按鈕) 老師可以視時間多少,來進行活動 每一組要回答十個問題。
挑戰C++程式語言 ──第8章 進一步談字元與字串
認識常數與變數 學習C++所提供的各種基本資料型態 瞭解溢位的發生 學習認識資料型態之間的轉換
 多項式的除法 x3 + 2x2 – 5x + 6 = (x – 1)(x2 + 3x – 2) + 4 被除式 除式 商式 餘式
大綱:整數的加法 整數的減法 蘇奕君 台灣數位學習科技股份有限公司
第九节 赋值运算符和赋值表达式.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
計算機程式設計 老師:蘇炳煌 助教:楊斯竣.
邏輯設計 老師:羅峻旗 助教:楊斯竣.
§5.6 平面向量的数量积及运算律 南海中学数学组 周福隽.
函數應用(二)與自定函數.
Ch18. 位元運算子與運算子函式.
6年級數學 方程式計算複習 巫鑛友老師製作 2003年4月13日.
第八节 算术运算符和算术表达式.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
例題 1. 多項式的排列 1-2 多項式及其加減法 將多項式 按下列方式排列: (1) 降冪排列:______________________ (2) 升冪排列:______________________ 排列 降冪:次數由高至低 升冪;次數由低至高.
1-1 二元一次式運算.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
第五章 運算關係式(Expression).
變數、資料型態、運算子.
網路程式-ASP 授課:方順展.
Programming & Language Telling the computer what to do
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Introduction to the C Programming Language
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

計算機程式設計 老師:謝孟諺 助教:楊斯竣

大綱 算數運算 If 自動轉換 強制轉換

認識運算式 運算式由運算元(operand)與運算子(operator)組成 運算元可以是變數或是常數 運算子就是數學上的運算符號 4.1 運算式與運算子 運算式由運算元(operand)與運算子(operator)組成 運算元可以是變數或是常數 運算子就是數學上的運算符號 如「+」、「-」、「*」、「/」等 典型的運算式

設定運算子(1/2) age=age+1 sum=num1+num2 為各種不同資料型態的變數設值,可使用設定運算子 4.1 運算式與運算子 為各種不同資料型態的變數設值,可使用設定運算子 等號(=)並不是「等於」,而是「設定」 將整數18設定給變數age age=age+1 變數age+1之後的值再設定給age存放 sum=num1+num2 等號的右邊也可以是個運算式

設定運算子 (2/2) 4.1 運算式與運算子 下面的範例示範設定運算子的使用:

一元運算子 (1/2) 下面的敘述是由一元運算子與單一個運算元組成 一元運算子的成員 4.1 運算式與運算子 +6; // 表示正6 +6; // 表示正6 ~a; // 表示取a的1補數 x=-y; // 表示負y的值設定給變數x存放 !a; // a的NOT運算,若a為0,則!a為1,若a不為0,則!a為0 一元運算子的成員

一元運算子 (2/2) 4.1 運算式與運算子 「~」與「!」運算子的範例:

算術運算子 (1/3) 算術運算子在數學上經常會使用到 算術運算子的成員: 加法運算子「+」可將前後兩個運算元做加法運算 4.1 運算式與運算子 算術運算子在數學上經常會使用到 算術運算子的成員: 加法運算子「+」可將前後兩個運算元做加法運算 6+2; // 計算6+2 b=a+15 // 將a的值加15之後,再設定給變數b存放 sum=a+b+c // 將a,b與c的值相加後,設定給變數sum存放

算術運算子 (2/3) 減法運算子「-」可將前後兩個運算元做減法運算 乘法運算子「*」可將前後兩個運算元相乘 4.1 運算式與運算子 age=age-1; // 計算age-1之後,再將其結果設定給age存放 c=a-b; // 計算a-b之後,再設定給c存放 54-12; // 計算54-12的值 乘法運算子「*」可將前後兩個運算元相乘 b=c*3; // 計算c*3之後,再將其結果設定給b存放 a=a*a; // 計算a*a之後,再設定給a存放 17*5; // 計算17*5的值

算數運算子 (3/3) 餘數運算子「%」:取出二數相除後的餘數 除法運算子「/」可將前面的運算元後除以後面的運算元 4.1 運算式與運算子 b=a/6; // 計算a/6之後,再將其結果設定給b存放 d=c/d; // 計算c/d之後,再設定給d存放 3/8; // 計算3/8的值 要注意資料型態的變化 餘數運算子「%」:取出二數相除後的餘數 age=age%5; // 計算age/5的餘數,再把計算結果給age存放 c=a%b; // 計算a/b的餘數,然後把計算結果給c存放 48%7; // 運算48%7的值

關係運算子與 if 敘述 (1/2) if 敘述的格式如下: 如下面的程式片段: if (x<0) 4.1 運算式與運算子 敘述; 關係運算子的成員 如下面的程式片段: if (x<0) System.out.println("x的值小於0");

關係運算子與 if 敘述 (2/2) 4.1 運算式與運算子 關係運算子的使用範例:

遞增與遞減運算子 遞增與遞減運算子的成員: 想讓變數a加上1,其敘述如下 4.1 運算式與運算子 a=a+1; 本程式比較a++與++b的不同

邏輯運算子 (1/2) 邏輯運算子與真值表: 邏輯運算子的使用範例: 4.1 運算式與運算子 邏輯運算子與真值表: 邏輯運算子的成員 AND與OR真值表 邏輯運算子的使用範例: (1)a>0 && b>0 // 兩個運算元皆為真,運算結果才為真 (2)a>0 || b>0 // 兩個運算元只要一個為真,運算結果就為真

邏輯運算子(2/2) 4.1 運算式與運算子 邏輯運算子應用在 if 敘述中 : 100 49 60 成績輸入錯誤 需要補考

括號運算子 括號運算子() 用來處理運算式的優先順序: 以一個加減乘除式子為例: 想分別計算12-2*6及4+1之後再將兩數相除則成為 4.1 運算式與運算子 括號運算子() 用來處理運算式的優先順序: 以一個加減乘除式子為例: 12-2*6/4+1 // 未加括號的運算式 運算結果為10 想分別計算12-2*6及4+1之後再將兩數相除則成為 (12-2*6)/(4+1) // 加上括號的運算式 運算結果為0

運算子的優先順序列表 4.2 運算子的優先順序 數字愈小表示優先順序愈高

運算子的優先順序 a=b<=5&&c==0; 運算子優先順序的範例: 4.2 運算子的優先順序 優先順序 14 6 11 7 3. 然後進行&&運算 (&&的優先順序為11 ) 4. 最後再把運算結果設給變數 a 存放 (= 的優先順序為14 )

結合性 結合性是指相同優先順序之運算子的執行順序 算術運算子的結合性為「由左至右」 4.2 運算子的優先順序 結合性是指相同優先順序之運算子的執行順序 算術運算子的結合性為「由左至右」 a=b+d/3*6; // 結合性可以決定運算子的處理順序 d會先除以3再乘以6得到的結果加上b後,將整個值給a存放

運算式的組成 運算式是由常數、變數或是其它運算元與運算子所組合而成 下面的例子,均是屬於運算式 4.3 運算式 運算式是由常數、變數或是其它運算元與運算子所組合而成 下面的例子,均是屬於運算式 -18 // 由一元運算子「-」與常數18組成 sum+6 // 由變數sum、算術運算子與常數6組成 a+b-c/(d*3-9) // 由變數、常數與算術運算子組成的運算式

簡潔的運算式 (1/2) 4.3 運算式 下表為簡潔的運算式與使用說明: 簡潔寫法的運算式範例:

簡潔的運算式 (2/2) 4.3 運算式 使用簡潔運算式的範例:

運算式的資料型態轉換 (1/4) 4.4 運算式的型態轉換 Java處理型態轉換的規則:

運算式的資料型態轉換 (2/4) 4.4 運算式的型態轉換 型態轉換的範例:

運算式的資料型態轉換 (3/4) 4.4 運算式的型態轉換 下圖為app4_7內變數的資料型態轉換過程解說:

運算式的資料型態轉換 (4/4) 4.4 運算式的型態轉換 下圖為app4_7運算式的運算過程:

自動型態的轉換 (1/2) Java會在下列條件皆成立時,自動做資料型態的轉換: (1) 轉換前的資料型態與轉換後的型態相容 型態轉換 (2) 轉換後的資料型態之表示範圍比轉換前的型態大 例如: int 和 float 相加,int 會被轉成 float char 和 int 相加,char 會被轉成 int 型態轉換 發生在運算子左右兩邊的運算元型態不同時 自動資料型態的轉換只限該行敘述 透過自動型態的轉換,可以保證資料的精確度 這種轉換也稱為擴大轉換(augmented conversion)

自動型態的轉換 (2/2) 浮點數與整數作運算的結果: 先將a轉換成float,再除以b

強制型態轉換 (1/2) 將資料型態強制轉換成另一種型態的語法: 強制型態轉換也稱為顯性轉換(explicit cast) 資料型態的強制性轉換 (欲轉換的資料型態) 變數名稱; 強制型態轉換也稱為顯性轉換(explicit cast) 強制型態轉換的注意事項 變數強制轉換成另一種型態,原先的型態不會被改變 縮小轉換(narrowing conversion)可能會漏失資料的精確度 Java不會主動做縮小轉換

強制型態轉換 (2/2) 整數與浮點數進行強制轉換的範例: 也可寫成 將a轉換成浮點數之後,再除以b a/(float)b (float)a/(float)b

-The End-