疯狂kotlin讲义连载之Kotlin的基础类型-- Boolean型

布尔型只有一个Boolean类型,用于表示逻辑上的“真”或“假”。与Java相似,Kotlin的 Boolean类型的值只能是true或false,不能用0或者非0来表明。其余数据类型的值也不能转换成Boolean类型。html

例如,下面代码定义了两个Boolean类型的变量,并指定初始值。编程

程序清单:codes\02\2.7\BooleanTest.ktapp

fun main(args: Array<String>) {ide

// 定义b1的值为truepost

var b1 : Boolean = truespa

// 定义b2的值为falsecode

var b2 : Boolean = falseorm

}cdn

字符串"true"和"false"不会直接转换成Boolean类型,但Boolean类型的变量一样能够“插值”到字符串中。看下面代码(程序清单同上): xml

// 将Boolean类型的变量插值到字符串中

var str: String = "${b1}表明真"

println(str)

与前面介绍数值型、Char型相似的是,Boolean类型的变量不能接受null值,Boolean?类型的变量才能接受null值。Boolean类型将直接映射为Java的boolean基本类型,但Boolean?类型将会映射成boolean的包装类:Boolean。

Boolean类型的值或变量主要用做旗标来进行流程控制,在Kotlin语言中使用Boolean类型的变量或值控制的流程主要有以下几种。

  •  if条件控制语句。
  •  while循环控制语句。
  •  do while循环控制语句。

除此以外,Boolean类型的变量和值还可在三目运算符(? :)中使用。这些内容在3.9节将会有更详细的介绍。

若是程序在须要使用Boolean类型的地方使用了非Boolean值,Kotlin的类型检查机制会报错。下面例子会报告一个编译错误。

var i = 1

if (i) {

// 这个例子不能经过编译,会报错

}

下面例子则是正确的。

var i = 1

if (i == 1) {

// 这个例子能够经过编译,不会报错

}

上面程序中第一个例子if后面指望一个Boolean类型的值,但常量i是Int类型的,所以这个例子没法经过编译;对于i == 1比较的结果是Boolean类型,所以第二个例子能够经过编译检查。

以上内容节选自《疯狂Kotlin讲义》:一本让您最直接认识Kotlin的疯狂讲义


本书即将于2017年11月发售 敬请期待
往期连载
第一期: 第一期:juejin.im/post/59c0b7…

第二期:juejin.im/post/59c1d6…

第三期:juejin.im/post/59e407…

第四期:juejin.im/post/59ed77…

第五期:juejin.im/post/59eec3…

第六期:juejin.im/post/59effb…

第七期:juejin.im/post/59f153…

第八期:juejin.im/post/59f283…

第九期:juejin.im/post/59f686…

第十期:juejin.im/post/59f7ea…

相关书籍《疯狂Android讲义》https://item.jd.com/11689014.html
相关文章
相关标签/搜索