前言
- 你还在把Java当成Android官方开发语言吗?Kotlin了解一下!
- 2017年Google IO大会宣布使用Kotlin作为Android的官方开发语言,相比较与典型的面相对象的JAVA语言,Kotlin作为一种新式的函数式编程语言,也有人称之为Android平台的Swift语言。
环境以及工具
Android Studio 3.3
if 表达式
//----------------------- if 表达式-------------------------------------
//传统用法
val a: Int = 1
val b: Int = 2
val max: Int
val min: Int
if (a < b) {
max = b
} else {
max = a
}
println(max)//输出结果-------------------------2-------------------------
// 作为表达式
min = if (a < b) a else b
println(min)//输出结果-------------------------1-------------------------
//IF 表达式的结果赋值给一个变量,这里不需要三元操作符也可以
val max2 = if (a > b) {
println("Choose a:")
a
} else {
println("Choose b:")
b
}
println(max2)
// *********************************输出结果*********************************
// Choose b:
// 2
// *********************************输出结果*********************************
//使用 in 运算符来检测某个数字是否在指定区间内
val x = 5
if (x in 1..8) {
println("x 在区间内")//输出结果-------------------------x 在区间内-------------------------
}
When 表达式
//----------------------- When 表达式-------------------------------------
//when 取代了类 C 语言的 switch 操作符
//else 类似 switch 的 default。如果其他分支都不满足条件将会求值 else 分支
val y = 5
when (y) {
1 -> println("x==1")
2 -> println("x==2")
else -> {
println("x 不是1 也不是5")
}
}
// *********************************输出结果*********************************
// x 不是1 也不是5
// *********************************输出结果*********************************
//如果很多分支需要用相同的方式处理,则可以把多个分支条件放在一起,用逗号分隔
val z = 5
when (z) {
1, 5 -> println("x==1 or x==5")
else -> println("x 不是1 也不是5")
}
// *********************************输出结果*********************************
// x==1 or x==5
// *********************************输出结果*********************************
//我们也可以检测一个值在(in)或者不在(!in)一个区间或者集合中:
val h = 0
var validArrays = arrayOf(1, 2, 3, 0, 6)
when (h) {
in 1..5 -> println("x在1-5之间")
in validArrays -> println("x是合法数字")
!in 10..20 -> println("x不在10-20之间")
else -> println("x到底属于什么范围")
}//输出 x是合法数字
//is检测特定类型
fun hasString(x: Any) = when (x) {
is String -> true
else -> false
}
println(hasString("boyi.chen"))//true
println(hasString(12306))//false
//when 也可以用来取代 if-else if链
val d = 10
when {
d in 1..10 -> println("d在区间1-10之间")
else -> println("else")
}//d在区间1-10之间
For 循环
//-----------------------For 循环-------------------------------------
val arrays = listOf("a", "b", "c", "d", "e")
//对任何提供迭代器(iterator)的对象进行遍历
for (i in arrays) {
print("$i,")
}//a,b,c,d,e,
println()
//通过索引遍历一个数组或者一个 list
for (i in arrays.indices) {
print(arrays[i] + ",")
}//a,b,c,d,e,
println()
//可以用库函数 withIndex
for ((index, value) in arrays.withIndex()) {
println("$index : $value")
}
// *********************************输出结果*********************************
// 0 : a
// 1 : b
// 2 : c
// 3 : d
// 4 : e
// *********************************输出结果*********************************
while循环
//-----------------------while循环-------------------------------------
var xx = 2
while (xx > 0) {
print("${xx--},")
}//2,1,
println()
var yy = 2
do {
print("${yy--},")
} while (yy > 0)//2,1,
println()
源码
请关注公众号并在后台回复:kotlin
Kotlin重构系列分享教程
Kotlin环境搭建
Kotlin重构初体验之告别FindViewById
Kotlin基本类型
Kotlin重构如何兼容原先的ButterKnife、EventBus3.1
当ButterKnife8.8.1碰到AndroidX怎么办
Githup教程开源项目
Python爬虫系列分享教程
Python爬虫之旅之Selenium库的使用
Python爬虫之旅之豆瓣音乐
网友评论