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