Java流程式控制制語句—(下)

來源:互聯網
上載者:User

標籤:for   switch   while   

 Switch判斷語句:

   Switch是有來判斷值的判斷語句,因為寫法麻煩容易漏寫代碼,而且有類型限制,其功能也完全可以用if else語句代替所以現在基本很少會用上這個語句,屬於淘汰的寫法。寫法

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/08/BB/wKiom1nmOgChamCUAA6uHR3L3CU889.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.30145.png" alt="wKiom1nmOgChamCUAA6uHR3L3CU889.png" />

  判斷i的值,匹配到對應的代碼然後執行,如果有的case都沒有匹配,則執行default裡面預設的運算式。每一句case後面都要加上break不然就會一直執行到default,break是結束、跳出的意思。程式會按照順序執行case的匹配,如果匹配的case語句或者default後面沒有對應的break來終止,那麼程式還會繼續向下執行匹配,執行匹配到的運算式,直到遇到break或switch語句結束。

 

 

While迴圈語句

    迴圈語句是用來判斷某個運算式後迴圈執行語句塊裡的代碼,判斷運算式的結果是否為true,是則執行語句塊裡的代碼,一直執行到運算式的結果為false為止。判斷運算式的結果為false則不執行迴圈。While迴圈流程圖:



650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/A7/6B/wKioL1nmN0yjlDULAAWuVd-6-ag177.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.30475.png" alt="wKioL1nmN0yjlDULAAWuVd-6-ag177.png" />

寫迴圈的時候要加一句能改變值的代碼,break也可用於打破迴圈,如果值不改變就會一直執行變成死迴圈。例如:

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/A7/6B/wKioL1nmN02xvUIrAAT7iLyIWUE283.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.30531.png" alt="wKioL1nmN02xvUIrAAT7iLyIWUE283.png" />


i的值不會改變的話就永遠是小於10;運算式結果永遠為true,所以迴圈語句塊裡的代碼會一直執行,就變成死迴圈了。

  所以一般要加一句能夠改變值的代碼,來避免死迴圈。例如:

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/08/BB/wKiom1nmOgaAvGG6AAeAI3P5Gmw821.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.30619.png" alt="wKiom1nmOgaAvGG6AAeAI3P5Gmw821.png" />

i的值會一直自增直到大於10,判斷結果為false,則跳出迴圈。

While迴圈適合做不定量迴圈,例如不知道這句代碼要執行多少次,不知道具體的數值這些情況就適合用while迴圈去完成。

for迴圈則適合做定量迴圈。

 

 

While迴圈還可以嵌套,外迴圈控制內迴圈的執行次數。例如:

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/08/BB/wKiom1nmOgvD3_QeAAncGe-wTFo207.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.30763.png" alt="wKiom1nmOgvD3_QeAAncGe-wTFo207.png" />



 for迴圈語句:

   for迴圈則有點像是把while迴圈集合起來了,for迴圈有多種寫法,一般常用的是這種:for(資料類型 賦值;運算式;改變條件){ }。從運行角度來看則執行的次數有所不同:for(資料類型 執行一次;每次執行;每次執行){ }。for迴圈和while迴圈流程差不多,都是運算式結果為true則迴圈執行語句塊裡的代碼到運算式結果為false為止。運算式結果為false則不執行迴圈。for迴圈流程圖:

650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/A7/6B/wKioL1nmN1mhwKdoAAr5M-DPDiI058.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.30990.png" alt="wKioL1nmN1mhwKdoAAr5M-DPDiI058.png" />


for迴圈適合寫定量迴圈寫起來比較簡潔,例如:

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/08/BB/wKiom1nmOhKBHK8QAAaFo24ss9o830.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.301023.png" alt="wKiom1nmOhKBHK8QAAaFo24ss9o830.png" />

因為代碼都集中在一個括弧裡,而且也減少出現代碼漏寫的情況。



 for迴圈的這種寫法就是死迴圈:for(;;){ }。還有這種:for(int i=1;i<=10;){ }。因為都沒有改變條件的語句自然會一直迴圈執行不會跳出。

 for迴圈也可以嵌套,並且相對於while迴圈更加簡潔些。例如:

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/A7/6B/wKioL1nmN2GBGilrAAozUIFCs_c053.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.301180.png" alt="wKioL1nmN2GBGilrAAozUIFCs_c053.png" />


 

 還可以利用嵌套迴圈輸出列印一些圖案,例如三角形、菱形、正方形之類的。例如:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/A7/6B/wKioL1nmN22CHmniABZGO_Hj75I563.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.301224.png" alt="wKioL1nmN22CHmniABZGO_Hj75I563.png" />


輸出結果:

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M02/08/BB/wKiom1nmOiXzl1d3AAXZDCCUPQs187.png" style="float:none;" title="VIP14-端碗吹書-第10和第11節-12.301238.png" alt="wKiom1nmOiXzl1d3AAXZDCCUPQs187.png" />


本文出自 “12831981” 部落格,請務必保留此出處http://12841981.blog.51cto.com/12831981/1973601

Java流程式控制制語句—(下)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.