测试环境:
- Kotlin 1.1.3
一、定义变量的几种方式
- 第一种:显式声明类型
var name : String = "zhangsan";
- 第二种,省略声明类型
var name = "zhangsan";
- 第三种,不指定初始化值,但是必须显式的指定类型,
val school3: String
school3 = "丐帮"
这种必须放在方法内,放在成员变量位置就会报错,还有一点,在使用这个变量之前必须初始化,否则会报如下错误:
Error:(88, 16) Variable 'school3' must be initialized
二、var 和 val 的区别
var 和 val 为声明变量的关键字,分别称之为 可变变量和不可变变量
1、 var 全称为:variable ,可变引用,这种变量的值可以被任意改变,但是不能改变类型,对应于 java 中的普通变量
var school = "天山"
println(school)
school = "逍遥"
println(school)
打印结果为:
天山
逍遥
2、 val 全称为 value ,不可变引用,这种变量的值,在初始化之后不能再次被赋值,对应于 java 中的 final 变量
val school2 = "明教"
println(school2)
如果尝试再次赋值的话,IDE 就会报错
这里需要注意的一点是, val 引用自身是不可变的,但是执行的对象是可以改变的如下:
val numbers: MutableList<Int> = mutableListOf()
numbers.add(1)
numbers.add(2)
numbers.add(3)
val 指向集合对象,而且只能指向这个集合,但是集合对象本身是可以改变的!
三、方法的定义
- 无参无返回值的方法
fun a(){
//具体操作逻辑
}
- 有参数无返回值的方法
fun getMax2(a: Int, b: Int){
//具体操作逻辑
}
- 无参数有返回值的方法,以下三种都可以,看需求决定选哪种
- 最简单的一种
fun a1() = 6
- 加上返回值类型
fun a1():Int = 6
- 加上花括号
fun a1():Int{
return 6
}
- 有参有返回值的方法,与无参数有返回值的一样,只不过多加了个参数而已