溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2022-04-28 14:52:28 來源:億速云 閱讀:156 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了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); 
	}
}

switch語句

在處理多個(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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI