Scala-簡明速學01-控制語句

Scala-簡明速學01-控制語句

while循環

Scala中的while循環基本與Java相似,但是Scala中沒有++,--自增和自減操作符


object While {
    def main(args: Array[String]): Unit = {
        var n = 10
        while (n > 0) {//Scala沒有++,--運算符,無法寫成while(n-->0)這樣的形式
            println(n)
            n -= 1
        }
    }
}

for循環

Scala中沒有for循環,可以使用簡易for語句或者foreach函數


object For {


    def main(args: Array[String]): Unit = {
        //簡易for語句
        for (i <- 1 to 10) {
            println(i)
        }
        println("#################################################################################")
        //簡易for語句
        val names = List("Jack", "Jill", "Nate", "Kara", "Kim", "Jullie", "Paul", "Peter")
        for (name <- names) {
            println(name)
        }
        println("#################################################################################")
        //foreach 可以將參數簡寫爲 _,_就代表了集合中的一個元素
        names.foreach(println(_))
        println("#################################################################################")

        //foreach 可以對集合元素進行參數命名
        names.foreach((name) => {
            println(name)
        })
        println("#################################################################################")


    }
}


break跳出循環

Scala中沒有break關鍵字,而是使用Break工具類用捕獲異常的方式來模擬break關鍵字

注意使用Break方法時要引入scala.util.control.Breaks._,其中的_相當於Java中的*,表示靜態引入Break類中的所有方法

import scala.util.control.Breaks._
object Break {
    def main(args: Array[String]): Unit = {
        //breakable實際是一個方法,接受方法作爲參數,並且使用捕獲BreakControl異常的方式來控制流程
        breakable {
            //傳入給breakable方法的方法
            var n = 10
            for (c <- "Hello,Scala") {
                if (n == 5) break //實際break並不是關鍵字,而是調用Breaks類中的break()方法,break()方法中拋出一個BreakControl異常來控制流程
                println(c)
                n -= 1
            }
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章