一.基本数据类型
1.变量声明
基本数据类型有:Int,Long,Float,Double,Boolean,Char,String
var number1 : Int = 3
val number2 : Int = 5
val初始化一次后不允许初始化,相当于final,var固定语法格式,没有特殊功能
2.数据类型转化
toInt,toLong,toDouble, toChar,toString
var number : Int = 3
val floatNumber = number.toFloat();
val charNumber = number.toLong();
3.数组
数组类型有IntArray,LongArray,DoubleArray,BooleanArray,CharArray,生成数组的方法有intArrayOf,longArrayOf,doubleArrayOf,booleanArrayOf,charArrayOf
var numberArray: IntArray = intArrayOf(1, 2, 3, 4)
但是不存在StringArray,因为它是特殊的基本类型,需要通过另一种方式生成
var stringArray:Array<String> = arrayOf("hello","welcom","world")
这样其它基本类型,也可以通过这样的方式生成
var charArray:Array<Char> = arrayOf('a','b','c')
数组的长度通过size获取,具体获取某个位置的数据,可以通过后缀[]获取,也可以通过get方法获取
var charArray:Array<Char> = arrayOf('a','b','c')
System.out.println(charArray.size)
System.out.println(charArray[0])
System.out.println(charArray.get(0))
4.字符串
转化为基本类型方法是toInt,toLong,toDouble,toBoolean,toCharArray,其大部分方法和java都兼容,有少部分区别有,
调用split方法生成都是List集合,而不是数组
var phone: String = "18165777965"
val split = phone.split("7");
获取具体位置元素,可通过后缀[]和get方法
var phone: String = "18165777965"
System.out.println(phone[2])
System.out.println(phone.get(3))
字符串格式方法是通过$来实现
var phone: String = "18165777965"
var result: String = "电话号码是$phone"
var length: String = "电话号码长度是${phone.length}"
$是特殊符号,如果要转义,使用“${'***'}来转义里面的特殊元素
var length: String = "电话号码长度是是${'$'}${phone.length}"
如果只对一个特殊元素转义,可用
var length: String = "电话号码长度是是\$${phone.length}"
二.容器的基本操作
Kotlin独有的容器有:Set,MutableSet,List,MutableList,Map,MutableMap,其中Mutable的容器是可变容器
val flowers: List<String> = listOf("玫瑰", "月季", "百合")
var numbers: MutableSet<Int> = mutableSetOf(1, 5, 4, 8)
集合一般有for-in,迭代器,forEach三种迭代方式,其中List多了一种角标迭代方式
val flowers: MutableList<String> = mutableListOf("玫瑰", "月季", "百合")
//for-in
for (flower in flowers) {
System.out.println(flower)
}
//迭代器
val iterator = flowers.iterator();
while (iterator.hasNext()) {
val flower = iterator.next();
System.out.println(flower)
}
//forEach
flowers.forEach{
System.out.println(it)
}
//角标
for (i in flowers.indices) {
val flower = flowers[i]
System.out.println(flower)
}
创建Map有两种方式,如下
val map1: MutableMap<String, String> =
mutableMapOf("one" to "1", "two" to "2", "three" to "3", "four" to "4")
var map2: MutableMap<String, String> =
mutableMapOf(Pair("one", "1"), Pair("two", "2"), Pair("three", "3"), Pair("four", "4"))
遍历方式有三种,如下
val map1: MutableMap<String, String> =
mutableMapOf("one" to "1", "two" to "2", "three" to "3", "four" to "4")
for (item in map1) {
System.out.println("item.key = ${item.key} item.value = ${item.value}")
}
val iterator = map1.iterator();
while (iterator.hasNext()) {
val item = iterator.next();
System.out.println("item.key = ${item.key} item.value = ${item.value}")
}
map1.forEach {
System.out.println("item.key = ${it.key} item.value = ${it.value}")
}