Kotlin(二) 变量
LanyuanXiaoyao's Blog ヽ(✿゚▽゚)ノ

Kotlin(二) 变量

2017-11-01

变量声明

通过val关键字进行变量的声明,并且忽略类型,不需要在声明变量的时候指定它们的类型,事实上kotlin也是通过类型推断来进行变量类型的指定,只是原来手工变成了自动的

// 类型是String
val string = "Do you love me?"
// 类型是Int
val int = 1
// 类型是Double
val double = 7.5e6

当然也可以手动指定类型

// Byte类型
val byte: Byte = 127
// Char类型
val char: Char = 'a'
// Short类型
val short: Short = 10
// Int类型
val int: Int = 10
// Long类型
val long: Long = 10L
// Float类型
val float: Float = 10.5f
// Double类型
val double: Double = 12.44
// String类型
val string: String = "string"

在kotlin里面String和其他基本数据类型并无不同
当然,由于kotlin是强类型语言,所以一个变量的声明如果没有指定类型,又没有初始值供kotlin进行推断的话,就会报错,所以,如果声明的变量没有初始值,那么必须要指定类型

val temp: Int
temp = 1

val和var

val声明的为不可变变量,对应Java中的final变量,var声明的为可变变量,对应Java中的非final变量
kotlin提倡使用val变量,这样可以更加接近函数式编程的风格

val finalVariable = 1 // 不可变,声明并赋值之后就不可改变
var unFinalVariable = 1 // 可变,可随意修改变量的值

类型转换

类型转换在kotlin中不是自动的,需要手动显式地进行转换,并且和Java不同,kotlin里面使用的是一个toXX()的方法进行转换

val a: Int = 1
val b: Double = a.toDouble()

当然啦,每个数据类型都会有一个相应的toXX()方法
而且char值也不是直接等于对应的ASCII值,而是需要类型转换

val c: Char = 'a'
val d: Int = c.toInt()

类型判断

kotlin里使用一个简单的is关键字来进行类型判断

val e = 1
if (e is Int){
	// ...
}

评论