欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

scala條件控制與循環(huán)怎么實(shí)現(xiàn)

這篇文章主要講解了“scala條件控制與循環(huán)怎么實(shí)現(xiàn)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“scala條件控制與循環(huán)怎么實(shí)現(xiàn)”吧!

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比正鑲白網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式正鑲白網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋正鑲白地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。

一、條件判斷if

在scala中,if條件判斷是有返回值的,就是if或者else的最后一個(gè)值,如下:

scala> var age = 23age: Int = 23scala> var isAdult = if(age >= 18) "yes" else "no"isAdult: String = yes

因?yàn)閍ge是23已經(jīng)大于18,所以if語(yǔ)句返回了yes給isAdult。此外我們可以注意到,在isAdult: String = yes中,isAdult是scala默認(rèn)給的String類型,因?yàn)閕f和else都是String類型,那如果我們不給一樣的類型呢?來(lái)試試吧:

scala> if(age >= 18) "yes" else 0res0: Any = yes

如果if和else類型不一致,scala則會(huì)取兩者的公共父類型,String和Int的公共父類型就是Any,它是所有其他類的超類哦。那么我們?cè)賮?lái)思考一個(gè)問題,如果只有if沒有else,if還不滿足的話會(huì)返回什么呢?如下:

scala> if(age < 18) "yes"res1: Any = ()

如果if后面沒有跟else,則默認(rèn)else的值是Unit,用()表示。

通常情況scala解釋器一次只能解釋一行,但這明顯不足以滿足條件判斷的需求,很多時(shí)候代碼量不止一行,所以接下來(lái)說說怎樣使用多行if
(1)使用大括號(hào){},最后用}收尾即可

scala> if(age > 18){    |    "yes" }else{    |     "no"}res3: String = yes

(2)使用:paste進(jìn)入粘貼模式,隨意編輯,編輯完后摁Ctrl+D即可退出粘貼模式

scala> :paste// Entering paste mode (ctrl-D to finish)if(age > 18)   "adult"else   "children"// Exiting paste mode, now interpreting.res5: String = adult

二、輸入輸出print、println、readLine()

print打印輸出語(yǔ)句不加換行符,println會(huì)加換行符,如下:

scala> print("Hello world")Hello worldscala> println("Hello world")Hello world//這里受println影響換行了

在println打印完成后,進(jìn)行了換行,print卻沒有。

readLine()用于用戶輸入,如下:

scala> readLine()res10: String = Hello

在readLine()執(zhí)行時(shí)是看不見自己的輸入的,輸入完回車即可看見,比如上方輸入的 “Hello”就是輸入完回車才看見的

三、循環(huán)while、for

scala的while和java基本一致,如下:

scala> :paste// Entering paste mode (ctrl-D to finish)var number = 0while(number<5){print(number + " ")number += 1}// Exiting paste mode, now interpreting.0 1 2 3 4 number: Int = 5

注意,scala是沒有java的for循環(huán)的,只有使用while或者簡(jiǎn)易版本的for循環(huán),如下:

scala> for(i <- 0 to 5) print(i+" ")0 1 2 3 4 5

這是一段從0遍歷到5打印的代碼,需要變量名,小箭頭<-,初始值,終止值,也可以使用until代替to,這樣的話不會(huì)到達(dá)終止值,如下:

scala> for(i <- 0 until 5) print(i+" ")0 1 2 3 4

對(duì)于字符串也可以通過for循環(huán)來(lái)完成遍歷

scala> for(c <- "Hello,World") print(c + " ")H e l l o , W o r l d

scala沒有java的break跳出循環(huán),但是可以使用Breaks包下的break函數(shù)達(dá)成類似效果,

scala> import scala.util.control.Breaks._import scala.util.control.Breaks._scala> :paste// Entering paste mode (ctrl-D to finish)breakable {   var n = 10   for(c <- "Hello World") {       if(n == 5) break;       print(c)       n -= 1   }}// Exiting paste mode, now interpreting.Hello

接下來(lái)說一下for循環(huán)的高級(jí)版本,多重循環(huán),我們來(lái)實(shí)現(xiàn)一個(gè)99乘法表,如下:

scala> :paste// Entering paste mode (ctrl-D to finish)for(i <- 1 to 9; j <- 1 to 9) { if(j == 9) {   println(i * j) } else {   print(i * j + " ") }}// Exiting paste mode, now interpreting.1 2 3 4 5 6 7 8 92 4 6 8 10 12 14 16 183 6 9 12 15 18 21 24 274 8 12 16 20 24 28 32 365 10 15 20 25 30 35 40 456 12 18 24 30 36 42 48 547 14 21 28 35 42 49 56 638 16 24 32 40 48 56 64 729 18 27 36 45 54 63 72 81

在這串代碼中,i從1到9,j也是從1到9,第一次循環(huán)i=1,j=1;第二次循環(huán)i=1,j=2,直到i=1,j=9時(shí),打印換行,然后i=2,j=1,以此類推

for循環(huán)還可以條件判斷,我們實(shí)現(xiàn)一個(gè)取偶數(shù),如下:

scala> for(i <- 1 to 10 if i%2 ==0)print(i+" ")2 4 6 8 10

還可以通過for循環(huán)構(gòu)造集合,如下:

scala> for(i <- 1 to 10) yield ires11: scala.collection.immutable.IndexedSeq[Int] = Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

yield關(guān)鍵字可以配合for循環(huán)直接構(gòu)造集合。

感謝各位的閱讀,以上就是“scala條件控制與循環(huán)怎么實(shí)現(xiàn)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)scala條件控制與循環(huán)怎么實(shí)現(xiàn)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

標(biāo)題名稱:scala條件控制與循環(huán)怎么實(shí)現(xiàn)
標(biāo)題路徑:http://aaarwkj.com/article16/gihodg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、云服務(wù)器、建站公司網(wǎng)站內(nèi)鏈、虛擬主機(jī)做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
av在线高清免费观看| 日韩成年人高清精品不卡一区二区 | 99亚洲伊人久久精品影院| 欧美香蕉高清视频免费| 欧美丰满人妻少妇视频在线| 大香蕉国产精品视频在线| 综合久久99中文综合久久| 国产午夜视频在线观看一区| 日韩无遮挡免费在线观看| 中文成人无字幕乱码精品| 亚洲一区二区三区精品在线| 日韩精品毛片一区到三区| 国产av爆操黑丝美女| 婷婷国产成人精品一区二| 热久久青草精品欧美一区| 欧美日韩亚洲精品三级| 最新国产激情福利网站| 丝袜美腿精尽福利视频网址大全| 国产精品亚洲综合制服日韩| 97日韩在线免费视频网站| 91色九色吧在线观看| 亚洲天堂中文字幕麻豆| 亚洲av男人天堂一区| 一区二区三区不卡中文字幕| 一区二区三区免费视频少妇| 亚洲中文字幕少妇熟女美妇| 国产黄色一区二区三区,| 一本久久精品午夜福利| 欧美特黄大片在线观看| 五月婷婷丁香视频在线| 伊人久久综在合线亚洲| 国产一级性生活高清在线| 亚洲精品色播一区二区| 日韩精品成人区中文字幕| 国产我和子的乱视频亲生| 91精品国产高清久久福利| 亚洲综合一区国产精品| 午夜福利院在线观看免费| 国产精品盗摄一区二区三区| 亚洲五月六月激情综合| 婷婷网色偷偷亚洲男人|