(一)数据类型
数值类型
Double 64位
Float 32位
Long 64位
Int 32位
Short 16位
Byte 8位
首字母都是大写。跟Java不同的是,字符不是数值类型,它是一个独立的数据类型
字符类型
字符类型用Char来表示,Char必需是单引号 ' 包含起来的。比如'a','b'。注意Kotlin 中的 Char 不能直接和数字操作。比如:
fun test(c: Char) {
// 错误:类型不兼容
if (c == 1) {
// 省略
}
}
字符串类型
字符串类型用String来表示。跟Java一样,字符串类型是不可变的。可以使用方括号[]来获取字符串中的某一个字符,[]传入的是字符的索引。比如:
var str = "zhangzhigang"
println(str[0]) // 输出函数,输出的内容是z
Java中用String的traim()函数来消除字符串两边的空格,而Kotlin用则用trimMargin()函数来表示。
布尔类型
布尔类型用Boolean类型表示,有true和false两种值。
数组
Kotlin中,数组使用类Array实现,带有一个size属性和get()和set()函数。创建数组的方式有两种:
- 一种是使用函数arrayOf(),传入元素的值,中间用逗号","分隔开。
比如:var a = arrayOf(1,2,3) - 另外一种是使用工厂函数。
比如: val b = Array(3, { i -> (i * 2) })
数组的元素获取,采用数组名[角标],比如a[0] --->>> 1
除了类Array,还有ByteArray, ShortArray, IntArray,用来表示各个类型的数组 。
(二)定义常量、变量
定义常量 只能赋值一遍,相当于Java中被final修饰的变量
语法: val <标识符> : <类型> = <初始化值>
定义变量
语法: val <标识符> : <类型> = <初始化值>
注意:Kotlin的编译器中有变量类型推断的机制,比如说 var a = "zhangzhigang",我们在定义变量的时候,并没有严格按照Kotlin的规则,在这里,Kotlin会智能的推断出 a是字符串类型的变量。
(三)定义函数
定义函数使用了fun关键字,函数的参数的格式为: 参数:参数类型。这里跟Java有所不同:
Java:
public void get(int a,int b) {
// 省略
}
Kotlin:
fun sum(a: Int, b: Int): Int { // Int 参数,返回值 Int
return a + b
}
sum是函数名,传入两个参数,都是Int型。
无返回值的函数
fun sum(a: Int, b: Int): Int { // Int 参数,返回值 Int
return a + b
}
这里明确的规定了返回类型是Int,那无返回值的函数(类似Java中的void)该怎么写呢?
fun printSum(a: Int, b: Int): Unit {
print(a + b)
}
注意这里用到了Unit 关键字。同时,我们还需要注意两点:1.如果是返回 Unit类型,则可以省略。 2.如果函数名被public关键字修饰,则函数一定要有返回值,这里比较一下Java中public的含义。