日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java赋值语句_Scala守卫语句的集中用法

發(fā)布時間:2024/9/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java赋值语句_Scala守卫语句的集中用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

相比于JAVA,Scala的if增加了兩項(xiàng)強(qiáng)大的功能,一是可以直接作為賦值語句,另一種功能是作為守衛(wèi)語句,不僅遠(yuǎn)遠(yuǎn)超過JAVA,甚至也將PYTHON拋在身后。

1. if作為賦值語句

作為賦值語句,不僅僅只是替代了三元運(yùn)算符,而且還能支持邏輯語句塊,如下:

val (a, b) = (10, 20)// 更添加更多邏輯控制,且支持語句塊val value = if(a > b) 1 else if(a == b) { val c = a - 1 c * c} else 1

2. if作為for守衛(wèi)語句

if作為for守衛(wèi)語句能實(shí)現(xiàn)過濾的效果,顯著地降低循環(huán)次數(shù),并且更易讀,如下:

// 返回大于5的偶數(shù),類型為Vectorval items = for(i 1 to

從上面可以看出,if作為for守衛(wèi)語句具有如下特點(diǎn):

1. 一個for循環(huán)可以支持多個if語句,以空格、回車字符分割
2. 多個if語句之間的關(guān)系是邏輯與(&&);

需要注意,if守衛(wèi)語句并不支持其他循環(huán)語句,如while。

3. if作為case守衛(wèi)語句

繼續(xù)上面的例子,在作為case守衛(wèi)語句中,能細(xì)化case語句的粒度,更易于控制邏輯流轉(zhuǎn),如下:

var vs = items match { // 判斷x的長度 case x if x.size < 1 => null // 判斷x的內(nèi)容 case x if x.contains(8) => 8}

對于“case”語句,雖然沒有顯式的“break”語句,但是依舊是“滿足即阻斷”,只會執(zhí)行最先滿足的“case”,所以,設(shè)計(jì)“case”執(zhí)行邏輯時,最重要的就是執(zhí)行邏輯的優(yōu)先級。

結(jié)論

熟練使用if語句,能實(shí)現(xiàn)很優(yōu)雅的短碼效果,更能達(dá)到Python提倡的“用一條語句(集合)解決一個問題”。

總結(jié)

以上是生活随笔為你收集整理的java赋值语句_Scala守卫语句的集中用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。