Java語法基本之選擇構造的if語句、switch語句詳解。本站提示廣大學習愛好者:(Java語法基本之選擇構造的if語句、switch語句詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是Java語法基本之選擇構造的if語句、switch語句詳解正文
【媒介】
流程掌握語句:
在一個法式履行的進程中,各條語句的履行次序對法式的成果是有直接影響的。也就是說法式的流程對運轉成果有直接的影響。所以,我們必需清晰每條語句的履行流程。並且,許多時刻我們要經由過程掌握語句的履行次序來完成我們要完成的功效。
流程掌握語句分類:
次序構造選擇構造:if語句、switch語句輪回構造:while語句、for語句
1、次序構造:
是法式中最簡略最根本的流程掌握,沒有特定的語法構造,依照代碼的前後次序,順次履行,法式中年夜多半的代碼都是如許履行的。
總的來講:寫在後面的先履行,寫在前面的後履行
次序構造圖:
2、選擇構造:
選擇構造:也被稱為分支構造。選擇構造有特定的語律例則,代碼要履行詳細的邏輯運算停止斷定,邏輯運算的成果有兩個,所以發生選擇,依照分歧的選擇履行分歧的代碼。
Java說話供給了兩種選擇構造語句:
if語句
switch語句
3、選擇構造的if語句:
if語句有三種格局。上面詳細來說解。
1、if語句第一種格局:(合適一種斷定)
if(關系表達式) {語句體;}
履行流程:
起首斷定關系表達式看其成果是true照樣false:假如是true就履行語句體;假如是false就不履行語句體
其對應的流程圖是:
留意事項:
A:關系表達式不管簡略照樣龐雜,成果必需是boolean類型。
B:if語句掌握的語句體假如是一條語句,年夜括號可以省略;假如是多條語句,就不克不及省略。建議永久不要省略。
C:普通來講:有左年夜括號就沒有分號,有分號就沒有左年夜括號。
A:if(a==b && a==c){…}的特別情形:
if(a == b){}寫成了if(a = b){}
這個時刻假如是int類型就報錯了。這個時刻的意思是把b賦值給a,把a留上去斷定,而a是int類型的所以報錯。
然則假如a,b都是boolean類型就沒有成績。
2、if語句第二種格局:(合適兩種斷定)
if(關系表達式) { 語句體1; }else { 語句體2; }
履行流程:
起首斷定關系表達式看其成果是true照樣false:假如是true就履行語句體1;假如是false就履行語句體2
其對應的流程圖是:
我們後面講授過三元運算符,它依據比擬斷定後,給出的也是兩個成果,所以,這類情形和if語句的第二種格局很類似,他們在某些情形下應當是可以互相轉換的。
if語句第二種格局和三元運算符:
三元運算符的操作都可使用if語句改良,反之不成立。
甚麼時刻不成立呢?當if語句掌握的語句體是一條輸入語句的時刻,就不成立。由於三元運算符是一個運算符,必需請求有一個成果前往;而輸入語句卻不克不及作為一個前往成果。
3、if語句第三種格局:(合適多種斷定)
if語句第三種格局: if(關系表達式1) { 語句體1; }else if (關系表達式2) { 語句體2; } ... ... else { 語句體n+1; }
履行流程:
起首斷定關系表達式1看其成果是true照樣false
假如是true就履行語句體1
假如是false就持續斷定關系表達式2看其成果是true照樣false
假如是true就履行語句體2
假如是false就持續斷定關系表達式…看其成果是true照樣false
…
假如沒有任何干系表達式為true,就履行語句體n+1。
其對應的流程圖是:
須要留意的是,一切的語句體中,只履行一個。
舉例:用if語句的嵌套,獲得三個數據中的最年夜值。代碼以下:
//用if語句完成 int max1; if(a > b) { max1 = a; }else { max1 = b; } System.out.println("max1:"+max1);
3、選擇構造的switch語句:
switch語句格局:
switch(表達式) { case 值1: 語句體1; break; case 值2: 語句體2; break; ... ... default: 語句體n+1; break; }
說明:
switch表現這是switch語句
表達式的取值:byte,short,int,char(JDK5今後可所以列舉,JDK7今後可所以String)(這句話能夠出頭具名試題)
case前面跟的是要和表達式停止比擬的值
語句體部門可所以一條或多條語句
break表現中止,停止的意思,可以停止switch語句
default語句表現一切情形都不婚配的時刻,就履行該處的內容,和if語句的else類似。
履行流程:
起首盤算出表達式的值;
其次,和case順次比擬,一旦有對應的值,就會履行響應的語句,在履行的進程中,碰到break就會停止。
最初,假如一切的case都和表達式的值不婚配,就會履行default語句體部門,然後法式停止失落。
流程圖:
留意事項:
(1)case前面只能是常量,不克不及是變量,並且,多個case前面的值不克不及湧現雷同的
(2)default可以省略嗎?
可以省略。普通不建議。除非斷定的值是固定的(也就是說一切能夠的情形都曾經列在case中了)
(3)break可以省略嗎?
可以省略,普通不建議。不然成果能夠不是你想要的,會湧現一個景象:case穿透。
(4)default的地位必定要在最初嗎?
可以湧現在switch語句隨意率性地位。
(5)switch語句的停止前提:
情形a:碰到break就停止,而不是碰到default就停止。
情形b:履行到法式的末尾就停止
2、if和switch各自應用的場景:
在做斷定的時刻,我們有兩種選擇,if語句和switch語句,那末,我們究竟該若何選擇應用那種語句呢?
if語句應用場景:
針對成果是boolean類型的斷定
針對一個規模的斷定
針對幾個常量值的斷定
switch語句應用場景:
針對幾個常量值的斷定
以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。