Scala基础—再谈控制语句

package com.spark.scala.basics

import scala.util.control.Breaks

/**
  * ifforwhile等三种控制结构
  */
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
    }

  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值