Google官方放出Kotlin将成为开发Android的主力语言,大家一起来学习学习。
1.
Kotlin中 var 和 val 的区别。
var 是可变变量:
val 是只读变量(不可以再被重新赋值)
val有点像java中的final
kotlin中的赋值操作
Kotlin中给变量赋值时,有以下两种情况:
直接赋值:var phonenumber=15005983654
没有写参数类型,是因为Kotlin中这种写法是可以自动识别类型的。
延时赋值:
//先要声明
lateinit private var button: Button
//在合适的位置进行赋值(比如Activity中的OnCreate方法中)
button = findViewById(R.id.test_id) as Button
在这里lateinit的意思就是为了延时赋值,如果不加lateinit将代码写成这样:
//这句代码是编译不通过的
private var button: Button。
Kotlin中的数组:
Kotlin中的数组的创建
方式一:
我们可以使用库函数arrayOf() 来创建一个数组并传递元素值给它
var arrays = arrayOf(“123”,”456”,”789”)
这样 arrayOf(“123”,”456”,”789”) 创建了 array [“123”,”456”,”789”],数组的类型也是可以自动识别的
方式二:
库函数arrayOfNulls() 可以用于创建一个指定大小、元素都为空的数组
var arrays = arrayOfNulls(10)
Kotlin中的集合:
List集合的创建方法:
方法一:
我们可以使用库函数listOf() 来创建一个集合并传递元素值给它
var items = listOf(“123”, “456”, “789”)
这样创建出来的集合是只读的,不可以在进行add操作。
方法二:
private var mList: ArrayList = ArrayList()
这种创建方式和java类似,使用这种方式得到的集合是可读可写的。
**
Kotlin中的for循环:
**
方式一:
for (index in 0..10) {
Log.e(“index”, “” + index)
mList.add(“item:” + index)
}
这句话是遍历 0 到10之间的数包括10,也就是说这个循环会执行11次。
for (index in 0 until 10) {
Log.e(“index”, “” + index)
mList.add(“item:” + index)
}
这句话页是遍历 0 到10之间的数,但这句话是左闭右开的所以它不包含10。
方式二:
//遍历集合中的内容
for (item in items) {
Log.e(“item”, item)
}
//遍历集合中的下表
for (i in 0 until items.size) {
Log.e(“i”, “$i”)
}
**
Kotlin中的字符串模板:
**
使用字符串模板
var a = 1
// 模板中的简单名称:
val s1 = “a is
a”输出:ais1a=2//模板中的任意表达式:vals2=“
{s1.replace("is", "was")}, but now is $a”
输出:a was 1, but now is 2
在Kotlin中冒号 : 用万能来称呼绝不为过。常量变量的类型声明,函数的返回值,类的继承都需要它
//val表示常量var表示变量声明
val name: String = “tutu”
//省略类型说明
var age = “23”
//fun表示函数
fun getName(): String{
return “tutu”
}
//类继承
class UserList(): ArrayList() {
//…
}
除此之外还有一个特别的地方也需要它,使用Java类的时候。Kotlin最终会还是编译成Java字节码,使用到Java类是必然的,在Kotlin语法如下
val intent = Intent(this, MainActivity::class.java)