ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

流程控制

2022-09-15 19:03:37  阅读:267  来源: 互联网

标签:控制 val 流程 else while age 表达式 布尔


分支控制

单分支
if(布尔表达式) {
   // 如果布尔表达式为 true 则执行该语句块
}
双分支
if(布尔表达式) {
   // 如果布尔表达式为 true 则执行该语句块
} else {
   // 如果布尔表达式为 false 则执行该语句块
}
多分支
if(布尔表达式1) {
   // 如果布尔表达式1为 true,则执行该语句块
} else if ( 布尔表达式2 ) {
   // 如果布尔表达式2为 true,则执行该语句块
}...
} else {
   // 上面条件都不满足的场合,则执行该语句块
}
object ScalaBranch {
    def main(args: Array[String]): Unit = {
        val age = 30
        if ( age < 18 ) {
            println("童年")
        } else if ( age <= 30 ) {
            println("青年")
        } else if ( age <= 50 ) {
            println("中年")
        } else {
            println("老年")
        }
    }
}
object ScalaBranch {
    def main(args: Array[String]): Unit = {
        val age = 30
        val result = if ( age < 18 ) {
            "童年"
        } else if ( age <= 30 ) {
            "青年"
        } else if ( age <= 50 ) {
            "中年"
        } else {
            "老年"
        }
        println(result)
   }
}

循环控制

for

1 to 5 省略 . 和()

for ( i : Int <- 1 to 5) // 1.to(5)
{
  println(i)
}

也可省略 类型

for ( i <- 1 to 5) // 1.to(5)
{
  println(i)
}

舒服写法

val range = 1 to 5 by 2 // 从1到5 步长2 
val range = range(1,5,2) // 从1到5(不包含5) 步长2 也等于 1 until 5 by 2
for ( i<- range)
{
  println(i)
}

while

var age = 0
while (age < -1) {
  println(age)
  age += 1
} // while 循环
do {
  println(age)
  age += 1
} while (age < -1) // do while 循环

循环中断-----静态导入

scala是完全面向对象的语言,所以无法使用break,continue关键字这样的方式来中断,或继续循环逻辑,而是采用了函数式编程的方式代替了循环语法中的break和continue

package test01

import scala.util.control.Breaks._ // 静态导入

object scala_test01_break {
  def main(args: Array[String]): Unit = {

//    Breaks.breakable(
//      for (i <- 1 to 5) {
//        if (i == 3) {
//          Breaks.break() // 采用跑出异常的方式来跳出循环
//        }
//        println(i)
//      }
//    )
        breakable(
          for (i <- 1 to 5) {
            if (i == 3) {
              break() // 采用跑出异常的方式来跳出循环
            }
            println(i)
          }
        )


    println("other")
  }
}

标签:控制,val,流程,else,while,age,表达式,布尔
来源: https://www.cnblogs.com/POCOPOCOPOCO/p/16697619.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有