Scala学习笔记5:流程控制

43 阅读2分钟

系列文章目录


@TOC


前言


一、分支结构

1.if(布尔表达式) { // 如果布尔表达式为 true 则执行该语句块 }

object Test {
   def main(args: Array[String]) {
      var x = 10;
      if( x < 20 ){
         println("x < 20");
      }
   }
}

2.if(布尔表达式){ // 如果布尔表达式为 true 则执行该语句块 }else{ // 如果布尔表达式为 false 则执行该语句块 }

object Test {
   def main(args: Array[String]) {
      var x = 30;
      if( x < 20 ){
         println("x 小于 20");
      }else{
         println("x 大于 20");
      }
   }
}

3.多个if -else if(布尔表达式 1){ // 如果布尔表达式 1 为 true 则执行该语句块 }else if(布尔表达式 2){ // 如果布尔表达式 2 为 true 则执行该语句块 }else if(布尔表达式 3){ // 如果布尔表达式 3 为 true 则执行该语句块 }else { // 如果以上条件都为 false 执行该语句块 }

object Test {
   def main(args: Array[String]) {
      var x = 30;
      if( x == 10 ){
         println("X 的值为 10");
      }else if( x == 20 ){
         println("X 的值为 20");
      }else if( x == 30 ){
         println("X 的值为 30");
      }else{
         println("无法判断 X 的值");
      }
   }
}

4.循环嵌套 if(布尔表达式 1){ // 如果布尔表达式 1 为 true 则执行该语句块 if(布尔表达式 2){ // 如果布尔表达式 2 为 true 则执行该语句块 } }

object Test {
   def main(args: Array[String]) {
        var x = 30;
        var y = 10;

         if( x == 30 ){
            if( y == 10 ){
            println("X = 30 , Y = 10");
         }
      }
   }
}

注意: Scala中任意 表达式都是有返回值的,也就意味着if else表达式其实是有返回结果的,具体返回结果的值取决于满足条件的代码体的最后一行内容

二、循环结构

1.for 循环

for( a <- 1 to 10){ //1-10
         println( "Value of a: " + a );
      }
for( b <- 1 until 10){ //1-9
     println( "Value of a: " + a );
  }
  
 //循环守卫,加上条件判断,为true进度循环体,为false 则跳过 ,类似于continue
for(i <- 1 to 3 if i != 2) {
   print(i + " ")
}

2.while/do while(略) Scala内置控制结构特地 去掉了break 和continue,是为了 更好的适应函数化编程 , 推荐使用 函数式的风格解决break和contine的功能,而不是一个关键字