android kotlin学习之路 kotlin中的分支判断与循环判断(1)

 博客里面写的也只是一些个人总结,哪里总结错了 还请留言纠正 (切莫误人子弟) 

if判断 (无太大差别)

 var isOdd = true
        btnIf.setOnClickListener {
            if (isOdd) {
                btnIf.text = "${isOdd}"
            } else {
                btnIf.text = "${isOdd}"
            }
            isOdd = !isOdd


            //简化版1.0
            btnIf.text = if (isOdd) {
                "${isOdd}"
            } else {
                "${isOdd}"
            }

            //简化版2.0
            btnIf.text = if (isOdd) "${isOdd}" else {
                "${isOdd}"
            }
        }

 代替switch判断when

 1.when代替swtich

 2.-> 操作符代替case

 3.else代替default

 4.代码多行操作,使用花括号括起来,并换行

 5. java中switch与kotlin中when的区别   case只能定义常亮,定义变量会报错,而kotlin中的可以定义变量,如下面代码

 var content = 0
        var one = 1;
        var two = 2;
        var three = 3;
        var four = 4;
        var five = 5;
        //点击第一下 走到else里面  第二下 four赋值给content content为4 按钮字体为one 第三下走到five 字体设置为five
        btnIf2.setOnClickListener {
            when (content) {
                one -> {
                    content = four
                    btnIf2.text = "one"
                }
                two -> btnIf2.text = "two"
                three -> btnIf2.text = "three"
                four -> btnIf2.text = "four"
                five -> btnIf2.text = "five"
                else -> btnIf2.text = "最多增加四下"
            }
            content++
        }

 is 替代instanceof   可使用when来进行多层判断代码如下

 

      
        var contoneIs = 2
        var contentType: Any = 0;
        btnIf3.setOnClickListener {
            contoneIs++
            contentType = when (contoneIs) {
                1 -> contoneIs.toInt()
                2 -> contoneIs.toDouble()
                3 -> contoneIs.toFloat()
                else -> contoneIs.toString()
            }
            btnIf3.text = when (contentType) {
                is Int -> "int"
                is Double -> "double"
                is Float -> "float"
                4 -> "数字4"
                else -> "error"
            }
        }

项目忙,比较困,还tm懒得学,更新慢

你可能感兴趣的:(kt)