目录
我们知道任何一种数据类型都有为空或不为空两种状态,在 Kotlin 中,若允许一个数据为空,则需要使用 "?",默认都不能为空。
代码举例说明
- // 给 notNull赋值为空,会编译错误,抛出异常,因为String后面没有加 ?
- val notNull:String = null
-
-
- // 给 canNull赋值为空,正确,编译可以通过,因为String后面加了 ?
- val canNull:String ?= null
这里只是举例String一个例子,其他数据类型也是同理
在 Kotlin 中,有区间这么一个概念,它就是我们数学上说的区间,有开区间或者闭区间之分,通常可以用在循环内。
基本用法
0...100 就表示闭区间 [0,100];
0 until 100 表示左闭右开 [1,100);
继续推理,加入用在循环内,如下
i in 0...100 就表示 i 值是否在闭区间 [0,100] 之间。
Kotlin 中提供了几种区间类,最为常用的就是 "IntRange"。
val range:IntRange=0..100;
简单理解,就是我们Java中的数据,数组中可以存放各种类型的数字,String字符串,或自定义对象。
除此以外,Kotlin 中还有定制数组,如下所示,如果当前数组你只会存放 Int 类型的数据,就定义IntArray 数组,如果存放字符,就定义CharArray。
代码演示如下
- // 创建一个int数组
- val arrayOfint: IntArray = intArrayOf(1,3,5,7)
-
- // 创建一个Char数组
- val arrayOfChar: CharArray = charArrayOf("H","e","l","o","W","o","r","l","d")
-
- // 创建一个自定义对象数组,根据上面创建的类
- val array: Array<自定义对象类> = arrayOf(数据1,数据2,数据3)
-
- fun main(args: Array<String>){
- // 打印 int数组
- println(arrayOfInt.size)
- for(int in arrayOfInt){
- println(int)
- }
- }