Kotlin~基本语法
val a: Int = 1 // ⽴即赋值val b = 2 // ⾃动推断出Int类型val c: Int // 如果没有初始值类型不能省略c = 3 // 明确赋值说一千道一万,不如自己去行动。要想在移动互联网的下半场是自己占有一席之地,那就得从现在开始,从今天开始,马上严格要求自己,既重视业务实现能力,也重视基础和原理。基础夯实好了,高楼才能够平地而起,稳如泰山。最后为了帮助大家深刻理解A
- 顶层函数及属性
- 在对象声明中声明的函数和属性
- 枚举常量
函数
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) }
最后
说一千道一万,不如自己去行动。要想在移动互联网的下半场是自己占有一席之地,那就得从现在开始,从今天开始,马上严格要求自己,既重视业务实现能力,也重视基础和原理。基础夯实好了,高楼才能够平地而起,稳如泰山。
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。



网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
img-Ik88SL3D-1714988734140)]
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
更多推荐


所有评论(0)