好网站页面,pc下载网,医院咨询,如何用博客网站做cpa一、Boolean 类型 Boolean 值有两个值#xff0c;分别为 true 或 false。多数情况下#xff0c;Kotlin 中的 Boolean 相当于 Java 中的基本类型 boolean#xff0c;只有在必要的情况下才会装箱成为 Java 中的装箱类型 Boolean。这一切都是交由编译器来完成#xff0c;我们无…一、Boolean 类型 Boolean 值有两个值分别为 true 或 false。多数情况下Kotlin 中的 Boolean 相当于 Java 中的基本类型 boolean只有在必要的情况下才会装箱成为 Java 中的装箱类型 Boolean。这一切都是交由编译器来完成我们无需关心。 var isFirst: Boolean true
var isSecond: Boolean false 二、Number 类型 var aLong: Long 123L
var aInt: Int 1234567890
var aShort: Short 12345var aFloat: Float 23F
var aDouble: Double 23.0var aByte: Byte 127 基本类型的装箱与拆箱Kotlin 不再区分装箱与非装箱类型在需要的时候编译器会帮我们自动的选择是使用基本类型还是装箱类型。 三、Chat 类型Chat 类型表示一个字符一个字符可以是一个字或者一个符号等等。字符占两个字节表示一个 16 位的 Unicode 字符。字符使用单引号 引起来例如 中A\n。 四、数值类型的显式转换在 Java 里面将一个 int 值赋给 long 值是可以允许的因为 Int 的范围比 long 要小所以 long 可以兼容 int。但是在 Kotlin 中这样的隐式转换是不被支持的 var aInt: Int 10
var aLong: Long 10000// 编译器会报错
aLong aInt// 必须调用 toXXX 方法显示转换
aLong aInt.toLong() 每个数值类型都支持下面的转换 toLongLong toIntInt toShortShort toFloatFloat toDoubleDouble toByteBytetoChar: Char toString: String五、字符串类型字符串本质上可以说是一串 Char字符串使用双引号 引起来5.1 字符串的比较 var aName: String fancyluo
var bName: String fancyluoprintln(aName bName) // true
println(aName bName)// false 熟悉 Java 的同学对以上结果是不是就困惑了怎么 打印出来了 true这里我们可以看看 的源码就可以解开疑惑了。 public open operator fun equals(other: Any?): Boolean Kotlin 的 就相当于 Java 的 equeals表示比较内容。Kotlin 的 就相当于 Java 的 表示比较对象是否相同。 5.2 字符串模板 在 Kotlin 中字符串可以包含模板表达式模板表达式由 $ 开头如果需要进行表达式运算可以写在 {} 里面 var a: Int 1
var b: Int 2// Java
println( a b (a b))// 字符串模板
println($a $b ${a b})// print: 1 2 3// 原始字符串
var rawString ab${a b}六、数组Kotlin 中的数组由 Array 类表示表示以一系列的对象可以使用函数 arrayOf 来创建数组示例如下 val arrayOfString: ArrayString arrayOf(fancy, luo)
val arrayOfUser: ArrayUserInfo arrayOf(UserInfo(fancyluo, 音乐),UserInfo(jack, 篮球)) 可以看到我们使用 val 来修饰数组在 Kotlin 中数组是不可变的。上面数组里我们放的都是对象那么基本类型的数组呢Kotlin 中为了防止装箱拆箱的操作为每个基本类型都专门定制了相应的数组类型从而避免过度装箱的消耗。例如IntArrayCharArray 等等 val arrayOfInt: IntArray intArrayOf(1, 2, 3)
val arrayOfChar: CharArray charArrayOf(中, 国) 七、区间区间是一个数学上的概念表示范围。Kotlin 中区间是 ClosedRange 接口的子类一般比较常用的是 IntRange。 // 闭区间 [0,1024]
var range: IntRange 0..1024
// 半开区间 [0,1024) [0,1023]
var untilRange 0 until 1024fun main(args: ArrayString) {// 判断是否在区间中print(666 in range))// 区间迭代for (i in range) {print($i, )}
} 八、空类型安全 fun getName(): String{return null
} 上面的代码在编译器里是会报错的普通情况下Kotlin 中是不允许返回 null 类型的这也就表明我们在取这个值的时候无需担心直接使用即可。那我们就是想返回 null 呢 在返回值后面加个 ? 即可。 fun getName(): String?{return null
} 但是返回了空类型之后要使用这个函数就不是这么简单了如果你并不确定此函数返回的是否为空那么你需要在函数后面加上一个?如果你确定的知道此函数不会返回空那么你可以在函数后面加上 !! 表示我明确知道返回值不为空可放心使用。 // 此行代码会报错
var nameLength getName().length// 不确定是否为空
var nameLength getName()?.length// 确定不为空
var nameLength getName()!!.length// getName 不为空则返回值为空则不再执行后面的逻辑
var nameLength getName() ?: return转载于:https://blog.51cto.com/13983283/2363036