- 顶层函数及属性
- 在对象声明中声明的函数和属性
- 枚举常量
函数
fun关键字定义,可将表达式作为函数体、返回值类型自动推断的函数
fun sum(a: Int, b: Int) = a + b
返回无意义的值,且Unit可被忽略,这点对应void无返回值的方法。
fun printSum(a: Int, b: Int): Unit {
println(“sum of $a and $b is ${a + b}”)
}
定义变量
val a: Int = 1 // ⽴即赋值
val b = 2 // ⾃动推断出 Int
类型
val c: Int // 如果没有初始值类型不能省略
c = 3 // 明确赋值
注释
和java、JS一样支持行注释、块注释,但Kotlin 的块注释可以嵌套
字符串模板特性
var a = 1
// 模板中的简单名称:
val s1 = “a is $a”
a = 2
// 模板中的任意表达式:
val s2 = “${s1.replace(“is”, “was”)}, but now is $a”
使用可空值及null检测
当某个变量的值可以为null的时,须在声明处的类型后添加?来标识该引用为空。
支持类型检测和自动类型转换
is 运算符检测⼀个表达式是否某类型的⼀个实例。 如果一个不可变的局部变量或属性已经判断出为某类型, 那么检测后的分支中可以直接当作该类型使用
使用简洁的for while do-while循环
do-while中定于的变量在while()中有效
使用when表达式替换switch分支
fun describe(obj: Any): String =
when (obj) {
1 -> “One”
“Hello” -> “Greeting”
is Long -> “Long”
!is String -> “Not a string”
else -> “Unknown”
}
使用区间
in运算符检测某个数是否在指定区间内,支持区间迭代、数列迭代
区间迭代:
for (x in 1…5) {
print(x)
}
数列迭代:
for (x in 1…10 step 2) {
print(x)
}
for (x in 9 downTo 0 step 3) {
print(x)
}
使用集合
对集合迭代、用in来判断集合内是否包含某实例
使⽤ lambda 表达式来过滤(filter)和映射(map)集合:
fruits.filter { it.startsWith(“a”) }
.sortedBy { it }
.map { it.toUpperCase() }
.forEach { println(it) }
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
d开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!