Scala-流程控制
分支控制
单分支
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")
}
}
本文作者:POCOPOCOPOCO
本文链接:https://www.cnblogs.com/POCOPOCOPOCO/p/16697619.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步