Scala 流程控制 之 判断

单分支结构式

var falg = true
if (falg){
    println("true")
}

双分支结构式

var falg = true
if (!falg){
    println("true")
}else{
    println("false")
}

多分支结构式

var name = "a"
if (name.equals("a")){
    println("a")
}else if(name.equals("b")){
    println("b")
}else{
    println("未知")
}

小技巧

当 判断的代码块 不写 {} 时,只对最近的 一行代码 有效

// 两种结果写法一样

var falg = true
if (falg) println("true")

if (falg) {
    println("true")
}
var & = true
if (! &) println("true")
else println("false")

mark

条件判断的返回值

在 Scala 中,任何的表达式都有返回值

条件判断的返回值就是 每个代码块的最后一行的返回值

返回值类型 Any , AnyVal

返回类型最方便是不写

Any 是返回值类型是 String 和 Unit 等等

AnyVal 是返回值类型是 Int 和 Unit 等等

var msg = true
val reg: Any = if (msg){
                    "abc" // Scala 可以这样单独写个值,Java不行
                }

println(reg)

定义返回值类型

需要能确定全部返回类型

var msg = true
val reg: String = if (msg) {
            "true"
        } else {
            "false"
        } 
println(reg)

Scala 中的“三元运算符”

Scala 中没有标准的三元运算符,也没有必要有,就省略了

// Java 中的三元运算符
String num = if (13 == 12) ? "0" : "1"

// Scala 中模拟的三元运算符

var num = if (13 == 12 ) "0" else "1"
发表评论 / Comment

用心评论~