Kotlin自学之旅(一)变量、基本类型

变量

在Kotlin中,定义变量是用关键词开始,然后是变量名称,最后才是变量类型,就像下面这个例子一样:

val a: Int = 10000

当然,如果你不指明变量的类型,编译器也能分析出 = 后的表达式的值,并将它的类型作为变量的类型:

var string = "hello world!" 

但如果变量没有初始化器,编译器无法推断出它的类型,这时就必须显式地指定类型:

var string: String

可变变量和不可变量

从上文可以看到,Kotlin中声明变量的关键词有两个:valvar,其中val声明的是不可变引用,即不能在初始化之后再次赋值的变量;而var声明的是普通的变量:

var variable = 100
variable = 200 // OK
val value = variable
value = 100 //error: Val cannot be reassigned

Kotlin推荐尽可能地使用val来声明变量,仅在必要的时候使用var


基本类型

数字

Kotlin 提供了如下的内置类型来表示数字:

typeBit width
Double64
Float32
Int32
Long64
Short18
Byte8

在Kotlin中,较小类型并不是较大类型的子类型,因此较小的类型不能隐式转换为较大的类型

val c = 100
val d: Long = c //error: Type mismatch

如果要转换的话,应该使用显示转换。每个数字类型支持如下的转换:

  • toByte(): Byte
  • toShort(): Short
  • toInt(): Int
  • toLong(): Long
  • toFloat(): Float
  • toDouble(): Double
  • toChar(): Char

并且算术运算时也会有重载做适当转换:

val l = 1L + 3 // Long + Int => Long

字符

在Kotlin中,字符用 Char 类型表示,它们不能直接当作数字。字符字面值用单引号括起来: ‘1’。 特殊字符可以用反斜杠转义。 支持这几个转义序列:\t、 \b、\n、\r、\’、\”、\ 和 $。 编码其他字符要用 Unicode 转义序列语法:’\uFF00’。


布尔值

布尔用 Boolean 类型表示,它有两个值:truefalse。若需要可空引用布尔会被装箱。内置的布尔运算有:

  • ||    短路逻辑或
  • &&   短路逻辑与
  • !    逻辑非

字符串

字符串用 String 类型表示。字符串是不可变的。 字符串的元素——字符可以使用索引运算符访问: s[i]。 可以用 for 循环迭代字符串:

 val str = "abcd"
for (c in str) {
        println(c)
}

在Kotlin中有一个新特性,叫做字符串模板。它可以让你在字符串字面值中引用局部变量只需要在变量名称中加上字符‘$’ ,这等价于使用 ‘+’连接字符串。如果要在字符串中使用‘$’ ,可以使用转义符‘\$’。如果要引用更复杂的表达式,只需要把表达式用花括号括起来。

val str = "abcd"
    for (index in str.indices) {
        println("in $index is ${str[index]}")
    }

总结

本文主要简单总结了Kotlin中变量的定义方式和介绍了几种基本的数据类型,涉及到的常见关键字有:

关键字说明
val声明不可变量
var声明可变变量
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值