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

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("您输入的内容中包含了特殊字符")
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [{"reportDate": "2018-01-23 23:28:49","fluctuateCause": n...
    加勒比海带_4bbc阅读 787评论 1 2
  • 曾经有一份美好的爱情放在我的面前我没有珍惜。等到失去后才后悔莫及。如果可以再对小李说。毛欣想说。这辈子无缘再牵手。...
    毛欣与小李阅读 2,736评论 0 13
  • 八月二十七日,晨练回来走进早市,在卖鱼的摊位前忽然停下脚步,目光被吸引住了,在渔民装鱼的盆子里,有一只乳白色的蛙,...
    五月云起阅读 597评论 0 2
  • 晚秋天,一霎微雨洒庭轩。槛菊萧疏,井梧零乱,惹残烟。凄然,望江关,飞云黯淡夕阳闲。当时宋玉悲感,向此临水与登山。远...
    o十一二阅读 2,446评论 1 2
  • 此篇文章是在51edu.com上copy过来的,本来想注明作者的,但是没找到作者…… Query提供了多种绑定事件...
    java粑粑阅读 6,085评论 1 2