package com.spark.scala.basics import scala.util.control.Breaks /** * if、for、while等三种控制结构 */ object ControlStructures { def main(args: Array[String]): Unit = { var age = 25 /** * 1.在scala中,if else是有值的;在Java中是没有值的! * 2.if条件表达式中可以进行类型推导 * 3.若if后面没有else部分,默认的实现是if() ... else () * 4."{}"中最后一条语句的返回值就是if的返回值,其类型就是if返回的类型 * 5.if表达式可以用在for等其他控制结构,用于限制结果 */ val result = if (age > 20) "Worker" else "Student" println(result) // Worker val result2 = if (age > 18) "Adult" else 1 println(result2) val result3 = if (age > 18) "Adult" else () var x, y = 0 val result4 = if (age < 18) { x = x + 1 y = y + 1 x + y } else 0 println(result4) /** * 1.跳出for循环,可以使用if守卫,还可以使用return(return 是方法级别的),还可以使用break * */ for (i <- 0 to 5 if i == 2) { println(i) // 2 } //等价于 for (i <- 0.to(5) if i == 2) { println(i) // 2 } var flag = true var sum = 0 for (x <- 0 to 6 if flag) { println(x) if (5 == x) flag = false } for (x <- 0 to 6) { println(x) if (3 == x) return } var loop = new Breaks for (x <- 0 to 5) { println(x) if (4 == x) loop.break() } var a = 10; // while 循环执行 while( a < 20 ){ println( "Value of a: " + a ) a = a + 1 } } }
Scala基础—再谈控制语句
最新推荐文章于 2022-01-18 18:53:50 发布