从Java到Kotlin学习笔记(3)-包-区间-数组

包的概念基本与Java差不多,都表示命名空间,需要放在非注释代码的第一行。
但是可以用as语句写别名

package chapter2.qq

fun main(args: Array) {
    val qqShaoXia: MoShaoXia = MoShaoXia()
    val wxShaoXia: chapter2.wx.MoShaoXia = chapter2.wx.MoShaoXia()
}

上面代码可以改为

package chapter2.qq
import chapter2.wx.MoShaoXia as ShaoKaoXianRen
fun main(args: Array) {
    val qqShaoXia: MoShaoXia = MoShaoXia()
    val wxShaoXia: ShaoKaoXianRen = ShaoKaoXianRen()
}

区间

这个概念在Java中是没有的,“..”运算符表示一段闭区间

val range: IntRange = 0..1024 //[0,1024]
val rangeExclusive: IntRange = 0 until 1024 // [0,1024) == [0,1023]
val emptyRange: IntRange = 0..-1
fun main(args: Array) {
    println(emptyRange.isEmpty()) // true
    println(range.contains(50)) // true ①
    println(50 in range) //true ②

    //遍历打印
    for (i in range){
        println(i)
    }
}
image

数组

基本写法

java

String[] array = new String[]{};

Kotlin

val array:Array = arrayOf(...)

基本操作

与Java基本一样

  • prin(array[i]) 输出第i个成员
  • array[i] = "Hello"给第i个成员赋值
  • array.length 数组的长度
//为了避免不必要的装箱和拆箱,基本类型的数组是定制的
val arrayOfInt: IntArray = intArrayOf(9,5,2,7)
val arrayOfChar: CharArray = charArrayOf('m','s','x')
//非基本类型的数组
val arrayOfString: Array = arrayOf("mo","shao","xia")
val arrayOfMoShaoXia: Array = arrayOf(MoShaoXia(3), MoShaoXia(18), MoShaoXia(26))

fun main(args: Array) {
    println(arrayOfInt.size)// 4
    for (i in arrayOfInt){ //9527
        print(i)
    }
    println(arrayOfMoShaoXia[1].age)//18
    arrayOfMoShaoXia[1].age = 20
    println(arrayOfMoShaoXia[1].age)//20
    //将字符数组拼接成String
    println(arrayOfChar.joinToString(""))//msx
    //默认是用","拼接起来
    println(arrayOfChar.joinToString())//m, s, x
    //1..2 依然是闭区间
    println(arrayOfInt.slice(1..2))//[5, 2]
}
image

你可能感兴趣的:(从Java到Kotlin学习笔记(3)-包-区间-数组)