Kotlin - 基本数据类型

本文详细介绍了Kotlin中的变量声明,包括var、val、const val的区别以及它们对应的Java代码转换。讲解了Kotlin的数据类型,如Byte、Short、Int、Long、Float、Double、Char及其转换规则。同时,还讨论了类型检测关键字is、!is的使用。
摘要由CSDN通过智能技术生成

变量声明

关键字名称说明使用场景转为Java代码

var

variable的缩写

可变变量

带有getter、setter

赋值可被修改时使用(可读可写)private static

val

value的缩写

只读变量

在函数外使用(修饰属性):带有getter,重写该函数可以实现每次返回不同值。

不需要再被赋值时使用(只读)private final
运行时常量在函数内使用(修饰局部):无法实现getter也不满足const条件,无法分配新值因而可看作常量。
const val编译时常量

只能在函数外使用:因为编译时就需要赋值,而函数是运行时才调用。只能修饰 String 或 基本数据类型,因为是 public 没有 getter 性能更优。

需要供全局调用的时候使用(常量)public static final
Kotlin {
    //完整格式:关键字 变量名 冒号 数据类型 赋值运算符 值
    val num: Int = 3    //默认是public的
    val str = "haha"    //简写格式,类型可自动推导
    const val ch = 'A'
}
//点击 Tools->Kotlin->Show Kotlin ByteCode查看
Java {
    private static int num = 3;   
    public static final int getNum() { return num; }
    public static final void setNum(int var0) { num = var0; }

    private static final String str = "haha";
    public static final String getStr() { return str; }

    public static final char ch = 'A';
}

基本数据类型

Kotlin 中没有基础数据类型,只有封装的数字类型(首字母大写了)。除以0会得到NaN,表示不是一个数,因此无法比较,所以两个NaN的结果不相等。

类型名称位宽占用字节取值范围具体数值
Byte字节81-2^7 ~ 2^7-1-128 ~ 127
Short短整型162-2^15 ~ 2^15-1-32768 ~ 32767
Int整型324-2^31 ~ 2^31-1-2147483648 ~ 2147483647
Long长整型648-2^63 ~ 2^63-1-9223372036854774808 ~ 9223372036854774807
Float单精度324小数点后6位

.MIN_VALUE指最小非0正数,需要负数得加个负号。

Double双精度648小数点后15-16位
Boolean布尔true 或 false
Char字符162

只能和 Int 类型进行加减

可显示地转换为 Number 类型

\t 制表符

\b 退格键(键盘上的←)

\n 回车

\r 光标回到行首

\' 单引号

\" 双引号

\\ 反斜杠

\$ 美元符号

//支持自动类型推断:对于已声明并赋值的变量,允许省略数据类型的声明
val aaa : Byte = 2           //不支持推断简写
val bbb : Short = 2          //不支持推断简写
val ccc : Int = 2            //val ccc = 2,Int是系统默认的整数类型
val ddd : Long = 2           //val ddd = 2L,用L结尾区分于Int
val eee : Double = 12.34     //val eee = 12.34,Double是系统默认的小数类型
val fff : Float = 12.34      //val fff = 12.34F,用F结尾区分于Double
val ggg : Char = 'a'         //val ggg = 'a' 
val hhh : String = "Hello"   //val hhh = "Hello"
val iii : Boolean = false    //val iii = false

val jjj = aaa + bbb          //jjj为Int类型
val kkk = ccc + ddd          //kkk为Long类型
val lll = 'a' + 1            //打印:b

进制(不支持8进制)

二进制0b00001011以 0b 开头
十六进制0x0F以 0x 开头

类型转换

Kotlin 数据类型都是一个封装的 class,较小类型并不是较大类型的子类,不能隐式转换只能显示转换。

toByte()转换为 Byte
toShort()转换为 Short
toInt()转换为 Int
toLong()转换为 Long
toFloat()转换为 Float
toDouble()转换为 Double
toChar()转换为 Char

类型检测 is、!is

用来检查该对象(变量)是否属于某数据类型或其派生类,类似于 Java 中的 instanceof。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值