scala中的控制结构

1.if是有返回值的,根据括号中的条件决定返回值
2.if条件表达式中可进行类型的推导,在复杂算法中时可省略变量类型的书写,为复杂算法提供便利
3.如果else后面没有内容,则默认if()..else (),()是为空的意思
4.if表达式中有多条语句需用{}封装,而且最后一条才是返回的结果
5.补充说明:{..}语句块是有值的,而且值是最后一条语句,值类型也是最后一条语句值的类型


package kang
/*	main:方法名
 * args:参数名
 * Array[String]:参数类型
 * Unit:方法返回值,Unit相当于java中的void
 * 
 * 
 * 1.if是有返回值的,根据括号中的条件决定返回值
 * 2.if条件表达式中可进行类型的推导,在复杂算法中时可省略变量类型的书写,为复杂算法提供便利
 * 3.如果else后面没有内容,则默认if()..else (),()是为空的意思
 * 4.if表达式中有多条语句需用{}封装,而且最后一条才是返回的结果
 * 5.补充说明:{..}语句块是有值的,而且值是最后一条语句,值类型也是最后一条语句值的类型
 * 6.
 *  * */
object scala_controller {
  def main(args: Array[String]): Unit = {
    var n1=5
    var s1="hello Spark"
    var flag=true
    var result = if(n1>3) "big" else "small"//if返回String类型
    var result2 = if(n1>3) "big" else 1 //if返回Any类型
    var result3 = if(n1>3) "big" else None//if返回Object类型
     var result4 = if(n1>3) "big" else //如果不写,默认为 () ,跟None一个意思,但是None extends Option,所以这里if返回Any类型
    //for循环的方式和java有点不同,具体看下面的
      //for里面的if是条件守卫,用于限制for循环(优化for循环,去掉不必要的步骤),或者用于跳出for循环
      for(i <- 0 to 5 if i%2==0){
      println("a"+i)
    }
    
     for(i <- 0 to 5 if flag){
      println("b"+i)
      if (2==i) flag=false
    }
     
     //字符串默认切割成一个一个字符,作为item的数组值
     
    for(item <- s1){
       println("c"+item)
    }
    
      //自己定义字符串切割方式,作为item的数组值,这里定义切割空格
    for(item <- s1.split(" ")){
       println("c"+item)
    }
    
    //如果要是用break,需要导包后将代码放进breakable{}中,一般不这样用,直接if流程控制
    import scala.util.control.Breaks._
    breakable{
      for(i <- 0 to 9){
        if(i==5){
          println(i)
          break
        }
      }
    }
    
    
  }
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值