kotlin数据类型

//1.如何声明一个基本数据类型的变量,有哪些方法?
//基本数据类型的整型数据类型均为Int,如或超过了Int的取值范围,则会推断为Long

//编译器会根据赋值【100】,推断出number数据类型为Int
val number:Int = 100

//虽然没有明确指定变量bigNumber的数据类型,
//但是编译器根据赋值发现【8000000000】已经超过了Int的最大值
//所以bigNumber的数据类型会升级为Long
val bigNumber:Long = 8000000000

//在赋值的数字后面加上L,会自动推断为Long类型
val longNumber = 20L

//在变量后面+ : + 数据类型
val byteNumber:Byte = 1
//浮点类型
//编译器或根据赋值 推断出变量的类型
val doubleNumber:Double = 3.1415928888
val floatNumber:Float = 3.1415928888f//尾部加f或F显示表示这是一个Float类型的浮点数

println("floatNumber:" + floatNumber)
println("doubleNumber:" + doubleNumber)
//floatNumber:3.141593   float数据类型,如果赋值超过了精度,会四舍五入。最多6位小数
//doubleNumber:3.1415928888 double类型,小数点最多是16位。

//字符类型
//赋值的时候用单引号引起来
val char:Char = '0'

//布尔类型,使用Boolean来声明类型,只有两种止true/false
val isVisible:Boolean = false//true
val isVisible2 = true

//字符串类型
val str:String = "1234567890"
//从字符串里面取出一个字符时为字符为类型
val strNumber2: Char = str[1]
//字符串的模板表达式 以$开始
println("The Result is $str")
println("Text length is ${str.length}")
//字符串拼接操作
println("I am " + 10 + "years old")
//字符转义 \n换行符的意思
val helloWorld = "Hello,world!\n"
println(helloWorld + "\n" + "how are you")

//helloworld3要求他的字符串内容时json格式,
val helloworld3 = "{\"key\":\"value\"}"
//"""分解符,字符串内容无需转义,看起来更清爽
val helloworld4:String = """
    |Tell me and I forget.
    |Teach me and I remeber'
    |{"key1": "value1"}
    |{"key2": "value2"}
""".trimIndent()

类型强制转换

在kotlin中与java不同的是通过调用toInt、toDouble、toFloat子类函数来实现数字类型的强制转换的


//数据类型间的强制转换
val number100: Int = 100    //声明一个整型 number对象
println("转换成string:${number100.toString()}")

四则运算

//数据类型的加减乘除
//在计算机里面整数除以整数,得到结果还是整数,小数点会被抹掉
val numberInt = 3 / 2   //1.5
println("numberInt:$numberInt") //输出1

//整数的3除以小数2,结果就是小数
val numberDouble = 3 / 2.toDouble() //输出1.5
println("numberDouble:$numberDouble")
println("乘法:" + numberInt * numberDouble)
println("取余:" + 3 % 2)  //输出1

位运算

kotlin中位运算和java不同的是没有采用特殊符号来表示,可以采用了中缀函数方式调用具名函数

shl(bits) 有符号左移【shl是Shift Logical Left的缩写】

shr(bits)有符号右移

ushr(bits)无符号右移

and(bits)与

or(bits)或

inv()非

xor(bits)异或

//位运算
val vip = true
val admin = false

//与操作,要求两个都满足,结果才会为true
val result = vip.and(admin) // false

//或操作,只要有一个条件是true,结果才会为true
val result2 = vip.or(admin) //true

//无符号右移
//0000 1000---》0000 0010 = 2
val result3 =8 ushr (2)
println("result:$result")
println("result2:$result2")
println("result3:$result3")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值