scala中的控制结构

来源:互联网 发布:全国淘宝店铺有多少个 编辑:程序博客网 时间:2024/05/22 03:18

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        }      }    }          }}


原创粉丝点击