Kotlin中的数据类型
Boolean数据类型:多数情况下都是Java中的基本类型boolean,只有在必要情况下才会装箱成装箱类型的Boolean。至于选择什么类型都由编译器来决定,通常不用我们担心。
var falseBoolean:Boolean=false
var trueBoolean:Boolean=true
Number类型
至于选择基本类型还是装箱类型都由编译器来决定,通常不用我们担心。
分类 类型 位宽
浮点型 Double 64
Float 32
整型 Long 64
Int 32
Short 16
字节 Byte 8
//整型
var anInt:Int=666 //十进制
var anotherInt:Int=0xFF //十六进制
var moreInt:Int=0b000000011 //二进制
var maxInt:Int= Int.MAX_VALUE //最大值 Math.pow(2.0,31.0)-1
var minInt:Int= Int.MIN_VALUE //最小值 -Math.pow(2.0,31.0)-1
//长整型
var anLong:Long=4654654564566546645
var anotherLong:Long=123
var maxLong:Long=Long.MAX_VALUE //最大值 Math.pow(2.0,63.0)-1
var minLong:Long=Long.MIN_VALUE //最小值 -Math.pow(2.0,63.0)
//短整型
var anShort:Short=54
var maxShort:Short= Short.MAX_VALUE //最大值
var minShort:Short= Short.MIN_VALUE //最小值
//单精度浮点类型
var anFloat:Float=666.0F
var anotherFloat:Float=1E3F //后面必须跟上一个F
var maxFloat:Float= Float.MAX_VALUE //最大值
var mixFloat:Float= -Float.MAX_VALUE //最小值
var mnFloat:Float= Float.MIN_VALUE
//一个持有最小非零值的常量。Float不像整型类型那样精确,在使用时可能会遇到精度问题
//NaN 不是数的数
//双精度浮点类型
var anDouble:Double=3.0
var anotherDouble:Double=3.1415926
var maxDouble:Double= Double.MAX_VALUE //最大值
var minDouble:Double= -Double.MAX_VALUE //最小值
var mnDouble:Double= Double.MIN_VALUE //一个持有最小非零值的常量。
//字节类型
var byte:Byte=127 //范围-128~127
//Char类型 字符对应Java的Character
//占两个字节,表示一个16位的Unicode字符
//字符用单引号引起来,如:’a’,’0’,’\n’
var anChar:Char='0'
var bChar:Char='\u000f'
Kotlin中的转义字符
/**
* 转义字符 含义
* \t 制表符
* \b 光标后退一个字符
* \n 回车
* \r 光标回到行首
* \' 单引号
* \" 双引号
* \\ 反斜杠
* \$ 美元符号,Kotlin支持美元符号开头的字符串模板
* */
Kotlin中的基本数据类型转换
/**
* 在Java中将一个整型的数值转换为长整型是没有任何问题的,
* 而在Kotlin中不可以隐式转换
* */
//Kotlin中Int类型转Long类型
val newInt:Int=10
val newLong:Long=newInt.toLong()
字符串
val aString:String="sixsixsix" //不可以为null的字符串
val bString:String?=null //在String后面加一个问号就表示该字符串可以为null
val cString:String=String(charArrayOf('s','i','x','s','i','x','s','i','x'))
//原始字符串
val dString:String="""
\t
\n
asdfasf
"""
/*
输出结果 I/System.out: \t
\n
asdfasf
**原始字符串中也可以使用字符串模板**
*/
字符串的比较
println(aString==cString)//结果为true,Kotlin中的==与Java中equals()等价的
println(aString===cString)//结果为false,Kotlin中的===与Java中==等价的
字符串的拼接
var name:String="张三"
var sex:String="男"
var age:Int=20
//Java中的字符串的拼接
println("我叫"+name+",性别"+sex+",今年"+(age+age1)+"岁")
//Kotlin中的字符串的拼接
println("我叫$name,性别$sex,今年${age+age1}岁")