Kotlin学习笔记十五、关于“区间Range”的补充

tech2026-03-29  5

这部分没什么太多的文字解释,因此直接上代码,通过代码在注释里面更直观的说明:

//創建一個前後都是閉合的閉區間,沒有指定步長step,所以默認步長為1 var intRange = 1..10 var charRange = 'a'..'z' var longRange = 1L..10L var floatRange = 1f..2f var doubleRange = 1.0..2.0 println("前後都是閉合的閉區間:" + "\n${intRange.joinToString()} " + "\n${charRange.joinToString()} " + "\n${longRange.joinToString()} " + "\n$floatRange\n$doubleRange") println("前後都是閉合的閉區間的joinToString()方法:${ intRange.joinToString { it.toString() } }") println("\n\n") //創建一個前後都是閉合的閉區間,指定步長step為指定的值。、 var intRangeStep = 1..12 step 1 var charRangeStep = 'a'..'z' step 2 var longRangeStep = 1L..15L step 3 //float浮點類型/double雙精度類型(小数)沒有步長的定義 println("前後都是閉合的閉區間,步長分別爲1、2、3:" + "\n${intRangeStep.joinToString()} " + "\n${charRangeStep.joinToString()} " + "\n${longRangeStep.joinToString()}") println("前後都是閉合的閉區間的joinToString()方法:${ intRangeStep.joinToString { it.toString() } }") println("\n\n") //創建一個前閉後開的區間: var openCloseIntRaange = 1 until 11 step 2 var openCloseCharRaange = 'a' until 's' step 2 var openCloseLongRaange = 1L until 21L step 2L //float浮點類型/double雙精度類型(小数)沒有前閉後開的定義 println("前閉後開的區間,步长为2:" + "\n${openCloseIntRaange.joinToString()} " + "\n${openCloseCharRaange.joinToString()} " + "\n${openCloseLongRaange.joinToString()}") println("前閉後開的區間的joinToString()方法:${ openCloseCharRaange.joinToString { it.toString() } }") println("\n\n") //上面是按照升序的方式下面我們來看看降序(倒序)區間的創建: var intRangeDescend = 10 downTo 1 step 1 var charRangeDescend = 'z' downTo 'b' step 3 var longRangeDescend = 38L downTo 1L step 5 //float浮點類型/double雙精度類型(小数)沒有降序(倒序)區間的定义 println("降序(倒序)區間的創建:" + "\n${intRangeDescend.joinToString()} " + "\n${charRangeDescend.joinToString()} " + "\n${longRangeDescend.joinToString()}") println("降序(倒序)區間的joinToString()方法:${ charRangeDescend.joinToString { it.toString() } }") // 另外,不仅区间有joinToString()方法,数组也有joinToString()方法。 // 另外,区间的迭代跟数组的迭代方式一样,都是通过for循环以及iterator迭代器实现, // 主要有以下三种方式: // for -- in方式 for (item in charRangeDescend) { println("for循环迭代区间charRangeDescend:$item") } // forEach方式 charRangeDescend.forEach { println("forEach迭代区间charRangeDescend:$it") } // iterator迭代循环方式 var iterator = charRangeDescend.iterator() while (iterator.hasNext()) { //iteratorNext.next()的next()方法内部调用的就是extChar()方法 println("迭代器迭代区间charRangeDescend--nextChar:${iterator.nextChar()}") } // 区间的包含关系:判断某个区间是否包含指定的对象,我们还是用关键字“in”来判断, // 这点跟java使用contains()方法类似的。 if('k' in charRangeDescend){ println("charRangeDescend区间包含K对象") }
最新回复(0)