kotlin入门(4)-区间

Kotlin入门(1)-环境配置
kotlin入门(2)-基本类型
kotlin入门(3)-数组

区间从数学意义上定义了一个封闭的间隔:它由两个端点值定义,这两个端点值都包含在该区间内。 区间是为可比较类型定义的:具有顺序,可以定义任意实例是否在两个给定实例之间的区间内。 区间的主要操作是 contains,通常以 in 与 !in 操作符的形式使用。

整型区间(IntRange、 LongRange、 CharRange)有一个额外的特性:它们可以迭代。

声明区间

1、 …表示闭区间[]

1
2
3
4
5
6
    var intRange=1..5
    println(intRange.joinToString())


    var charRange='a'..'z'
    println(charRange.joinToString())

打印结果:
image.png

2、左闭右开[)

1
2
3
4
   var intRange=1 until  5
    var charRange='a' until 'z'
    println(intRange.joinToString())
    println(charRange.joinToString())

3、倒序区间[]

1
2
3
4
 var intRange=5 downTo   1
    var charRange='z' downTo  'a'
    println(intRange.joinToString())
    println(charRange.joinToString())

4、步长
可以通过任意步长(不一定为 1 )迭代数字,可以用关键词step ,例如:

1
2
    var intRange=5 downTo 1 step  2
    println(intRange.joinToString())

输出日志:

实用函数

1
2
3
4
rangeTo  //升序区间
downTo()  //降序区间
reversed()  //翻转区间
step()  //步长

例如:

1
2
3
4
    var a=1.rangeTo(10)
    var b=10.downTo(1)
    var c=b.reversed()
    var d=a.step(2)

区间的迭代或包含

1、迭代

1
2
3
    for ( i  in 1..10 ){
        println(i)
    }

2、包含判断

1
2
3
  if (3 in  1..10){
           
        }

3、for循环
先来看Java的for循环

1
2
for(int i=0; i<array.size();i++){
}

kotlin实现方式:

1
2
3
  for (i in 0 until array.size){
        println(i)
    }

until表示左闭右开的