第3章Java基本語法.ppt
《第3章Java基本語法.ppt》由会员分享,可在线阅读,更多相关《第3章Java基本語法.ppt(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 3 章 Java基本語法,製作,資料型別、變數與常數 - 資料型別,在Java中定義了八種基本的資料型態,它們是byte、short、int、long、float、double、char、boolean,以下將把資料型態分為四類加以介紹: 整數 byte、short、int與long屬於此類。 浮點數 float與double屬於此類。 字元 char屬於此類。 布林值 boolean屬於此類。,資料型別、變數與常數 - 資料型別,整數,資料型別、變數與常數 - 資料型別,浮點數,資料型別、變數與常數 - 資料型別,字元 用於儲存字元資料的型別為char,由於Java的char型別使用全球
2、文字碼(Unicode),因此 所佔記憶體空間為16位元。一般程式語言用於 儲存字元的型別,大多僅佔用8位元,且無法表 達出世界上使用的所有文字。,資料型別、變數與常數 - 資料型別,布林值 型別為布林值的資料,其資料值僅有true(真)與false(假)兩種,常用於程式流程的控制。 在Java中,用於儲存布林值的型別為boolean。,資料型別、變數與常數- 變數與常數,變數(Variable)就是程式中變動的資料。在 程式中,通常以一個名稱來代表某個變數。 常數(Constant)則是程式中不會變動的資料,用於代表一特定值,請看下面的例子。 X = 1;,資料型別、變數與常數- 變數與常數
3、,在JSP網頁中,若欲使用某變數時,必須經過變數宣告的動作,語法如下: 資料型別 變數名稱; 欲同時宣告一個以上的同類別變數時,可運用,符號,將變數名稱隔開。 資料型別 變數名稱1, 變數名稱2, ;,資料型別、變數與常數- 變數與常數,以下敘述將宣告一個型別為整數(int),名稱 為 A的變數。 int A; 下面的語法將同時宣告A、B為整數變數。 int A, B; JSP並不限定宣告變數的位置,您可以在需要 使用變數時,即時宣告。,資料型別、變數與常數- 變數與常數,欲將值設定給該變數時,須運用 = 指派 運算子,語法如下: 變數名稱 = 值; 例如下面的敘述,即將100指派給A變數。
4、A = 100;,資料型別、變數與常數- 變數與常數,在宣告變數的同時,亦可同時起始變數值。 以下敘述,將在宣告A變數的同時,將變數值 起始為100。 int A = 100;,資料型別、變數與常數- 變數與常數,對於變數名稱的使用有以下的限制: 不能與Java所使用的保留字相同,如:您不能宣告一個名為for的變數,因為for是Java中迴圈敘述的保留字。 變數名稱可利用英文字母、數字以及除了.點以外標點符號所組成。 在同一個變數的可見範圍中,變數名稱必須是唯一的。不過,在Java中,英文有大小寫的區別,換言之,a變數與A變數,將代表不同的變數。 避免使用底線(_)與金錢符號($),以免被誤認
5、為系統變數。,資料型別、變數與常數- 變數與常數,當某變數宣告於某JSP網頁中時,若該宣告敘述出現在某符號的包含範圍中,則該變數僅可在內使用。離開了該範圍後,變數將無法存取。,運算子- 運算子與算式,運算子為程式中用於執行計算動作的符號。 在Java中,依照所執行的計算動作,可將運算子歸類如下: 算術運算子 比較運算子 邏輯運算子 字串運算子 指派運算子,運算子- 運算子與算式,由變數與運算子所構成,用於代表一連串計算動作的式子稱之為運算式。,運算子- 算術運算子,算術運算子與運用語法整理如下表:,運算子- 運算子與算式,算術運算子中的加法運算子 - +,除了執行數值的加法運算外,運用於字串時
6、可串接兩字串,如: str = ABC + DEF; 上述運算式中,str變數的值將為ABCDEF。若欲串接數值與字串時,亦可使用+運算子。 str2 = ABC + 123;,運算子- 比較運算子,Java的比較運算子整理如下表:,運算子- 邏輯運算子,Java中的邏輯運算子整理如下:,運算子- 邏輯運算子,下表稱為真值表,T代表真,F代表假。我們整理當A、B在各種情形下,各邏輯運算子的運算結果:,運算子- =運算子,在程式中,應該以指派符號代替等號做為=運算子的名稱。 =符號在程式裡的意義與數學上的意義並不完全相同,但許多人在觀念上仍以等號看待它。 在程式中大部份的地方,的確也可以用等號的
7、觀念來解釋=符號。比如: 式一:A = 1 + 2,運算子- =運算子,在式一中,可很容易地就能看出A的值為3,所以在這裡用等號的觀念來解釋,並沒有困難。 但是下面的式二也常在程式中出現,比如: 式二:A = A + 1 如果再用等號的觀念解釋式二中的=符號,就怎麼也說不通了。,運算子- =運算子,在程式裡,不應用等號的觀念來看=符號。而應該解釋為指派。 當用指派的觀念解釋=符號時,式二的意義將可以很容易地解釋。 式二的計算方式是將A中儲存的資料取出來,並加一後,再把這個值放回A變數原先儲存的記憶體空間裡。,運算子- 遞增、遞減運算子,在Java裡,有+(遞增)運算子與-(遞減)運算子。這兩個
8、運算子,用於將變數值增加1或者減少1,例如: i+; 相當於 i = i + 1; 而 i-; 則相當於 i = i - 1;,運算子- 算術指派運算子,以下為各種算術指派運算子的使用範例:,運算子- 各運算子的計算順序,運算子的計算順序觀念,就是當一道運算式中,存在許多運算子時,處理每一個運算子的順序。 若遇到處理順序相同的,則以左邊的運算子優先。 這個概念其實就是數學中先乘除後加減的觀念。,運算子- 各運算子的計算順序,下表將表達出Java中各類運算子的運算順序:,運算子- 各運算子的計算順序,表中各運算子的優先次序為由上至下,由左至右。 因此運算式中,以算術運算子最優先。在算術運算子中,
9、又以最左方的+運算子與-運算子為最優先。 當電腦執行到一行運算式時,將會先執行遞增或遞減運算子,然後再處理其他的運算子。若有括號時,則優先計算括號內的算式。,運算子- 各運算子的計算順序,以下的例子,將說明運算子的優先處理順序。 5*2 6 或 (欲轉換的型別) 變數;,運算子- 型別轉換,比如,當7/2時,由於7與2都是整數,相除後的計算結果,也是整數。所以,7/2的計算結果等於3,而不是3.5。 想要解決這個問題,可以將7先強制轉型為浮點數,再執行運算。 (float)7 / 2; 上式的計算結果將為3.5。,流程控制 - 流程控制的用途與種類,流程控制是程式中,用於控制或選擇某一程式區段
10、執行方式的語法。 流程控制分為兩類: 判斷敘述利用條件式,進而決定要執行哪一個 程式區段。 迴圈配合條件式,控制某程式區段的重複執行。,流程控制 - 流程控制的用途與種類,判斷結構最基本類型的語法如下所示: if (條件式) 程式區段; 若程式敘述不止一行時,則需用,標示這些程式區段。 if (條件式) 程式區段; ,流程控制 - 流程控制的用途與種類,if後的條件式,經過運算將傳回true或false。 傳回true時,則執行程式區段。若為false,則 跳過程式區段。 因此,判斷結構語法是靠條件式傳回的布林值, 做為程式區段是否被執行的依據。,流程控制 - 流程控制的用途與種類,迴圈控制語
11、法如下所示: while (條件式) 程式區段; 若程式敘述只有一行時,可省略與符號。,流程控制 - 流程控制的用途與種類,當while後的條件式傳回值為true時,則執行程 式區段,直到條件式傳回值為false時,才跳出 迴圈。 因此,當迴圈被執行時,一定會有改變條件式內,某變數的敘述,否則條件式的計算結果將永遠不會為false,也就無法跳出迴圈的控制。,流程控制 - if判斷敘述,if判斷結構依照功能可以分為以下兩類: 單一條件判斷敘述: 利用一條件式控制程式是否執行某程式敘述或 由兩程式敘述中擇一執行。此判斷敘述將利用 if或ifelse建立。 多條件判斷敘述: 利用多種條件控制程式所執
12、行的敘述,此判斷 敘述將以ifelse if.else建立。,流程控制 - if判斷敘述,單一條件判斷敘述 語法一:(控制單一程式敘述) if (條件式) 程式敘述; ,流程控制 - if判斷敘述,語法一其執行流程圖如下:,流程控制 - if判斷敘述,語法二:(兩程式敘述擇一執行) if (條件式) 程式敘述一; .; else 程式敘述二; ; ,流程控制 - if判斷敘述,語法二其執行流程圖如下:,流程控制 - if判斷敘述,多條件判斷敘述 當選擇執行程式的判斷條件不止一個時,就必須利用ifelse ifelse建立流程控制,語法如下: if (條件式A) 程式敘述一; else if (
13、條件式B) 程式敘述二; else if else程式敘述N; ,流程控制 - if判斷敘述,上頁的語法,其執行流程圖如下:,流程控制 - if判斷敘述,巢狀判斷敘述是一種可以達成與多條件判斷敘述類似功能的判斷敘述。 當在判斷式的程式敘述中,又利用一個判斷敘述進行判斷,此時便有兩層判斷敘述,這就是所謂的巢狀判斷敘述。,巢狀判斷敘述,如下所示: if (條件式A) if (條件式B) 程式敘述一; else 程式敘述二; else if (條件式C) 程式敘述三; else 程式敘述四; ,流程控制 - if判斷敘述,流程控制 - 巢狀判斷敘述,以下為整個巢狀判斷敘述的執行流程圖:,流程控制 -
14、 switch case判斷敘述,switch case判斷敘述用於針對某運算式的不同值,進行條件的判斷,然後從多個程式敘述中選擇執行其中某一程式敘述。,流程控制 - switch case判斷敘述,其語法如下: switch case 運算式(或變數) case 條件式一 : 程式敘述一; break; case 條件式二 : 程式敘述二; break; case else 程式敘述N; break; ,流程控制 - switch case判斷敘述,switch case其執行流程如下圖所示:,流程控制 - for迴圈,迴圈語法如下: for(起始運算式; 測試條件式 ; 遞增運算式) 程式
15、敘述; 起始運算式:用於設定計次變數起始值,起始運算式只在進入迴圈的時候執行。 測試條件式:計次變數的限制條件式,若為真,則進入迴圈執行程式區段,若為假則跳出迴圈。 遞增運算式:執行完程式區段後,利用運算式二更改計次變數。,流程控制 - for迴圈,以下為將重覆執行out物件println方法三次的for迴圈。 for( i = 1; i = 3; i = i + 1) out.println(”迴圈3次執行的第” + i + ”次”); 其中遞增運算式(i=i+1),亦可以i+代替。,流程控制 - for迴圈,執行流程如下圖所示:,流程控制 - for迴圈,以上迴圈的執行過程中,將各種計次變
16、數值的變化以表格表示如下:,流程控制 - for迴圈,巢狀for迴圈 當for迴圈內還有另一個for迴圈時,就形成了巢狀的for迴圈: for( i = 0; i 10 ; i+ ) for( j = 0; j 10; j+) 程式敘述; ,流程控制 - while迴圈,while迴圈的語法如下: while(條件式) 程式敘述; 進入此迴圈時,將會先檢查條件式的值是否為true,真時則進入迴圈,false時則跳過此迴圈。,流程控制 - while迴圈,進入迴圈以後,每執行迴圈一次,便檢查條件式 值是否為false。為false時,則跳出,true則 繼續執行。 在迴圈內程式敘述的執行過程中,
17、勢必要能夠造 成條件式值的變動,否則條件式的回傳值永遠為true,將形成無窮迴圈。,流程控制 - while迴圈,執行流程如下圖所示:,流程控制 - while迴圈,dowhile迴圈的語法如下: do 程式敘述; while(條件式); dowhile迴圈的執行過程為先執行程式區段, 然後判斷條件式是否為真,為真則繼續執行,直 到條件式值為假時跳出。,流程控制 - while迴圈,執行流程圖如下:,流程控制 - break與continue,break敘述 在for迴圈或者while迴圈中,若想在某條件下,強迫中止迴圈的執行時,可以利用if敘述,配合break敘述達到目的。,流程控制 - b
18、reak與continue,continue敘述 若想要中止的不是整個迴圈,而只是想在某條件下,中止某次迴圈的執行。讓該次迴圈的執行中,能跳過continue敘述後的程式敘述,直接進入下一次迴圈的執行。便可利用if敘述,配合continue敘述,在某條件下,中止某次迴圈的執行。,流程控制 - ( ? : )敘述,( ? : )相當於簡化的ifelse敘述,其語法如下: ( 判斷式 ? 真值 : 假值 ) 上述敘述中,當判斷式傳回true時,將傳回真值,反之傳回假值。,陣列的宣告 - 什麼是陣列?,陣列是由好幾個陣列元素所組成,每一個單獨的 陣列元素,就相當於一個變數,可用於儲存資料。 陣列可視
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 基本
限制150内