Kotlin中的数据类型

时间:2022-11-10 17:26:35

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}岁")