变数与运算子PPT课件

上传人:re****.1 文档编号:570303768 上传时间:2024-08-03 格式:PPT 页数:38 大小:564.50KB
返回 下载 相关 举报
变数与运算子PPT课件_第1页
第1页 / 共38页
变数与运算子PPT课件_第2页
第2页 / 共38页
变数与运算子PPT课件_第3页
第3页 / 共38页
变数与运算子PPT课件_第4页
第4页 / 共38页
变数与运算子PPT课件_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《变数与运算子PPT课件》由会员分享,可在线阅读,更多相关《变数与运算子PPT课件(38页珍藏版)》请在金锄头文库上搜索。

1、 變數與運算子 內 容 大 綱n變數n型別n運算子n字串n變數應用實例變數 (1/3)n變數變數(variable)是程式語言中用以儲存資料的地方。n在Java語言中,在使用變數之前,我們首先必須先針對將要使用的變數加以宣告宣告(declare),以使得Java編譯器可以保留適當的記憶體空間以存放資料。n變數的宣告包括給變數一個識別名稱識別名稱(identification),並描述它存放資料的型別型別(type)。nExample: 型別 變數識別名稱; 變數 (2/3)n識別名稱的命名規則,在此,我們再將此規則整理如下:n識別名稱是由一連串英文字母、數字、底線_及錢幣符號$所組成的。n識別

2、名稱不可由數字數字開頭。n識別名稱不可包含空白字元空白字元。n識別名稱可以使用任何語言之字元,包括中文字元。n保留字保留字(reserved word)不可以作為識別名稱。變數 (3/3)n變數識別名稱用來指出變數的名稱,而型別則是用以指出變數儲存資料的方式,Java語言有八種八種型別。型別(1/6)nJava語言一共有八種資料型別(type) byte、short、char、int、long、float、double、boolean,分別可以用以儲存及表示位元組整數、短整數、整數、長整數、浮點數、倍精準度浮點數、布林邏輯值、字元等n表3-1n一個變數在宣告時,必須指明是使用八種資料型別中的哪

3、一種來存放資料的nExample: int 變數1; /宣告用於儲存整數型別資料的變數1 float 變數2; /宣告用於儲存浮點數型別資料的變數2 char 變數3; /宣告用於儲存字元型別資料的變數3 型別(2/6)n有些Java語言的變數是用以儲存類別類別(class)資料的,它們又稱為樣例變數樣例變數(instance variable)或是物件物件(object),此種變數的用法比一般型別變數的用法更為複雜n表3-1說明,首先我們看到儲存方式欄位,我們發現byte,short,int及long型別都是使用2的補數的補數(2s complement)表示法儲存資料nfloat及doub

4、le則利用IEEE 754之浮點數表示法儲存資料n另外,每一個宣告之後都必須設定其初始值初始值(initial value)才可以使用,否則會出現以下之錯誤訊息:nExample: Variable 變數 may not have been initialized. 型別(3/6)n在Java語言中使用幾個特別的字母加在數字之後以代表不同的型別型別nExample:在數字之後加上字母l或L代表long型別的數字,在數字之後加上字母f或F代表float型別的數字,而在數字之後加上字母d或D代表double型別的數字。nJava語言還要設立一個數值後面加L、l、D、d、F與f的用法呢?以下的範例可

5、以說明其原因:9223372036854775807L是正確的數值,而9223372036854775807是不正確的數值 型別(/6)n第二個數值因為最後沒有加上L,因此被當作int型別,但是int型別所能表示的最大範圍最大值僅為2147483647而已,第二個數值超過int型別所能儲存的數值範圍,因此是不正確的數值nfloat型別及double型別上,0.0f與0.0d雖然值都是0,但是前者是用32bit浮點數表示的0,而後者是用64bit浮點數表示的0n在Java語言中,除了在數字之後加上英文字母以區別其儲存型別之外,也可以在數字之前加上0、0x或0X來表示不同的數字基底的寫法型別(5/

6、6)nExample-分別為八進位、十六進位及十進位:n八進位:若一個數值的開頭為0(零),則此數值是一個八進位數值,例如:0246表示八進位數值246(oct)n十六進位:若一個數值的開頭為0x或0X,則此數值是一個十六進位數值,例如:0xABCD表示十六進位數值ABCD(hex)n十進位:若一個數值不以0、0x或0X開頭,則此數值是一個十進位數值,例如:123456代表十進位數值123456(dec)nchar型別採用16位元Unicode編碼法來表示字元 型別(5/6)n字元的用法必須使用配對的單引號( )來表示,例如: A 代表字元 A, + 代表字元 +, 文 代表字元 文。n另外,

7、有些字元無法由鍵盤上直接輸入,這些字元必須靠跳脫(escape)符號()來表示,用跳脫(escape)符號()表示的字元請見表3-2。n以下我們介紹幾個變數宣告的實例 int 變數1; /宣告屬於整數型別之變數1 int 變數2=123; /宣告屬於整數型別之變數2,並設定其初始值為123型別(6/6)n在Java語言中,等號 (=) 可以用以設定變數的初始值。n我們也可以利用逗號(,) 將許多變數在同一個敘述中一起宣告,其中並且可以同時進行初始值設定。如以下的例子:nint 變數1,變數2=123,變數3,變數4; /宣告屬於整數型別之變數1、變數2、變數3及變數4 /並同時設定變數2的初始

8、值為123運算子(1/4)nJava語言有四十餘種運算子,在本章中,我們僅先介紹表3-3中與算術運算相關的一些運算子,其餘的運算子則留在後面的章節中再說明。n在表3-3中,我們分五組列出Java語言算術運算子,我們這樣做的原因是為了配合各運算子的運算優先順序(precedence),先列出的運算子其運算優先順序較高,而列在同一組的運算子則有相同的優先順序。n例如,運算式 1+2*3 n優先次序相同的運算則由左而右計算左而右計算,這稱為運算的左結合的(left associative),有些優先次序相同的運算則由右而左計算,這稱為運算的右結合的(right associative)。運算子(2/

9、4)n例如,我們較為熟悉的加、減、乘、除及模數(求餘數)運算就都是左結合的。nExample:運算式 1+2*3%4n結果:最終結果3n刮號可以改變運算的優先順序,也就是說,不管運算子優先順序為何,刮號中的運算式子一定會優先計算的。n運算子+-*/% , 分別代表加法,減法,乘法,除法及模式(求餘數)運算,這些運算可以運用於整數及浮點數上,唯一的不同是整數的運算結果是整數,而浮點數的運算結果是浮點數。運算子(3/4)n計算運算式時,Java語言會自動進行自動進行型別轉換。n運算式中有浮點數及整數夾雜其中,則整數會自動轉換(cast)為浮點數之後才執行計算,且計算結果為浮點數浮點數。n運算式中還

10、有倍精準度浮點數,則所有數字更會被轉換為倍精準度浮點數之後才執行計算,且計算結果為倍精準度倍精準度。nExample:運算式 50 / 4 的值為整數12 運算式 50.0 / 4.0 及 50.0/4 及 50/4.0的值均為倍精準度浮點數 12.5運算子(4/4)n若運算式中僅有整數類的型別(即byte、char、short及int型別),則所有數字會被轉換為整數之後才執行計算,且計算結果為整數型別。nJava語言自動執行型別轉換之外,我們也可以使用型別轉換運算子(請參考表3-3)執行強迫型別轉換nExample:運算式 (int)50.3 及 (int)50.01234567 及 (in

11、t)50.98765的值均為屬於整數型別的50。n例子字串(1/3)n我們要介紹一個用來處理字串的特別類別 String,注意String的第一個字是大寫的,這表示它是一個類別,而不是型別。nString是Java語言中非常特別的類別,它的用法有一點類似型別,例如,String類別可以用等號(=)來設定初始值,並且可以使用加號(+)來執行連結(concatenate)運算等n一個字串是一個使用配對雙引號包圍起來的一連串的字元,例如,我們在第一章中看到的 歡迎來到Java世界 n一個屬於String類別的變數可以使用等號(=)來設定初始值,例如:String 字串1=歡迎來到Java世界; 字串

12、(2/3)nString類別的變數亦可以使用加號(+)來執行連結(concatenation)運算,例如: String 字串1=歡迎來到; String 字串2=Java世界; String 字串3=字串1+字串2;n字串在執行連結運算時會自動將非字串類別的項目轉換為字串類別之後再執行連結運算,例如: int 整數=2001; String 字串=今年是公元+整數+年; 字串(2/3)n字串既然是一連串的字元所組成的,因此所有字元都可以出現在字串中,例如: String 字串=“今年是t公元nt2001年nt!”; 變數字串的初始值中即含t及n兩個特別字元n若是使用System.out.pr

13、int(字串); 會在命令視窗中出現以下的結果: 今年是 公元 2001年 !字串(3/3)n因為t代表定位字元,會將列印的位置移動到後方定位點上,在Java語言中定位點是位於8的倍數的位置。另外,n代表換行字元,此字元會使字串換行列印n這個方法(注意,此方法比方法在末尾多了兩個字元ln,ln是line的縮寫)在印完括號中的字串參數之後,會將列印位置移到新的一行(下一行),因此,若緊接著有列印的動作,則列印會從新的一行開始。nExample: System.out.print(歡迎來到nJavan世界); 這個敘述與下列三個敘述同義: System.out.println(歡迎來到); Sys

14、tem.out.println(Java); System.out.println(世界); 執行結果變數應用實例(1/2)n以下我們以範例程式3-1來作為變數的運用實例,此範例程式檔名為計算.java,其程式碼如下所列:變數應用實例(2/2)n執行結果n程式說明:The END表3-1表3-2表3-3例子n計算口袋裡紅包的總金額:n主程式裡宣告一個變數,並將之命名為總額,並將此變數的初始值為設為0 = int 總額=0;n拜年之後獲得1000元的紅包 =總額=總額+1000;n此行敘述會執行設定動作,因為 + 運算子的執行優先順序比 = 運算子高,此敘述會先計算等號右邊的加式,並將計算結果存

15、入等號左邊的變數中。n上列敘述也可以用敘述=總額+=1000;n總額=總額-600; 此敘述執行之後,變數總額的值會減去600n上列敘述也可以用敘述=總額-=600;例子n獲得3倍的彩金,總額=總額*3; 總額*=3;n保留原先身上現金總額的四分之一,總額=總額/4; 總額/=4;n總額=總額%69; 此敘述中總額%69的意思是求變數總額之值除以69的餘數,這個值恰好可以是齊齊買完Kitty玩偶之後身上還剩餘的現金,等號代表要將總額%69的計算結果存回等號左邊的變數總額中。n用一個敘述來將上述 + * / %等五個運算一口氣都表示出來,總額=(總額+1000-600)*3/4%69;n遞增及遞

16、減運算子+及-的用法,+及-表示將變數的值往上遞增(加一)或往下遞減(減一)例子n另外,+與-出現在變數的前面與後面也會有不同的結果,例如,下列二個敘述的執行結果是不同的:n總額=整數+*4 =總額總額=整數整數*4; 整數整數=整數整數+1;n總額=+整數*4; =整數整數=整數整數+1; 總額總額=整數整數*4;執行結果執行結果程式說明n第4行 4: import javax.swing.JOptionPane;n為引進JOptionPane這個類別的敘述,swing類別庫是awt 類別庫的加強版(awt代表abstract window toolkit),自JDK 1.2以後即有提供。s

17、wing這個類別庫包括了許多圖形使用者介面(GUI,Graphical User Interface)要用到的類別及方法。例如,swing類別庫中的JOptionPane這個類別提供一些彈出對話方塊(pop up dialog box),可提示使用者輸入資料或顯示一些資訊給使用者看。n第5行 5: public class 計算 n為類別計算宣告的開始,其中第5行與第24行的大括號配對代表第5行至24行之間為類別定義區塊。 程式說明n第6行 6: public static void main(String 參數)n代表main方法定義的開始,其中第6行與第23行的大括號配對代表第6行與第23

18、行之間為main方法的定義區塊。n第10行 10: 字串1=JOptionPane.showInputDialog(輸入第一個整數);n呼叫JOptionPane類別的showInputDialog方法,此方法會彈出一個輸入對話方塊(dialog box),如下所示:程式說明n使用者在此對話方塊中填入資料之後再接OK按鍵,則使用者填入的資料會以字串的方式隨著showInputDialog方法傳回,因此,字串1中會存有使用者於輸入對話方塊中鍵入的字串。n第12行 12: 數1=Integer.parseInt(字串1);n會將字串1的字串轉為相對的整數值,並存入變數數1。Integer是一個Ja

19、va內建類別,屬於java.lang類別庫,java.lang這個類別庫裡有許多Java語言基本的類別,這些基本類別會自動引入每一個Java程式中,而不必再使用import敘述引入。Intger類別對應基本型別intn注意,Intger類別的第一個字母為大寫,而int型別的第一個字母為小寫。 程式說明n第14至18行,則分別使用+,-,*,/及%等運算子執行變數數1與數2的和、差、積、商及餘數的計算,其計算結果並存於和、差、積、商及餘等五個變數。n第19行 19: String 顯示字串=數1+與+數2+之n和為+和+n差為+差+n積為+積+n商為+商+n餘為+餘; n是一個變數顯示字串的定義

20、,Java語言允許你在程式的任何地方進行變數的定義,只要你在使用變數之前定義變數就可以了,不必管這個定義出現在什麼地方。顯示字串的初值是一些字串的連結,其間包括由變數和、差、積、商及餘等轉成的字串及一些包括跳行字元n的字串。 程式說明n第20行 20: JOptionPane.showMessageDialog(null,顯示字串);n呼叫JoptionPane類別的showMessageDialog方法,可以將剛剛定義的顯示字串變數的內容展現在訊息對話方塊上,如下圖:程式說明n第21行 21: System.out.print(顯示字串); n呼叫方法,可以將剛剛定義的顯示字串變數的內容顯示在命令視窗中,如下圖:程式說明n第22行 22: System.exit(0);n呼叫System類別的exit方法以結束程式執行,exit(0)方法中的參數0代表程式正常結束(一般非0之參數代表不正常結束)。所有使用圖形使用者介面(包括輸入對話框、顯示對話框等各種彈出式對話框)的程式都需要加入此行,以確保程式可以正確的結束執行。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号