从零开始学Kotlin-控制语句(4)

从零开始学Kotlin基础篇系列文章

条件控制-if

        var a=10
        var b=20
        if(a>b) print(a)
        if(a>b){
            print(a)
        }else{
            print(b)
        }
        val max = if( a > b) a else b
        if ( a in 1..10){
            print("a在1到10区间内")
        }

条件控制-when

        val x = 3
        when (x) {
            1 -> print("x 是1")
            2 -> print("x 是2")
            else -> print("x 不是1也不是2")
        }
        when (x) {
            1, 2 -> print("x 是1或者2")
            else -> print("x 不是1也不是2")
        }
        when (x) {
            in 1..5 -> print("x 在1-5中")
            !in 5..10 -> print("x不在5-10中")
            else -> print("x 不是1也不是2")
        }

循环控制-for

        val ints = arrayOf(1, 2, 3, 4, 5)
        for (num: Int in ints) {//循环遍历数值
            print((num))
        }
        for (index in ints.indices) {//循环遍历索引和值
            print("$index 位置的数是 ${ints[index]}")
        }

循环控制-while/do...while

        var a = 10
        while (a < 10) {
            print("a < 10")
            a++
        }
        do {
            print("先输出一下再去判断")
            a++
        } while (a < 10)

跳转表达式 return、break、continue

  • 常规用法

    for (i in 1..10) {
        if (i == 3) continue//i==3时跳出该循环执行下一轮循环
            print(i)
        if (i > 5) break//i>5时跳出循环或者说终止循环
        if (i == 8) return //i==8时终止循环以及终止以下步骤
     }
  • 在 Kotlin 中任何表达式都可以用标签(label)来标记。 标签的格式为标识符后跟 @ 符号,例如:[email protected]、[email protected]等
    [email protected] for (i in 1..10){
    }
  • 标签结合break和continue使用
        [email protected] for (i in 1..100) {
            [email protected] for (j in 1..100) {
                if (i == j) [email protected]
                if (i % j == 0) [email protected]
            }
        }
  • 标签结合return使用
    fun test5() {
        var ints = arrayOf(0, 1, 2, 3, 4, 5)
        /**
         * 这种return其实是直接return了test5()这个方法
         */
        ints.forEach {
            if (it == 0) return
            print(it)
        }
        /**
         * 如果想只return到当前循环,则需要结合标签使用
         */
        ints.forEach [email protected] {
            if (it == 0) [email protected]
            print(it)
        }
    }

    从零开始学Kotlin基础篇系列文章

原文地址:https://www.cnblogs.com/shen-hua/p/8290381.html

时间: 2024-08-02 02:19:24

从零开始学Kotlin-控制语句(4)的相关文章

从零开始学Kotlin第七课

1.强制类型转换需要在后面加两个感叹号 2.如果需要在java代码调用kotlin的方法时候使用文件名+kt.方法 3.object 类名 是创建匿名内部类的写法 调用 传入class对象 4.在toklin中所有的class都是kclass 5.如果调用字段起冲突使用两个反引号''包裹进去 6.如果有基本数据类型和包装类型会认为是同一个,没有包装类型一说,如何调用包装类型反射可以. 7.传入字符串如果自己不确定是否为空,可让代码为空安全,第三种 8.@JvmStatic可以让方法称为publi

从零开始学Kotlin-操作符(3)

从零开始学Kotlin基础篇系列文章 冒号操作符 ":" 和 "::" :操作符用来定义变量.类的继承等 var name: String//定义变量 class MainActivity : AppCompatActivity()//继承类 ::可以用来得到类的Class对象 startActivity(Intent([email protected], SecondActivity::class.java))//得到SecondActivity对象 比较符&qu

《PHP 5.5从零开始学(视频教学版)》内容简介、目录

<PHP 5.5从零开始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零开始学(视频教学版)>源代码.教学视频下载地址: http://pan.baidu.com/s/1zt9hW 内 容 简 介 本书循序渐进地介绍了PHP 5.5开发动态网站的主要知识和技能,提供了大量的PHP应用实例供读者实践.每一章节都清晰讲述了代码作用及其编写思路,使读者能在最短时间内迅速掌握PHP的应用开发技能.

关东升的《从零开始学Swift》3月9日已经上架

大家一直期盼的<从零开始学Swift>于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发.全书共分5 部分,包括Swift语法篇.Cocoa Touch框架编程篇.混合编程篇.进阶篇和项目实战篇,囊括了开发工具介绍.语言基础知识,直至应用在App Store上线的所有内容.此外,本书前20 章专门配有同步练习,以帮助读者掌握所学知识.本书更加适合Swift开发者.大家可以看一下. http://it

关东升的《从零开始学Swift》 即将出版

大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版<从零开始学Swift> <从零开始学Swift>将在<Swift开发指南>第1版的基础上添加Swift2.0的内容,同时摒弃第1版的一些不合理的内容,使得本书更加适合Swift开发者.我将连续发一些<从零开始学Swift>的学习笔记,有兴趣者,可以看一下. 附<从零开始学Swift> 此书目录: 第1章 准备起航1.1 本书约定1

从零开始学大数据-Java基础-switch语句(6)

我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop.Spark.Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习. 上一节学习了流程控制语句,本节学习switch语句. 开始之前,我们先看一下上节的练习题. 一.练习题 if语句格式的练习: 1.获取两个数据中较大的值 2.判断一个数据是奇数还是偶数,并输出 程序执行结果如下: 二.switch语句 流程控制语句的选择结构 1 选择结构(也被称为分支结构)

从零开始学android&lt;android事件的处理方式.二十四.&gt;

在android中一共有 多种事件,每种事件都有自己相对应的处理机制 如以下几种 1 单击事件 View.OnClickListener public abstract void onClick (View v) 单击组件时触发 2 单击事件 View.OnLongClickListener public abstract boolean onLongClick (View v) 长按组件时触发 3 键盘事件 View.OnKeyListener public abstract boolean

IC卡解密从零开始学1 (也许会有2) 解密工具V2 V3大放送 By:lookyour

前段时间发了一个破解的PN532工具,详见 ===========================IC卡解密工具 PN532工具XP 爆破版http://www.52pojie.cn/thread-597896-1-1.html IC卡解密从零开始学2  解密工具PN532-mfoc-mfcuk-GUIhttp://www.52pojie.cn/thread-604402-1-1.html =========================有很多人私信和回复希望有个详细点的介绍... 好吧,本着

从零开始学android&lt;RatingBar评分组件.二十三.&gt;

如果现在用户要对某个应用程序打分往往会使用图所示的组件,通过选择的"五角星"的个数来决定最终的打分成绩 这样的功能在Android之中,可以使用RatingBar组件实现,使用此组件可以方便用户的输入,而且很直观,RatingBar类的定义结构如下: java.lang.Object ? android.view.View ? android.widget.ProgressBar ? android.widget.AbsSeekBar ? android.widget.RatingBa