Kotlin学习(七) --控制语句

控制语句

马上要回学校了,就还是把之前学的总结一下,害怕自己忘了

1.if语句

这个和java的if语句一样的用法,但是还是有点区别的

fun main(args: Array<String>) {
    val s = "笑笑"
    if(s.equals("笑笑")){
        println("笑笑")
    }else{
        println("不是笑笑")
    }
}

输出结果:笑笑

1.1.特殊用法 当作一个表达式

格式:var B:Int = if(变量A > 数值1) 数值2 else 数值3
如果变量A大于数值1 等于数值2 反之等于数值3

fun main(args: Array<String>) {
    var a = 3
    var b = if(a > 2)4 else 5
    println("b = ${b}")

}

结果: b = 4

2.for语句

这个就和java里面的变化比较大了,以前的java的for循环都是初,条,体,步这样的运行规则但在kotlin里面废除了这个,并对这个进行了很大的改进和增强 下面有很多条慢慢讲

2.1、递增

关键字:until
范围:until[n,m) => 即大于等于n,小于m

fun main(args: Array<String>) {
        for(i in 0 until 5){
        println("i = $i\t")
    }
}

输出结果:
i = 0
i = 1
i = 2
i = 3
i = 4

2.2、递减

关键字:downTo
范围:downTo[n,m] => 即小于等于n,大于等于m ,n > m

for(i in 5 downTo 0){
        println("i = $i \t")
    }

结果:
i = 5
i = 4
i = 3
i = 2
i = 1
i = 0

2.3符号(’ .. ‘) 表示递增的循环的另外一种操作

使用符号( ‘..’).
范围:..[n,m]=> 即大于等于n,小于等于m
和until的区别,一是简便性。二是范围的不同。

for(i in 0..5){
        println("i = $i")
    }

结果:
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5

2.4设置步长

关键字:step

for(i in 0..5 step 2){
        println("i = $i")
    }

结果:
i = 0
i = 2
i = 4

2.5、迭代

for循环提供一个迭代器用来遍历任何东西字符串也行,数组也行

for (i in "abcdefg"){
    print("i => $i \t")
}

结果:i => a i => b i => c i => d i => e i => f i => g

var s = arrayOf(1,2,3,4,5,6,8,9,0)
    for(i in s){
        println("i = $i")
    }

结果:
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 8
i = 9
i = 0

When控制语句

这个就厉害了,代替了java里面的switch语句,功能变的更强大了
类似于switch的语句

when(5){
    1 -> {
        println("1")
    }
    2 -> println("2")
    3 -> println("3")
    5 -> {
        println("5")
    }
    else -> {
        println("0")
    }
}

输出结果:5
switch语句里面的break 等于 kotlin里面的一个逗号

when(1){
     // 即x = 1,2,3时都输出11 , 2 , 3 -> {
        println("1")
    }
    5 -> {
        println("5")
    }
    else -> {
        println("0")
    }
}

输出结果:1

**条件可以使用任意表达式,不仅局限于常量
相当于if表达式的用法。**

var num:Int = 5
when(num > 5){
    true -> {
        println("num > 5")
    }
    false ->{
        println("num < 5")
    }
    else -> {
        println("num = 5")
    }
}

输出结果为:num < 5

检查值是否存在于集合或数组中
操作符:
(in) 在
(!in) 不在
限定:只适用于数值类型

var arrayList = arrayOf(1,2,3,4,5)
when(1){
    in arrayList.toIntArray() -> {
        println("1 存在于 arrayList数组中")
    }
    in 0 .. 10 -> println("1 属于于 0~10 中")  //..是从什么到什么的意思
    !in 5 .. 10 -> println("1 不属于 5~10 中")
    else -> {
        println("都错了 哈哈!")
    }
}

结果:1 存在于 arrayList数组中

检查值是否为指定类型的值
操作符
是(is)
不是(!is)

when("笑笑"){
    is String -> println("笑笑是一个字符串")
    else -> {
        println("笑笑不是一个字符串")
    }
}

结果:笑笑是一个字符串

总结

在控制语句方面 for 和 when变化很大,其他的有些while之类的基本和java相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值