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

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黄色制服在线网站| 一区二区三区蜜桃91| 国产三级一区二区不卡| 亚洲国产日韩精品久久| 日韩人妻熟妇中文字幕| 亚洲日本韩国视频久久精品| 日韩一区二区三区av在线| 女同毛片一区二区三区| 日韩欧美精品在线不卡| 青青草成年人免费视频| 国产av不卡精品影片| 外国男人搞亚洲女人在线| 一本久道久久综合久久鬼色| 国产乱av一区二区三区| 亚洲中文字幕乱码一二三| 免费不卡无码毛片观看| 亚洲综合色婷婷在线影院| 欧美日韩国产精品高清| 麻豆国产97在线精品一区| 人人妻人人澡人人妻| 一起草视频在线观看视频| 国产中文精品字幕a区| 国内精品人妻久久毛片| 久亚洲精品九九久久99| 男人的天堂av免费看看| 丰满人妻被黑人猛烈进入免费| 六月丁香花五月婷婷| 国产一区999精品在线| 亚洲精品熟女国产中文| 不卡视频一区中文字幕| 亚洲欧美另类熟女丝袜| 久章草在线免费视频播放| 国产我不卡在线观看免费| 亚洲国产精品欧美激情| 亚洲成人av网址大全| 亚洲日本国产精品第一页| 国产美女精品一区二区三区| 久久蜜臀av一区三区| 国产日韩欧美亚洲中文| 成人日韩av免费在线观看| 中文字幕在线精品乱码麻豆|