Kotlin引用比較和區間range

package com.init.demo.demo1

import java.io.File

fun main(args: Array<String>) {
    //引用比較和結構比較
    //檢查兩個引用是否引用相等,用===和!==操作符


    comepareToCharecter()
    //區間 用“..”操作符表示,包含起始和邊界的值
    //用法: 起始值..結束值,數學中提到的全閉區間
    range1()
    range2()
    //Long Int Char同時擁有循環的能力
    //這兩個操作符,會被沒各類中都定義的equals

}

fun comepareToCharecter(){
    var fil = File("user/bin/ruby")
    var fi2 = File("user/bin/ruby")
    var sameFlie  = (fil=== fi2)
    print(sameFlie) //輸出false,因爲是 兩個完全不相同的file對象實力
    println()
    sameFlie  = (fil== fi2)
    //檢查兩個結構是否相等,可以用用==和!=操作符
    print(sameFlie)
    println() //輸出true
}

fun range1() {
    val a到z = "a".."z"
    println(a到z)
    val A到Z = "A".."Z"
    println(A到Z)
    //區間創建好,可以用in關鍵字來判斷某個元素是否在其中
    val dIntoOther = "d" in a到z
    println(dIntoOther)
    val DIntoOther = "D" in A到Z
    println(DIntoOther)

}
fun range2() {
    val  一到一百 = 1 ..100
    println(一到一百)
    //變量命名不能以數字開頭,可以純中文
    val  l38InOther = 38 in 一到一百
    println(l38InOther)
    //可以使用downTo函數創建一個倒序閉區間
    var 倒序 = 10.downTo(0)
    println(倒序)
    var 升序序 = 100.rangeTo(200)
    println(升序序)
    //區間創建後,可以生成一個新區間
    val 一到一百的奇數 = 一到一百.step(2)
    println(一到一百的奇數.last)
    //使用step函數更該區間中的每一個單項前進的幅度
    for (i in 一到一百的奇數){
        print(i)
        if (i==99){
            break
        }
        print(",")
    }
    print("\n")
    //不能用複數創建一個遞減的區間
    val 倒數的奇數 = 一到一百.step(2).reversed()
    println("倒序排列:")
    //用reversed函數進行反轉,及倒序排列的區間
    for (i in 倒數的奇數){
        print(i)
        if (i==1){
            break
        }
        print(",")
    }
}
輸出:
false
true
a..z
A..Z
true
true
1..100
true
10 downTo 0 step 1
100..200
99
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99
倒序排列:
99,97,95,93,91,89,87,85,83,81,79,77,75,73,71,69,67,65,63,61,59,57,55,53,51,49,47,45,43,41,39,37,35,33,31,29,27,25,23,21,19,17,15,13,11,9,7,5,3,1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章