变量
先来学习变量。在Kotlin中定义变量的方法和Java区别很大,在Java中定义变量,需要在变量前面声明类型,例如:int a 表示a是一个整型,String b 表时b是一个字符串。而在Kotlin中声明变量,只有val和var两种关键字。
val 可以声明一个不可变的变量,相当于java中的final变量。
var 可以声明一个可变的变量,相当于java中的非final变量。
这里有一点需要注意的是在Kotlin中会根据你第一次的赋值自动推导变量类型。
举个例子
// Kotlin的代码末尾是不需要加分号的呦!!!
fun main() {
val a = 5
Log.i("TAG", "a == " + a)
}
这里使用val声明了一个变量a并且给他赋值5,那么a就会被自动推导成一个整型的变量。
但是Kotlin的推导机制有时并不能正常的工作,所以Kotlin还提供了显示声明变量类型的功能
val a: Int = 5
这样就可以显示的声明一个变量的类型。
接下来尝试对a进行一些运算
fun main() {
val a: Int = 5
a = a * 10
Log.i("TAG", "a == " + a)
}
如果这样写的话编译器会提示一个错误:Val cannot be reassigned。这就是前面提到的被val声明的变量是不可变的也就是不可以进行第二次赋值。我们在运算的时候给a扩大了10倍这就相当于给a进行了第二次赋值,所以会提示我们这个错误,解决方式也很简单只需要将关键字val改成var就可以了
fun main() {
var a: Int = 5
a = a * 10
Log.i("TAG", "a == " + a)
}
这样编译器就不会报错了。
函数
函数是用来运行代码的载体,当运行这个函数的时候,函数中的所有代码就会被运行。前文中提到的main()函数就是一个函数,但是他是程序中入口函数。
先说一下Kotlin中函数的语法规则:
fun initView(int1: Int, int2: Int): Int {
return 1
}
OK,我们成功的编写了一个函数。这里要解释一下语法:
1.首先fun(function的缩写)是定义函数的关键字,无论是什么函数都必须使用fun关键字来声明。
2.fun后面的是函数名,这个就没有什么要求了,可以根据你的心情来命名。
函数名后面的括号,里面用来声明函数需要接收的参数,参数的数量和类型都是任意的。参数的声明格式就是“参数名:参数类型” ,如果你不需要接收任何参数那么括号里面就什么也不用写。
3.参数括号后面的返回类型并不是强求,可以根据使用情况来使用。
4.在后面的大括号就是函数体了,因为上面声明了Int类型的返回数据所以返回了一个1。