亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

無涯教程: Java 14 – Switch表達式介紹

標簽:
Java

switch语句允许应用程序基于运行时中给定表达式的值具有多个可能的执行路径

评估后的表达式称为选择器表达式,其类型必须为 char,byte,short,int,Character,Byte,Short,Integer,String或enum 

如果在某些情况下未处理任何遗漏的值,编译器将报错。其他表达式类型(int,string等),我们还必须提供 default 大小写。

public class SwitchExpressions 
{
	public static void main(String[] argv) 
	{
		System.out.println(isWeekDayV1_1(Day.MON));		//true
		System.out.println(isWeekDayV1_2(Day.MON));		//true
		System.out.println(isWeekDayV2(Day.MON));		//true
	}
	
	//1 - Return value directly
	
	enum Day {
		MON, TUE, WED, THUR, FRI, SAT, SUN
	};
 
	public static Boolean isWeekDayV1_1 (Day day) 
	{
		Boolean result = switch(day) {
			case MON, TUE, WED, THUR, FRI -> true;
			case SAT, SUN -> false;
		};
		return result;
	}
	
	public static Boolean isWeekDayV1_2 (Day day) 
	{
		Boolean result = switch(day) {
			case MON, TUE, WED, THUR, FRI : yield true;
			case SAT, SUN : yield false;
		};
		return result;
	}
	
	//2 - Multiple statements
	
	public static Boolean isWeekDayV2 (Day day) 
	{
		Boolean result = switch(day) {
			case MON, TUE, WED, THUR, FRI ->
			{ 
				System.out.println("It is WeekDay");
				yield true; 
			}
			case SAT, SUN ->
			{ 
				System.out.println("It is Weekend");
				yield false; 
			}
		};
		return result;
	}
}

Yield与Return

return 语句将控制权返回给方法或构造函数的调用者。 yield 语句通过使封闭的 switch 表达式产生指定值来转移控制权。

SwitchExpression:
	Yield Statement:
    	yield Expression;
  • SwitchExpression 试图找到正确的 YieldStatement ,以将控制权转移到最里面封闭的 yield 目标。

  • SwitchExpression 正常终止,并且 Expression 的值成为 SwitchExpression 的值。

  • 如果出于某种原因突然完成了对 Expression 的求值,那么出于相同的原因, yield 语句就突然完成了。


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
PHP開發工程師
手記
粉絲
8
獲贊與收藏
17

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消