《流程控制叙述》PPT课件.ppt
《《流程控制叙述》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《流程控制叙述》PPT课件.ppt(43页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 流程控制敘述 內 容 大 綱nif敘述nif-else敘述n條件運算子n巢狀if-else敘述nswitch-case敘述nbreak、continue敘述n標記n控制敘述實例if敘述(1/2)nif敘述的語法為 if(條件式)條件敘述區塊n一個if敘述可以根據條件式的成立與否來決定條件敘述區塊中的敘述是否要執行,流程圖n我們以下列的敘述為例:if(i%j)=0)/條件式為(i%j)=0System.out.println(i+是+j+的倍數);/此敘述為條件敘述區塊中唯一的敘述 if敘述(2/2)n說明:nExample:假設變數i的值為9,變數j的值為3,因為9除以3的餘數為0(9是3的
2、倍數),則上列條件敘述會在命令視窗中輸出:9是3的倍數 反之,若假設變數i的值是8,變數j的值是3,因為8除以3的餘數不為0(8不是3的倍數),所以命令視窗中不會有任何輸出。if-else敘述(1/2)nif-else的敘述與if敘述非常類似,它只是多了於條件式的值為false時必須執行的條件敘述區塊的部份而已,它的用法為:nif(條件式)條件敘述區塊1 else 條件敘述區塊2n當條件式成立時,條件敘述區塊1中的敘述會被執行,而若條件式不成立時,則條件敘述區塊2中的敘述會被執行,流程圖if-else敘述(2/2)nExample if(i%j)=0)/條件式為(i%j)=0 System.o
3、ut.println(i+是+j+的倍數);/此敘述在條件式成立時會執行 elseSystem.out.println(i+“不是”+j+“的倍數”);/此敘述在條件式不成立時會執行n假設變數i的值為9,變數j的值為3,則此敘述會在命令視窗中印出 9是3的倍數n若假設變數i的值為8,變數j的值為3,則此敘述會在命令視窗中輸出 8不是3的倍數 條件運算子(1/2)n以下我們介紹與if-else敘述有類似功能的條件運算子(?:),條件運算子的用法如下:條件式?值1:值2n在條件式成立時,條件運算子會傳回值1,而在條件式不成立時,條件運算子會傳回值2nExample:成績=60?“及格”:“不及格”
4、n在變數成績大於等於60時,上列由條件運算子所構成的式子傳回的值為及格字串。反之,在變數成績不是大於等於60(即小於60)時,上列由條件運算子所構成的式子傳回的值為不及格字串條件運算子(2/2)nExample:以下的if-else敘述if(成績=60)System.out.println(及格);elseSystem.out.println(“不及格”);n可以用條件運算子改寫如下System.out.println(成績=60?及格:不及格);巢狀if-else敘述(1/4)n以下我們介紹巢狀if-else敘述(nestingif-elsestatement),所謂巢狀if-else敘述指
5、的是if-else敘述區塊中還包含有if-else敘述nExample:if(ij)if(ik)System.out.println(i+最大);/表示ij且ikelseSystem.out.println(k+最大);/表示ij且kielseif(jk)System.out.println(j+“最大”);/表示 非(ij)(即ij)且(jk)elseSystem.out.println(k+“最大”);/表示非(ij)(即ij)且非(jk)(即jk)巢狀if-else敘述(2/4)n說明:n巢狀if-else敘述也可以用條件運算子取代之,例如ij?(ik?i:k):(jk?j:k)會傳回i
6、、j、k三個變數中數值最大的值。nExample:if(成績=90)System.out.println(優);elseif(成績=80)System.out.println(甲);elseif(成績=70)System.out.println(乙);elseif(成績=60)System.out.println(丙);elseSystem.out.println(不及格);巢狀if-else敘述(3/4)n以上的程式片段,會依變數成績的值而輸出“優”、“甲”、“乙”、“丙”或“不及格”等字串,上述的程式片斷只有else部份的敘述區塊內含巢狀的if-else敘述,是一種比較特別的巢狀結構。碰到
7、這種特別的巢狀if-else敘述,一般我們會取消各行之間的縮排,寫成如下的格式:nif(成績=90)System.out.println(優);else if(成績=80)System.out.println(甲);else if(成績=70)System.out.println(乙);else if(成績=60)System.out.println(丙);else System.out.println(不及格);巢狀if-else敘述(4/4)n上述巢狀if-else敘述也可以使巢狀條件運算子來改寫如下:nSystem.out.println(成績=90)?優:(成績=80)?“甲”:(成績
8、=70)?乙:(成績=60)?丙:不及格);switch-case敘述(1/4)n以下我們介紹switch-case敘述,其用法為 switch(算式)case定值1:敘述區塊1case定值2:敘述區塊2.case定值N:敘述區塊Ndefault:預設敘述區塊n上列switch-case敘述的用法中,算式及定值1、定值2、定值N都必須為int型別,或是可轉換為int型別而不會有數值誤差的char型別、byte型別及short型別。switch-case敘述(2/4)n敘述switch-case的流程圖nswitch-case敘述會先對算式求值,然後再依序於case關鍵字後的定值1、定值2、定值
9、N尋找與算式的值吻合(match)的定值。假若有找到,則程式執行流程就轉到相對的敘述區塊中執行,如果找不到與算式吻合的定值,則程式執行流程會轉到default關鍵字後的預設敘述區塊中執行,而如果沒有與算式吻合的定值,而又沒有default關鍵字,則程式執行流程會跳過整個switch敘述。switch-case敘述(3/4)n請注意,若有吻合的定值要執行相同的敘述區塊,我們可以將數個case定值寫在一起,我們只要在其中間以冒號隔開即可:case定值1:case定值2:case定值N:敘述區塊nswitch-case敘述中的case定值,其用法非常類似我們後面馬上要介紹的標記(label)的用法,
10、所謂標記是在程式中替某個敘述加上識別名稱,標記的用法在本章稍後將有詳細介紹。n關鍵字case中定值的用法與標記(label)用法的相似性,形成switch-case敘述中的流經(fallthrough)現象。switch-case敘述(4/4)n可以使用break敘述來打破敘述區塊間的流經現象,其用法為將break敘述列為每個敘述區塊的最後一個敘述,當程式執行流程在碰到break敘述之後不會再進入switch-case敘述中的其他敘述區塊而會直接跳離整個switch-case敘述區塊,即執行流程轉移到整個switch-case敘述之後。nExample:switch(成績/10)case10:
11、case9:System.out.println(優);break;case8:System.out.println(甲);break;case7:System.out.println(乙);break;case6:System.out.println(丙);break;default:System.out.println(不及格);說明:break、continue敘述與標記的使用(1/3)nbreak敘述可以使程式的執行跳離switch-case敘述區塊,實際上,break敘述也可以用來跳離迴圈敘述區塊(包括for迴圈敘述區塊、while迴圈敘述區塊及do迴圈敘述區塊)。nExample:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 流程控制叙述 流程 控制 叙述 PPT 课件
限制150内