Kotlin基本类型
在Kotlin中,数据类型和Java基本相似。Kotlin提供了以下基本的类型
类型描述大小Boolean布尔类型-Byte字节类型1个字节(8Bit)Char字符类型2个字节(16Bit)Short短整型2个字节(16Bit)Int整型4个字节(32Bit)Long长整型8个字节(64Bit)Double双精度8个字节(64Bit)Float浮点类型4个字节(32Bit)Short类型
varshortVariable:Short=1println(shortVariable)//1
Short类型变量的范围是-2的15次方到2的15次方-1
varminShort:Short=-32768//小于这个值都会报错,需要使用更大范围的类型来存储//varminShort:Short=-32769//errorvarmaxShort:Short=32767//大于这个值都会报错,需要使用更大范围的类型来存储//varmaxShort:Short=32768//error
Int类型
varintVariable:Int=1println(intVariable)//1
Int类型变量的范围是-2的31次方到2的31次方-1
varminInt:Int=-2147483648//小于这个值都会报错,需要使用更大范围的类型来存储//varminInt:Int=-2147483649//errorvarmaxInt:Int=2147483647//大于这个值都会报错,需要使用更大范围的类型来存储//varmaxInt:Int=2147483648//error
Long类型
使用大写的L标记
varlongVariable:Long=1Lprintln(longVariable)//1
Long能够存储的最大数值比较大,为-2的63次方到2的63次方-1,这里就不再做演示了
Double类型
Double用来存储小数,注意值使用小数点
vardoubleVariable:Double=1.0println(doubleVariable)//1.0
Float类型
和Double类似都是用来存储带小数点的数值,不过精度比Double要低,使用小写f或者大写F标记
varfloatVariable:Float=1.0Fprintln(floatVariable)//1.0
Byte类型
varbyteVariable:Byte=127println(byteVariable)//127
Char类型
Char类型使用单引号括起来
varcharVariable:Char='C'println(charVariable)//C
Boolean类型
Boolean只有两个值true或false
varbooleanVariable:Boolean=trueprintln(booleanVariable)//true
显示类型转换
在Kotlin是没有隐式转换的,这点与Java不同。每个数字类型都可以进行显示转换
vara:Byte=1//varb:Int=a//error。较小的类型是不能隐式转换成较大的类型//使用toInt()函数转换成Int类型varb:Int=a.toInt()//ok
每个基本数字类型都有对应的toXXX()方法来进行相应的显示转换
varvar1:Short=b.toShort()varvar2:Long=b.toLong()varvar3:Double=b.toDouble()varvar4:Float=b.toFloat()varvar5:Char=b.toChar()
String类型
String类型是用来表示一个字符串
varstr:String="Thisisastr"println(str)//Thisisastr
访问字符串
1.使用索引,下标从0开始
varresult:String="字符串"+str+"第5个字符是:"+str[5]println(result)//i
2.迭代字符串
for(sinstr)print(s)//Thisisastr
数组类型
在Kotlin数组使用Array来表示,使用arrayOf()函数来创建一个指定元素的数组
创建String类型数组
varstrs:Array<String>=arrayOf("one","two","three")
创建Int类型数组
varnums:Array<Int>=arrayOf(1,2,3)
注意arrayOf()函数创建的数组都是装箱的,如需创建无装箱的数组使用对应的xxxArrayOf()函数,返回对应的XXXArray类型
varnums2:IntArray=intArrayOf(1,2,3)
访问数组
使用下标
println(strs[1])//two
for in循环遍历
1.通过size属性
for(iin0..strs.size-1){print(strs[i]+"")//onetwothree}
2.使用indices
for(iinstrs.indices){print(strs[i]+"")//onetwothree}
3.迭代
for(strinstrs){print(str+"")//onetwothree}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。