数值间的转换——Kotlin基础

Kotlin的类型间转换需要显式调用。

一、整型间的转换

整型间的等级

Byte
Short
Int
Long

和java不同的是,即使是从低等级赋值给高等级,也要进行显式调用。

  • toByte()
  • toShort()
  • toInt()
  • toLong()

显式调用后,从低等级到高等级的转换不会有问题,但是从高等级到低等级的转换则会有溢出现象,会直接进行截断处理

intResult.javaClass类似于java中intResult.getClass()

二、Char运算

规则:

  • Char值加减一个整型值:会对其字符编码进行加减该整数,结果又转换为一个Char型
  • 两个Char型进行相减:会进行两个Char值的编码进行计算,结果得到一个Int型
  • 两个Char型无法进行相加!!会报错

三、浮点型与整型间的转换

浮点型转为整型时,会进行小数点的阶段。即 4.9 转为 4,-2.3 转为 -2。

四、表达式类型的自动提升

所有类型的等级

Byte
Short
Int
Long
Float
Double
  • 表达式中,所有的Byte、Short类型都会被提升为Int类型。 即使是两个Byte或两个Short进行计算,也会提升为Int类型,结果输出为Int类型。
    数值间的转换——Kotlin基础
  • 整个算数表达式的数据类型会自动提升到表达式中最高等级操作数同样的类型。