首頁  >  文章  >  Java  >  Java區塊作用域、條件語句及switch語句怎麼用

Java區塊作用域、條件語句及switch語句怎麼用

王林
王林轉載
2023-05-15 14:58:061202瀏覽

塊作用域

在深入學習控制結構前,必須先了解塊的作用。

定義:由多條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); 
	}
}

switch語句

在處理多個選項時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語句怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除