包
包的概念基本與Java差不多,都表示命名空間欢伏,需要放在非注釋代碼的第一行入挣。
但是可以用as語句寫別名
package chapter2.qq
fun main(args: Array<String>) {
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<String>) {
val qqShaoXia: MoShaoXia = MoShaoXia()
val wxShaoXia: ShaoKaoXianRen = ShaoKaoXianRen()
}
區(qū)間
這個(gè)概念在Java中是沒有的,“..”運(yùn)算符表示一段閉區(qū)間
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<String>) {
println(emptyRange.isEmpty()) // true
println(range.contains(50)) // true ①
println(50 in range) //true ②
//遍歷打印
for (i in range){
println(i)
}
}
image
數(shù)組
基本寫法
java
String[] array = new String[]{};
Kotlin
val array:Array<String> = arrayOf(...)
基本操作
與Java基本一樣
- prin(array[i]) 輸出第i個(gè)成員
- array[i] = "Hello"給第i個(gè)成員賦值
- array.length 數(shù)組的長度
//為了避免不必要的裝箱和拆箱硝拧,基本類型的數(shù)組是定制的
val arrayOfInt: IntArray = intArrayOf(9,5,2,7)
val arrayOfChar: CharArray = charArrayOf('m','s','x')
//非基本類型的數(shù)組
val arrayOfString: Array<String> = arrayOf("mo","shao","xia")
val arrayOfMoShaoXia: Array<MoShaoXia> = arrayOf(MoShaoXia(3), MoShaoXia(18), MoShaoXia(26))
fun main(args: Array<String>) {
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
//將字符數(shù)組拼接成String
println(arrayOfChar.joinToString(""))//msx
//默認(rèn)是用"径筏,"拼接起來
println(arrayOfChar.joinToString())//m, s, x
//1..2 依然是閉區(qū)間
println(arrayOfInt.slice(1..2))//[5, 2]
}
image