Scala简明速学

Scala-简明速学01-控制语句

2019-01-20  本文已影响4人  volkin

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
            }
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读