Kotlin入门(4)---逻辑流程

作者: 奔跑的佩恩 | 来源:发表于2018-05-21 15:25 被阅读23次

    前言

    上节讲到kotlin的字符串操作,这节讲讲kotlin的逻辑流程控制。

    今天涉及内容

    1. if-else 条件控制
    2. Loop(循环)和Range(区间)
    3. when表达式

    一. if-else 条件控制

            //颜值判断器:颜值>80为帅哥,<=80为衰哥
            checkFace(90)
            checkFace(65)
            //返回两个数中较大的数
            var number1=127
            var number2=90
            var bigNum=getBigNumber(number1,number2)
            printLog("${number1}和${number2}两个数中较大的数为:${bigNum}")
    
        fun checkFace(age:Int){
            if(age>80){
                printLog("这是一个帅哥")
            }else{
                printLog("这是一个衰哥")
            }
        }
    
        fun getBigNumber(a:Int,b:Int):Int{
            if(a>b){
                return a
            }else{
                return b
            }
        }
    

    二. Loop(循环)和Range(区间)

    场景:计算一个1+2+3+4...+100的和

            //声明一个1,2,3,一直到100的数组
            var nums=1..100 //这就是区间表示
            var result=0
            //循环打印数组
            for(num in nums){ //这就是循环
                result=result+num
                printLog("打印数组中的数字:"+num)
            }
            printLog("求和结果为:"+result)
    

    ".."表示闭区间,1..100表示从一到十,即[1,100]
    until 表示前闭后开区间,1 until 10表示从一到九,即[1,10)
    示例:

            var numb=1 until 10
            for(i in numb){
                printLog(""+i)
            }
    

    步长“step”的使用

            var nums2=1..16
            for(i in nums2 step 2){
                //打印1,3,5,7,9,11,13,15
                printLog(""+i)
            }
    

    反转reversed(),即倒序的意思

            var numbs3=nums2.reversed()
            for(i in numbs3){
                //打印16,15,14,....1
                printLog(""+i)
            }
    

    打印数组长度count

    printLog("numbs3数组长度为:"+numbs3.count())
    

    三. when表达式

    实现场景:10分满分,9干的不错,8还可以,7还需努力,6刚好及格,其他(需要加油啦)

        gradeStudent(8)
    
        fun gradeStudent(score:Int){
            when(score){
                10->printLog("考了满分,棒棒的")
                9->printLog("干得不错")
                8->printLog("还可以")
                7->printLog("还需努力")
                6->printLog("刚好及格")
                else->printLog("需要加油哦")
            }
        }
    

    注:kotlin的when表达式与java中的switch-case表达式有异曲同工之处,它甚至比switch-case更加方便更强大
    以下为将 diary() 中的数字替换成汉字

            var diaryText=numToChinese("大雄宝殿")
            printLog(diaryText)
    
            fun numToChinese(placeName: String): String {
            var result = when (placeName.length) {
                1 -> "一"
                2 -> "二"
                3 -> "三"
                4 -> "四"
                5 -> "五"
                else -> "几"
            }
            var temple = "今天天气晴朗,万里无云,我们去${placeName}游玩,首先印入眼帘的是,${placeName}${result}个镏金大字"
            return temple
        }
    

    ok,今天关于逻辑流程语句就简单的讲到这里咯

    相关文章

      网友评论

        本文标题:Kotlin入门(4)---逻辑流程

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