从零开始学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)来标记。 标签的格式为标识符后跟 @ 符号,例如:name@、number@等
number@ for (i in 1..10){
}
  • 标签结合break和continue使用
        loop1@ for (i in 1..100) {
loop2@ for (j in 1..100) {
if (i == j) break@loop1
if (i % j == 0) continue@loop1
}
}
  • 标签结合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 currentLoop@ {
if (it == 0) return@currentLoop
print(it)
}
}

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

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

  1. 从零开始学Kotlin第六课

    Kotlin调用java代码: 1.如果是内部工程的类,直接调用,如果是外部的工程项目按照java的方式将jar包导入进来. 2.实例化java对象 我们之前学java的时候实例化对象是这个样子的. ...

  2. 从零开始学Kotlin第七课

    1.强制类型转换需要在后面加两个感叹号 2.如果需要在java代码调用kotlin的方法时候使用文件名+kt.方法 3.object 类名 是创建匿名内部类的写法 调用 传入class对象 4.在to ...

  3. 从零开始学Kotlin第四课

    面向对象: //妹子 性格 声音 class Girl(var chactor:String,var voice:String) fun main(args: Array<String>) ...

  4. 从零开始学Kotlin第三课

    kotlin函数和函数式表达式的简化写法: fun main(args:Array<String>) { var result=add(2,5) println(result) ///简化 ...

  5. 从零开始学Kotlin第一课

    Kotlin的方法: 一个简单的计算器: fun main(args:Array<String>){ //主函数main方法 var a=8; var b=9; println(plus( ...

  6. 从零开始学Kotlin第五课

    函数式编程入门: package EL fun main(args: Array<String>) { var names= listOf<String>("tom& ...

  7. 从零开始学Kotlin第二课

    字符串模板 fun main(args:Array<String>){ //主函数main方法 println(diaryGenerater("天安门")); } // ...

  8. 从零开始学Kotlin-泛型(8)

    从零开始学Kotlin基础篇系列文章 与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼. 泛型类的基本使用 泛型,即 "参数化类型",将类型参数 ...

  9. 从零开始学Kotlin-扩展函数(10)

    从零开始学Kotlin基础篇系列文章 什么是扩展函数 扩展函数数是指在一个类上增加一种新的行为,我们甚至没有这个类代码的访问权限: Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 ...

  10. 从零开始学Kotlin-枚举(9)

    从零开始学Kotlin基础篇系列文章 枚举的定义 一个类的对象是有限且固定的,这种实例有限且固定的类称为枚举类; 枚举常量用逗号分隔,每个枚举常量都是一个对象; enum class EnumDemo ...

随机推荐

  1. ZOJ 4100 浙江省第16届大学生程序设计竞赛 A题 Vertices in the Pocket 线段树+并查集

    正赛的时候完全没看这个题,事后winterzz告诉我他想出来的解法. 首先题意是给出n个点,m次操作. 操作有一种是连接两个点,另一种是求此时再为这个图连k条边,最少和最多能有几个联通块. 最少的求法 ...

  2. [转]C#操作INI文件

    在很多的程序中,我们都会看到有以.ini为后缀名的文件,这个文件可以很方便的对程序配置的一些信息进行设置和读取,比如说我们在做一个程序后台登陆的时候,需要自动登录或者是远程配置数据库连接,及保存密码设 ...

  3. 树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 一.家庭服务器实现的主要功能 1.流媒体播放服务:利用DLNA实现电视.手机.电脑播放其上面 ...

  4. 测试计划&性能测试分析报告模板(仅供参考)

    一.测试计划 1. 引言 1.1  编写目的 2. 参考文档 3. 测试目的 4. 测试范围 4.1  测试对象 4.2  需要测试的特性 4.3  无需测试的特性 5. 测试启动与结束准则 5.1  ...

  5. (转)CloudStack 安装及使用过程中常见问题汇总

    CloudStack 安装及使用过程中常见问题汇总             在做工程项目中对CloudStack 安装及使用过程中常见的几个问题及如何解决做一个总结.   1.Windows XP虚拟 ...

  6. 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序

    笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为 ...

  7. mssql2012的分页查询

    sql2102支持的分页查询 注意:以下都是先执行排序,再取行数据 select* from t_workers order by worker_id desc offset 3 rows   --先 ...

  8. Android设备管理器漏洞(转)

    一.漏洞描述 目前被称为“史上最强Android木马”的病毒Backdoor.AndroidOS.Obad.a利用Android设备管理器漏洞使用户无法通过正常方式卸载.其实该漏洞早在去年底已被发现. ...

  9. RESTful API设计概要

    一.简介 1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fiel ...

  10. 20155330 《网络对抗》 Exp8 Web基础

    20155330 <网络对抗> Exp8 Web基础 实验问题回答 什么是表单 表单可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁. 一个表单有三个基本组成部分 表单标签 ...