文章目錄
- 前言
- in 介紹
- in 使用
- 總結(jié)
前言
for(i in 0..100)钢属,在 前面的 for 循環(huán)文章中我們有提到過(guò) in放祟。除了在 for 循環(huán)中用到它叔收,還有哪些地方會(huì)用到呢尝江,又是怎么用的呢啸驯,下面就主要來(lái)介紹下它
in 介紹
- in 中文意思就是在...之內(nèi)客扎,它是一個(gè)運(yùn)算符。(在 kotlin 的語(yǔ)法中罚斗,也是非常符合它的語(yǔ)意的徙鱼,和區(qū)間組合在一起,主要表示在..區(qū)間针姿。'c' in 'a'..'z',它是區(qū)間表達(dá)式袱吆,是一個(gè)判斷的語(yǔ)句,輸出的是一個(gè) boolean距淫。意思是 c 字符是否在字符 a 到 字符 b 的區(qū)間內(nèi))
- 再舉例子 1 in 0.. 100, 表示 1是不是0到100區(qū)間绞绒,放到輸出語(yǔ)句中,很顯然會(huì)輸出true
- 榕暇!in 表示不在..區(qū)間处铛。也是運(yùn)算符饲趋,正好和 in 相反。(也容易理解撤蟆!表示取反)
可以直接復(fù)制下面代碼奕塑,驗(yàn)證一下
fun main(args: Array<String>){
println('c' in 'a'..'d');
println(1 in 0..100)
}
in 使用
- 用于檢查字符區(qū)間成員
- 用于檢查對(duì)象(這個(gè)實(shí)例對(duì)象的類(lèi)必須實(shí)現(xiàn)了 java.lang.Comparable),比如字符串家肯,因?yàn)镾tring 實(shí)現(xiàn)了 Comparable
- 用于檢查集合
1龄砰、檢查字符區(qū)間
fun isLetter(c: Char) = c in 'a'..'z'
fun isNotDigit(c: Char) = c !in '0'..'9' //不在這個(gè)0到9區(qū)間
fun main(args: Array<String>) {
println(isLetter('c'))
println(isNotDigit('c'))
}
2、可以使用 when 來(lái)寫(xiě)讨衣,檢查字符區(qū)間
fun recognize(c: Char) = when(c){
in '0'..'9' -> "It is a digit!"
in 'a'..'z', in 'A'..'Z' -> "It's a letter!"
else -> "I don't know..."
}
fun main(args: Array<String>) {
println(recognize('d'))
}
3换棚、檢查字符串區(qū)間
fun main(args: Array<String>) {
println('a'<'c') //比較大小,可以忽略不看
println("kotlin" in "java".."scala") // 是否在"java"和"scala"字符串區(qū)間 ,相當(dāng)于"java"<="kotlin"&& "kotlin" <= "scala"
}
4反镇,檢查集合
fun main(args: Array<String>) {
println("kotlin" in setOf<String>("java","scala")) //kotlin 是否在集合中
}
總結(jié)
- i in a..b 表示 i 是否在 a 到 b 區(qū)間
- in 可以檢查字符區(qū)間固蚤,對(duì)象區(qū)間(實(shí)例對(duì)象的類(lèi)必須實(shí)現(xiàn)Comparable),集合
如果對(duì)你有一點(diǎn)點(diǎn)幫助歹茶,那是值得高興的事情夕玩。:)
我的csdn:http://blog.csdn.net/shenshizhong
我的簡(jiǎn)書(shū):http://www.reibang.com/u/345daf0211ad