禅与计算机程序设计艺术Kotlin精讲-黑马程序员(原创)Kotlin编程

kotlin精讲-第5章(1)区间介绍&表示

2017-12-06  本文已影响178人  739c8d412b4c

区间介绍

区间又叫Range,在数学里,区间通常是指一类实数集合,分为开区间、闭区间、半开半闭区间。

开区间指的是区间边界的两个值不包括在内,比如(a,b);闭区间指的是区间边界的两个值包括在内,[a,b] ;半开半闭区间指的是开区间一边的边界值不包括在内,而闭区间一边的边界值包括在内,[a,b)、(a,b]。[a,b)被称作左闭右开区间,(a,b]被称作左开右闭区间。

在Kotlin里面,对区间表示提供了方便的支持。

在Kotlin里面,区间表示相关的类有IntRange、LongRange、CharRange,相关的接口有ClosedRange。这三个类都实现了ClosedRange接口,参考截图:

区间表示

kotlin闭区间和左闭右开的表示

区间虽然分为开区间、闭区间、左开右闭区间、左闭右开。但是Kotlin里面只支持“闭区间”和和“左闭右开”区间的表示。因为其实任何区间都可以转换为“闭区间”表示和“左闭右开”表示:

区间 案例 闭区间表示 左闭右开表示
开区间 (1,10) [2,9] [2,10)
闭区间 [1,10] [1,10] [1,11)
左开右闭 (1,10] [2,10] [2,11)
左闭右开 [1,10) [1,9] [1,11)

Kotlin怎么支持闭区间表示呢? 可以通过IntRange、LongRange、CharRange三个类的构造方法直接构造,IntRange、LongRange、CharRange三个类的构造方法如下:

也可以通过rangeTo方法生成,rangeTo的方法定义如下:

当然,rangeTo方法可以被“..操作符”替代,后面我们讲了运算符重载你就会理解,现在可以先记住,下面两种形式是等价的:

Kotlin怎么支持闭区间表示呢? 通过拓展方法until参考截图:

通过截图,我们看到了很多的拓展方法,我们摘取其中一个方法的具体定义给大家看看:

区间表示案例

kotlin表示“开区间(1,10)”可以有如下4种方式,参考代码:

kotlin表示“闭区间[1,10]”可以有如下方式,参考代码:

kotlin表示“左开右闭(1,10]”可以有如下方式,参考代码:

kotlin表示“左开右闭(1,10]”可以有如下方式,参考代码:

上一篇 下一篇

猜你喜欢

热点阅读