1、注释
Kotlin每行语句可以不以分号结束
/**
* 多行注释 这个支持嵌套使用
*/
fun main(args: Array<String>) {
/* 单行注释 */
println("Hello World!")
// 单行注释
println("Program arguments: ${args.joinToString()}")
}
2、变量
Kotlin中一切都是对象,都是引用类型,没有像Java的基本数据类型,但是最终编译器会生成基本数据类型
2-1、var可变变量
var是一个可变变量,这是一个可以通过重新分配来更改为另一个值的变量。这种声明变量的方式和java中声明变量的方式一样。
var a:Int = 12
a = 20
var b:String = "hello"
b = "world"
println(a) // 20
println(b) // world
2-2、val只读变量
val是一个只读变量,这种声明变量的方式相当于java中的final变量。一个val创建的时候必须初始化,因为以后不能被改变
val flag:Boolean = true
// 报错Val cannot be reassigned
flag = false
2-3、编译时常量
// 编译时常量
const val PI = 3.14
fun main(args: Array<String>) {
// 报错 编译时常量不能放在函数内部,函数内只在函数调用时才赋值
const val PI = 3.14
}
2-4、类型推导
声明时数据类型和初始化至少给定一个,或者两者都声明,否则编译器无法推断变量的类型(This variable must either have a type annotation or be initialized)
// 仅初始化,类型推导
var a = "aaaa"
val b = true
// 仅声明类型
var c:String
val d:Int
// 类型和初始化都声明
var e:Int = 12
val f:String = "abc"
// 以下代码会编译报错 This variable must either have a type annotation or be initialized
var g
g = 12
val h
h = 12
// 报错 Variable 'g' must be initialized
var g : String
println(g)