您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java塊作用域、條件語句及switch語句怎么用的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Java塊作用域、條件語句及switch語句怎么用文章都會(huì)有所收獲,下面我們一起來看看吧。
在深入學(xué)習(xí)控制結(jié)構(gòu)前,須先了解塊的作用。
定義:由多條Java語句組成的語句,并用一對(duì)大括號(hào)括起來。
作用:塊確定了變量的作用域,一個(gè)塊可以嵌套在另一個(gè)塊上。
實(shí)例:
package decom1; public class cuowu { public static void main(String[] args) { //第二個(gè)塊嵌套在第一個(gè)塊里面。 byte i = 12; //變量i只在第二個(gè)塊區(qū)域內(nèi)有作用包括嵌套里面的塊。 { //第三個(gè)塊嵌套在第二個(gè)塊里面同時(shí)也在第一個(gè)塊里面。 int a = 3; //變量a只在所在的塊起到作用。 System.out.println(a); } //寫在main(程序執(zhí)行的入口)里面的代碼塊,就稱為局部代碼塊。 //局部代碼的作用:能夠讓變量更早的在內(nèi)存中消失,節(jié)省內(nèi)存空間。 System.out.println(i); } }
不能在嵌套的兩個(gè)塊中聲明同名的變量。
實(shí)例:
package decom1; public class cuowu { public static void main(String[] args) { byte i = 12; { int i = 3; //報(bào)錯(cuò):Duplicate local variable i } System.out.println(i); } }
條件語句有三種格式,下面我來解密一下哪三種格式。
if(條件表達(dá)式) { 語句體; }
Java中條件語句的表現(xiàn)形式:
if(condition) statement
這里的條件必須用小括號(hào)括起來。
條件表達(dá)式最終的結(jié)果只能是boolean類型,要么是true,要么是false。
流程:
1.如果程序執(zhí)行到if語句的時(shí)候,會(huì)去看條件表達(dá)式的結(jié)果是true還是false。
2.如果是true,就會(huì)進(jìn)入到if中,執(zhí)行里面的語句體內(nèi)容。
3.如果是false,就不會(huì)進(jìn)入到if中,就不會(huì)執(zhí)行到里面的語句體內(nèi)容。
package com; public class liu { public static void main(String[] args) { int i = 1; int j = 2; if(i > j) { System.out.println(i); } System.out.println(j); //由于i>j不成立,所以不執(zhí)行if里面的語句,直接跳過執(zhí)行外面的語句。 } }
if(條件表達(dá)式){ 語句體; }else{ 語句體; }
語句表現(xiàn)形式:
if(condition) statement1 else statement2
執(zhí)行流程:
1.如果程序執(zhí)行到if語句的時(shí)候,會(huì)去看條件表達(dá)式的結(jié)果是true還是false。
2.如果是true,就會(huì)進(jìn)入到if中,執(zhí)行里面的語句體內(nèi)容。
3.如果是false,就不會(huì)進(jìn)入到if中,會(huì)進(jìn)入到else中,執(zhí)行里面的語句體。
實(shí)例:
package com; public class liu { public static void main(String[] args) { //獲取兩個(gè)數(shù)的較大值 int i = 1; int j = 2; int max = 0; if(i > j) { max = i; //把i賦值給max } else { max = j; //把j賦值給max } System.out.println(max); //因?yàn)閕>j條件為假,所以執(zhí)行else里面的語句,所以max得到的數(shù)值為2。 } }
if(條件表達(dá)式){ 語句體; }else if{ 語句體; }…else{語句體;}
語句表達(dá)形式:
if…else if…
執(zhí)行流程:
1.如果程序執(zhí)行到if語句的時(shí)候,會(huì)去看條件表達(dá)式的結(jié)果是true還是false。
2.如果為true,就會(huì)執(zhí)行if中的語句體內(nèi)容,其他的語句體不會(huì)執(zhí)行。
3.如果為false,就會(huì)繼續(xù)向下走,看else if的條件表達(dá)式的結(jié)果是true還是false。
4.如果是true,就進(jìn)入到elseif中,執(zhí)行里面的語句體內(nèi)容。
5.如果是false,就繼續(xù)向下走…
6.如果if和所有的elseif中的條件表達(dá)式都為false,就會(huì)執(zhí)行else中的語句體內(nèi)容。
實(shí)例:
package com; public class liu { public static void main(String[] args) int a = 0; int i = 7; if(i > 8) { a = 1; } else if(i > 7) { a = 2; } else if(i > 6) { a = 3; } else { a = 4; } System.out.println(a); } }
在處理多個(gè)選項(xiàng)時(shí)if條件語句顯著有些笨拙,這個(gè)時(shí)候有新的玩法更何樂而不為呢?下面我來介紹switch語句。
結(jié)構(gòu)放在實(shí)例講,下面講一下執(zhí)行流程:
1.當(dāng)程序執(zhí)行到switch的時(shí)候,會(huì)進(jìn)入到switch,會(huì)找第一個(gè)case進(jìn)行匹配,如果匹配成功,就進(jìn)入到case中執(zhí)行。
2.里面的語句體內(nèi)容和break。如果沒有匹配成功,會(huì)繼續(xù)向下走,找第二個(gè)case繼續(xù)匹配… …。
3.如果所有的case都不匹配,最后會(huì)執(zhí)行default中的語句體內(nèi)容。
實(shí)例:
package com; public class liu { public static void main(String[] args) { int i = 3; switch(i) { case 1: System.out.println("1"); break; case 2: System.out.println("2"); break; case 3: System.out.println("3"); //i=3符合case 3所以就執(zhí)行case里面的命令,其余語句則不管。 break; default: System.out.println("3"); break; } } }
case標(biāo)簽:
類型為char、byte、short或int的常量表達(dá)式。
枚舉常量。
從Java 7 開始,case標(biāo)簽可以是字符串字面量。
字符常量實(shí)例:
String input.... switch (input.tolowerCase()) { case "yes": ... break; ... }
警告:如果case分支語句結(jié)尾沒有break語句,那么就會(huì)接著執(zhí)行下一個(gè)case分支語句。
如果你容易忘記這個(gè)茬,可以在前面加上這一個(gè)語句,這樣一來如果case后面少了一個(gè)break,在編譯的時(shí)候會(huì)提示錯(cuò)誤。
javac -Xlint:fallthrough Test.java
switch結(jié)束標(biāo)志:
1.break
2.遇到結(jié)尾}
關(guān)于“Java塊作用域、條件語句及switch語句怎么用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Java塊作用域、條件語句及switch語句怎么用”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。