1.可变变量
var表示,有set() get()方法
var name:String ="tina"
1.可变类型 变量名:变量类型=“赋值”
var name: String
set(value) {
//可以做保存数据的操作
}
get() {
//从缓存中拿到数据
return ""
}
2.var自带set和get方法,如果需要对数据有操作,可以重写一下,
没有特殊操作的话直接用就行,
当时重写get方法的话,就不要给变量赋初始值了
2.不可变变量
val表示,只有get()方法,没有set()方法。
val name:String ="tina"
不可变类型 变量名:变量类型=“赋值”
问:不可变就一定变不了吗?
答:不是,可以重写get()方法,但是不推荐
3.编译常量
const val表示,只能写在方法外
const val test = "ccc"
fun main() {
System.out.println(test)
}
4.类型推断
val name:String ="tina"
val time="12:20"
不用声明类型,它会根据赋值,自己推断变量是何种类型
5.内置数据类型(引用类型)
String 字符串
Char 单字符
Boolean
Int
Double
List
Set
Map
6.数据类型转化
val numberNull: Int? = "6.77".toIntOrNull()//数据类型的安全转换函数
val number: Int? = "6".toIntOrNull()//数据类型的安全转换函数
val number2: Int? = 6.77.toInt()//数据类型转换
val number5: Int? = 6.33.toInt()//数据类型转换
val number3: Int? = 6.57.roundToInt()//四舍五入
val number4: Int? = 6.43.roundToInt()//四舍五入
System.out.println("numberNull=$numberNull")
System.out.println("number=$number")
System.out.println("number2=$number2")
System.out.println("number5=$number5")
System.out.println("number3=$number3")
System.out.println("number4=$number4")
结果:
numberNull=null
number=6
number2=6
number5=6
number3=7
number4=6