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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

Scala基础教程(四):if语句、循环语句、while语句

發(fā)布時(shí)間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scala基础教程(四):if语句、循环语句、while语句 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

下面是一個(gè)典型的決策中IF...ELSE結(jié)構(gòu)的一般形式使用在大多數(shù)的編程語(yǔ)言中:

if 語(yǔ)句:

if 語(yǔ)句包含一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語(yǔ)句。

語(yǔ)法:

一個(gè) if 語(yǔ)句的語(yǔ)法:

if(Boolean_expression) { ?? // Statements will execute if the Boolean expression is true }

如果布爾表達(dá)式的值為true,那么if語(yǔ)句里面的代碼模塊將被執(zhí)行。如果不是這樣,第一組碼if語(yǔ)句結(jié)束后(右大括號(hào)后)將被執(zhí)行。

示例:

object Test { ?? def main(args: Array[String]) { ????? var x = 10; ? ????? if( x < 20 ){ ???????? println("This is if statement"); ????? } ?? } }

這將產(chǎn)生以下輸出結(jié)果:

C:/>scalac Test.scala C:/>scala Test This is if statement ? C:/>

if...else語(yǔ)句:

if語(yǔ)句可以跟著一個(gè)可選的else語(yǔ)句,當(dāng) else 塊執(zhí)行時(shí),布爾表達(dá)式條件是假的。

語(yǔ)法:

if...else的語(yǔ)法是:

if(Boolean_expression){ ?? //Executes when the Boolean expression is true }else{ ?? //Executes when the Boolean expression is false }

示例:

object Test { ?? def main(args: Array[String]) { ????? var x = 30; ? ????? if( x < 20 ){ ???????? println("This is if statement"); ????? }else{ ???????? println("This is else statement"); ????? } ?? } }

這將產(chǎn)生以下結(jié)果:

C:/>scalac Test.scala C:/>scala Test This is else statement ? C:/>

if...else if...else語(yǔ)句:

if語(yǔ)句可以跟著一個(gè)可選的else if ... else語(yǔ)句,這是非常有用的使用 if...else if如果測(cè)試各種條件聲明。

當(dāng)使用 if , else if , else 語(yǔ)句有幾點(diǎn)要牢記。

·????????if可以有零或一個(gè)else,它必須跟在else if后面。

·????????一個(gè)if 可以有零到多個(gè)else if,并且它們必須在else之前。

·????????一旦一個(gè)?else if 匹配成功,剩余的else if或else不會(huì)被測(cè)試匹配。

語(yǔ)法:

if...else if...else的語(yǔ)法是:

if(Boolean_expression 1){ ?? //Executes when the Boolean expression 1 is true }else if(Boolean_expression 2){ ?? //Executes when the Boolean expression 2 is true }else if(Boolean_expression 3){ ?? //Executes when the Boolean expression 3 is true }else { ?? //Executes when the none of the above condition is true. }

示例:

object Test { ?? def main(args: Array[String]) { ????? var x = 30; ? ????? if( x == 10 ){ ???????? println("Value of X is 10"); ????? }else if( x == 20 ){ ???????? println("Value of X is 20"); ????? }else if( x == 30 ){ ???????? println("Value of X is 30"); ????? }else{ ???? ????println("This is else statement"); ????? } ?? } }

這將產(chǎn)生以下結(jié)果:

C:/>scalac Test.scala C:/>scala Test Value of X is 30 ? C:/>

if ... else語(yǔ)句嵌套:

它始終是合法的嵌套 if-else 語(yǔ)句,這意味著可以使用一個(gè) if 或 else if 在另一個(gè)if 或else if 語(yǔ)句中。

語(yǔ)法:

語(yǔ)法嵌套 if...else 如下:

if(Boolean_expression 1){ ?? //Executes when the Boolean expression 1 is true ?? if(Boolean_expression 2){ ????? //Executes when the Boolean expression 2 is true ?? } }

可以嵌套else if...else在if語(yǔ)句中,反之也可以。

示例:

object Test { ?? def main(args: Array[String]) { ??????? var x = 30; ?????? ?var y = 10; ? ???????? if( x == 30 ){ ??????????? if( y == 10 ){ ??????????? println("X = 30 and Y = 10"); ???????? } ????? } ?? } }

這將產(chǎn)生以下結(jié)果:

C:/>scalac Test.scala C:/>scala Test X = 30 and Y = 10 ? C:/>

?

?

可能有一種情況,當(dāng)需要多次執(zhí)行代碼的幾個(gè)塊。在一般情況下,語(yǔ)句順序執(zhí)行:在一個(gè)函數(shù)的第一條語(yǔ)句,首先執(zhí)行,然后是第二個(gè)等等。

編程語(yǔ)言提供了各種控制結(jié)構(gòu),允許更多復(fù)雜的執(zhí)行路徑。

循環(huán)語(yǔ)句可以執(zhí)行語(yǔ)句多次或多組,下面是在大多數(shù)編程語(yǔ)言和循環(huán)語(yǔ)句一般如下:

Scala編程語(yǔ)言提供了以下循環(huán)類型的處理循環(huán)需求。點(diǎn)擊以下鏈接查看其詳細(xì)信息。

循環(huán)類型

描述

while循環(huán)

重復(fù)聲明語(yǔ)句或一組,當(dāng)給定的條件為真。它測(cè)試條件執(zhí)行循環(huán)體前。

do...while循環(huán)

像一個(gè)while語(yǔ)句,不同之處在于它測(cè)試條件在循環(huán)體的結(jié)尾

for循環(huán)

執(zhí)行語(yǔ)句多次序列并簡(jiǎn)寫管理循環(huán)變量的代碼。

循環(huán)控制語(yǔ)句:

循環(huán)控制語(yǔ)句改變其正常的順序執(zhí)行。當(dāng)執(zhí)行離開(kāi)一個(gè)范圍,在該范圍內(nèi)創(chuàng)建的所有對(duì)象自動(dòng)被銷毀。但是Scala不支持break或continue語(yǔ)句,想要像Java,但從Scala2.8版本開(kāi)始,有一種方法可以打退出循環(huán)。點(diǎn)擊以下鏈接查看詳細(xì)信息。

控制語(yǔ)句

描述

break語(yǔ)句

終止循環(huán)語(yǔ)句并將執(zhí)行立刻循環(huán)的下面語(yǔ)句。

無(wú)限循環(huán):

一個(gè)循環(huán)變成無(wú)限循環(huán),如果條件永遠(yuǎn)不會(huì)為假。如果使用Scala,while循環(huán)是實(shí)現(xiàn)無(wú)限循環(huán)的最佳方式,如下:

object Test { ?? def main(args: Array[String]) { ????? var a = 10; ????? // An infinite loop. ????? while( true ){ ???????? println( "Value of a: " + a ); ????? } ?? } }

如果將上面的代碼執(zhí)行,它會(huì)在無(wú)限循環(huán)可以通過(guò)按Ctrl+ C鍵終止。

?

?

while 循環(huán)語(yǔ)句多次執(zhí)行,只要給定的條件為真執(zhí)行目標(biāo)語(yǔ)句。

語(yǔ)法:

Scala while循環(huán)的語(yǔ)法是:

while(condition){ ?? statement(s); }

在這里,聲明可以是單個(gè)語(yǔ)句或語(yǔ)句塊。所述條件可以是任何表達(dá)式,真值是任何非零值。當(dāng)條件為true,則循環(huán)迭代。當(dāng)條件為faklse,則程序控制進(jìn)到緊接在循環(huán)之后的行。

流程圖:

在這里,while循環(huán)的關(guān)鍵點(diǎn)是循環(huán)可能不會(huì)永遠(yuǎn)運(yùn)行。當(dāng)條件測(cè)試結(jié)果為false,循環(huán)體將跳過(guò)while循環(huán)后的第一個(gè)語(yǔ)句執(zhí)行。

示例:

object Test { ?? def main(args: Array[String]) { ????? // Local variable declaration: ????? var a = 10; ? ????? // while loop execution ????? while( a < 20 ){ ???????? println( "Value of a: " + a ); ???????? a = a + 1; ????? } ?? } }

當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:

C:/>scalac Test.scala C:/>scala Test value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19 ? C:/>from: http://www.yiibai.com/scala/scala_basic_syntax.html

總結(jié)

以上是生活随笔為你收集整理的Scala基础教程(四):if语句、循环语句、while语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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