java基礎 流程式控制制和條件陳述式,迴圈語句

來源:互聯網
上載者:User

標籤:.com   入口   塊代碼   釋放   調用   方法   ret   tin   沒有   

順序結構

程式的順序結構: 如果代碼裡沒有流程式控制制,程式是按照書寫的格式從上而下一行一行執行的, 一條語句執行完之後繼續執行下一條語句,中間沒有判斷和跳轉,直到程式的結束。

if語句

if語句使用boolean運算式或boolean值作為選擇條件,有三種結構形式: if翻譯成中文,表示如果......,就幹.......,

第一種結構形式:
if(boolean運算式){     條件執行體}

if後面跟的{}表示一個整體—代碼塊,我們在這稱為條件執行體,也就是說條件為true,就執行這一塊代碼塊。

if語句的使用注意:

1):在if(boolean運算式)後面,{}前面,是沒有分號的.

 

2):如果if語句只控制一句話,那麼可以不使用{}.企業規範:都要求,無論if控制幾句話,統統使用花括弧.

3):操作boolean類型的變數的時候,下列代碼不專業.

 

第二種結構形式:
if(boolean運算式){     條件執行體A}else{     條件執行體B}

if-else語句和三元運算子:

從語義上二者的含義相同. 從本質上說,if-else是語句結構,三元運算子是一種運算子號. 三元 運算子必須有一個結果,運算式必須有結果,必須有返回. 而if-else,不能返回什麼結果,只能控制語句的結構.

 

注意: 1):不能在if(boolean運算式),使用分號. 2):不能直接使用else語句.

 

 

 

 第三種結構形式:
if(boolean運算式A){     條件執行體}else if (boolean 運算式B){     條件執行體B}else{     條件執行體C}

使用注意:

1):不能在if(boolean運算式),使用分號.

2):不能在else if(boolean運算式),使用分號.

3):不能直接使用else if語句,必須先使用if語句.

4):此時的else語句,表示上述所有條件都為false 的時候才會執行的代碼.

 

 

 switch語句

 switch語句結構的格式如下:

switch(整型運算式){    case A值:            運算式結果等於條件1時,執行此語句;    break;    case B值:            運算式結果等於條件2時,執行此語句;    break;        ...                             case C值:            運算式結果等於條件N時,執行此語句;    break;    default:            以上值都不滿足時,執行此語句;    break;//一般不寫}注意:case之後的運算式結果必須是常量。

 

switch的使用細節和使用注意:

switch語句適用於對多個整型值進行匹配判斷,從而實現條件的分支控制。 和if語句不同的是:if語句後面是根據boolean運算式判斷的,所以運算式的結構可以任意寫,而switch只是相當於做“運算式 == 數值”的boolean運算式判斷。

,推出:其實if語句更強大,switch僅僅只是對整數類型的判斷而已,使用更簡單. 這裡的數值的類型是除long之外的整數型別,也就是說switch支援的類型是byte,short,char,int。

本質:switch僅僅只能支援int類型.(byte,short,char,會自動提升為int類型)

 switch語句選擇的基礎資料型別 (Elementary Data Type)只有四種:byte、short、char、int,沒有long。

支援的參考型別是以上四個基礎資料型別 (Elementary Data Type)的封裝類(後講),依次是Byte、Short、Character、Integer以及從Java5開始支援的枚舉和Java7開始支援的String類。

 

case只是用來為switch選擇一個執行代碼的入口,如果一旦進入某個入口之後,後面的case實際上已經失去了判斷的意義,也就是說代碼在進入switch執行的時會把入口case之後的case統統忽略,會一直往下執行,直到遇到break或return。(穿透) 所以大家可以發現,每一個case後面沒有{}這個符號來表示一個代碼塊。

 default表示,所有的case的值都不正確,一般放在switch的最後,也不需要使用break語句,

 

if和switch的選擇:

if和switch都屬於選擇語句,也就是說功能是相似的.

if: 判斷條件是boolean類型的.

switch: 判斷條件是 整數運算式 == int類型的值.

發現,switch只能適合對整數的值做判斷,如果是一其他類型的判斷,只能使用if語句. 選擇:如果是對整數運算式判斷等於多少,首選使用switch. 其他情況,使用if語句.

 

迴圈結構

迴圈語句:

1):while語句

2):do while語句

3):for語句 

三種,可以完成相同的功能. 僅僅只是文法上有差異.

while迴圈:

格式: while(boolean運算式) { 迴圈體s }

while迴圈特點:先判斷運算式,若為true就執行迴圈體,否則,跳過迴圈體。

 

do while迴圈:
do{      迴圈體語句}while(boolean運算式);

do while迴圈特點:先執行一次迴圈體,再判斷運算式,若為true就執行迴圈體,否則,跳過迴圈體。 也就是說do while是先執行後判斷,即使判斷條件為false,該迴圈至少會執行一次。

 

 

 

 for迴圈:
for(初始化語句;boolean運算式;迴圈後動作陳述式){    迴圈體語句}

 

初始化語句:表示對迴圈進行初始化,只在迴圈開始時執行一次,定義一個變數,並賦值。

boolean運算式:運算式為false時,迴圈終止,為true,才執行迴圈體。 迴圈後動作陳述式:迴圈每次迭代之後會調用該語句,一般的該語句都是遞增或遞減操作。

 

 

 死迴圈和迴圈語句對比

 

 

迴圈語句都一樣,僅僅只是文法結構上不一樣而已.

提示: 三大迴圈,是可以互換的,一般情況下,要是指定次數的迴圈,選用for迴圈要方便點。

一般的,習慣上選擇i、j、k作為迴圈變數。

從效能上分析:for迴圈效能更高. 因為:變數定義在for迴圈裡面,for迴圈執行完畢,就會釋放該變數的儲存空間.

 

 

嵌套迴圈
若外迴圈的迴圈次數是m次,內迴圈的迴圈次數是n次,那麼內層迴圈的迴圈次數需要 m * n次。嵌套迴圈注意:      1.使用迴圈嵌套時,內層迴圈和外層迴圈的迴圈控制變數不能相同。  2.迴圈嵌套結構的書寫,最好採用“右縮排”格式,以體現迴圈層次的關係。  3.盡量避免太多和太深的迴圈嵌套結構

 嵌套迴圈效能最佳化

 

 

 

 

 嵌套迴圈案例

 

輸出矩形圖案***************

 

 

輸出三角形圖案***************

輸出九九乘法表

 

 控制迴圈結構語句
break:終止當前所在的迴圈. stopbreak之後的語句執行不了,所以不能編寫.

 

 

continue語句: 繼續的意思. skip.跳過當前的迴圈,進入下一次迴圈操作.continue之後的語句執行不了,所以不能編寫.

return:表示結束迴圈所在的方法,方法都結束了,迴圈結構自然也就結束了。注意:break、continue、return後面的語句永遠沒有機會執行,所以不能再跟任何語句,否則編譯失敗。-------------------------------------------------------break和return都能結束當前迴圈:  如果迴圈之後的操作還得執行: break;

控制外層迴圈:此時就得使用標籤了,標籤就是給某個迴圈起的別名,不過該別名得滿足標識符的規範。若要控制外層迴圈,就在break或continue後面跟上迴圈的別名就OK了   如: break  <標籤名>; continue <標籤名>;

 

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.