美文网首页
Kotlin练习----when分支结构练习

Kotlin练习----when分支结构练习

作者: 学_b461 | 来源:发表于2018-12-15 15:36 被阅读0次

when分支练习

when表达式

when(expression){
expression1 ->  statements...
expression2 -> statements...
else -> statements...
}
  • 例子1
fun main(args: Array<String>) {
    var score = 'B'
    when (score) {
        'A' -> println("优秀")
        'B' -> println("良好")
        'C' -> println("中")
        'D' -> println("及格")
        else -> println("不及格")
    }
}
  • 例子2
fun main(args: Array<String>) {
    var score = 'c'
    when (score) {
        'A', 'a' -> println("优秀")
        'B', 'b' -> println("良好")
        'C', 'c' -> println("中")
        'D', 'd' -> println("及格")
        else -> {
            println("不及格")
        }
    }
}
  • 例子3
fun main(args: Array<String>) {
    var score = 'A'
    var str = "EFGH"
    when (score) {
        str[0]-4,str[1]-4 -> println("优秀")
        str[2]-4,str[3]-4  -> println("中")
        else -> {
            println("不及格")
        }
    }
}
  • 例子4
fun main(args: Array<String>) {
    var date = Date()
    when (date) {
        Date() -> println("优秀") 
        else -> {
            println("不及格")
        }
    }
}
  • 例子5
fun main(args: Array<String>) {
    var score = 'B'
    var  str = when (score) {
        'A' -> "优秀"
        'B' -> "良好"
        'C' -> "中"
        'D' -> "及格"
        else -> "不格"
    }
    println(str)
}
  • 例子6
fun main(args: Array<String>) {
    var score = Random().nextInt(100)
    var str = when (score) {
        in 90..100 -> "优秀"
        in 80..90 -> "良好"
        in 70..80 -> "中"
        in 60..70 -> "及格"
        else -> "不及格"
    }
    println("${score} = ${str}")
}
  • 例子7
fun main(args: Array<String>) {
    var inputPrice = "09"
    println(realPrice(inputPrice))
}
fun realPrice(inputPrice:Any)=when(inputPrice){
    is String -> inputPrice.toDouble()//如果inputPrice类型为String,返回该字符的Double值
    is Int -> inputPrice.toDouble()//如果inputPrice类型为Int,返回该字符的Double值
    is  Double -> inputPrice
    else -> 0.0
}
  • 例子8
fun main(args: Array<String>) {
    println("请输入内容")
    val string = readLine()//读取控制台的一行输入 类型: String?
    if(string!=null){
        when{
            //每个分支条件都需要是布尔表达式
            string.matches(Regex("\\d+")) -> println("您输入的全是数字")
            string.matches(Regex("[a-zA-Z]+")) -> println("您输入的全是字母")
            string.matches(Regex("[a-zA-Z0-9]+")) -> println("您输入的既有数字也有字母")
            else -> println("您输入的内容中包含了特殊字符")
        }
    }
}

相关文章

网友评论

      本文标题:Kotlin练习----when分支结构练习

      本文链接:https://www.haomeiwen.com/subject/yfsahqtx.html