kotlin之range范围表达式

本文详细介绍了Kotlin中Range的使用方法,包括IntRange、CharRange和LongRange等类型,通过实例展示了如何使用..和until创建不同类型的区间,并演示了如何在区间内进行遍历和元素测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    Kotlin 中的 Range 有 CharRangeLongRangeIntRange

range  范围

 CharRangeLongRangeIntRange

范围区间

    var a:IntRange= 50..100

    for (i in a){    //遍历50~100的分数分别在什么位置
        print("成绩:$i")
        if(i in 1..59){   //1~59 范围
            println(" 不及格")
        }else if(i in 60..69){  //60~69
            println(" 及格")
        }else if(i in 70..79){  //70~79 范围
            println(" 良")
        }else if(i in 80..89){  //80~89 范围
            println(" 好")
        }else if(i in 90..100){  //90~100 范围
            println(" 优")
        }else if(i !in 1..100){  //1~100 范围
            println(" 错误分数")
        }
    }
 var b:IntRange= 50 until 100

    for (i in b){    //遍历50~100的分数分别在什么位置
        print("成绩:$i")
        if(i in 1 until 60){   //1~59 范围
            println(" 不及格")
        }else if(i in 60 until 70){  //60~69
            println(" 及格")
        }else if(i in 70 until 80){  //70~79 范围
            println(" 良")
        }else if(i in 80 until 90){  //80~89 范围
            println(" 好")
        }else if(i in 90 until 100){  //90~100 范围
            println(" 优")
        }else if(i !in 1 until 100){  //1~100 范围
            println(" 错误分数")
        }
    }

对比两次结果可以看到 

 

 ..    这个符号为闭区间符号

until  这个为半封闭区间

好,我来做一个临界点的测试,看看区间

    var b:IntRange = 1..50
    val iss: Boolean = b.contains(51) // false
    val isn: Boolean = 51 in b // false
    val isc: Boolean = 50 in b // true
    val isd: Boolean = b.contains(50) // true
    println(iss)
    println(isn)
    println(isc)
    println(isd)

 我先定义了一个全封闭的区间

 拿51与50代入去测试

发现返回

 当51时,超出临界点的时候为false

当50时,刚好在临界点时为true

    var c:IntRange = 1 until 50
    val isg: Boolean = c.contains(50) // false
    val ish: Boolean = 50 in c // false
    val isj: Boolean = 49 in c // true
    val isk: Boolean = c.contains(49) // true
    println(isg)
    println(ish)
    println(isj)
    println(isk)

当定义一个1~50半封闭的区间

我代入49~50时

发现返回

 当值为50时,超出临界点  为false

当值为49时,在包含之中 为true

    CharRange,LongRange就不讲了 

    var q:CharRange = 'a'..'z'
    println(q)

    var l:LongRange = 1..10000000000
    println(l)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斗码士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值