【Kotlin 初学者】程序的逻辑控制
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一
程序的执行语句主要分为三种:
-
顺序语句:一条接着一条顺序执行下去,程序代码默认就是顺序语句。
-
条件语句:if 和 when
-
循环语句:for循环 和 while循环
条件语句
====
Kotlin 中的条件语句主要有两种实现方式:if 和 when。
if
–
Kotlin 编程语言流程控制语句通过程序设定一个或多个条件语句来设定:
-
在条件为 true 时执行指定程序代码
-
在条件为 false 时执行其他指定代码
实践
fun main() {
val number = 83
val str = if (0 < number && number <= 59) {
//0-59范围
“$number 不及格”
} else if (59 < number && number <= 75) {
“$number 及格”
} else if (75 < number && number <= 85) {
“$number 良好”
} else {
“$number 优秀”
}
println(str)
}

从上面可以看出,Kotlin 中的 if 语句跟 Java中的 if 语句相差不大。
Kotlin if 额外功能:
if 有个返回值,返回值就是语句每一个条件中最后一行代码的返回值。如上面例子:val str = “良好”
if…in

警告:两次比较应转换为 range 检查
range 表达式
in x…y,in关键字用来检查某个值是否在指定区间x-y(包含y)之内。
实践
//if…in
//in x…y,in关键字用来检查某个值是否在指定区间x-y(包含y)之内。
val strRange = if (number in 1…59) {
//0-59范围
“$number 不及格”
} else if (number in 60…75) {
“$number 及格”
} else if (number in 76…85) {
“$number 良好”
} else {
“$number 优秀”
}
println(strRange)
运行结果跟上面一致,但是代码感觉简洁了很多。

if…!in
!in x…y,in关键字用来检查某个值是否不在指定区间x-y(包含y)之内。
val number2 = 81
//这个就是取反了。
//!in x…y,in关键字用来检查某个值是否不在指定区间x-y(包含y)之内。
if (number2 !in 70…80){
println(“$number2,不在70-80范围”)
}else{
println(“$number2,在范围”)
}

when
-
允许你编写条件式,在某个条件满足时,执行对应的代码
-
只要代码包含else if分支,都建议改用when
根据上面的实例,对else if分支调整。
实践
fun main() {
val number = 70
val s = when(number){
in 0…59->“不及格”
in 60…75->“及格”
in 76…85->“良好”
else -> “优秀”
}
println(s)
}

这个就类似Java中的switch-case。但是switch-case那么繁琐,也不需要加break。
循环语句
====
Java中主要有两种循环语句:for 循环和 while 循环。
Koltin也提供了这两种循环。
-
while循环不管在语法还是在使用技巧上都和Java基本一致。
-
for循环改动比较大
-
for-i在Kotlin中被移除。
-
for-each循环被加强,变成for-in循环。
for-in循环
实践
//for-in简单循环,区间范围[3,8]
for (number in 3…8){
println(number)
}

until 关键字
使用 until关键字 创建一个左闭右开的区间。
实践
//使用until关键字创建一个左闭右开的区间。
//区间范围[3,8)
for (number in 3 until 8){
println(number)
}

step 关键字
使用 step 关键字跳过一些元素。for-in循环每次执行循环时会在区间范围递增1,如Java中 for-i 的i++。
实践
//使用 step 关键字跳过一些元素。
//如Java中 for-i 的i = i+2。
for (number in 3 until 8 step 2) {
println(number)
}
println(“-------”)
//使用 step 关键字跳过一些元素。
//如Java中 for-i 的i = i+3。
for (number in 3 until 8 step 3) {
println(number)
}

downTo 关键字
使用 downTo 关键字创建一个降序区间。
//使用 downTo 关键字创建一个降序区间。
//区间范围[8,3]
for (number in 8 downTo 3) {
println(number)
}

foi-in 循环集合
有关集合的创建咱们后面一起学哈。
//for-in集合
val items = listOf(“字节”, “腾讯”, “阿里巴巴”, “百度”)
for (item in items) {
println(item)
}
println(“-------”)
for (index in items.indices) {
println(“item at i n d e x i s index is index is {items[index]}”)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。





既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后
其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

【Android高级架构视频学习资源】
**Android部分精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
,由于篇幅有限,上面只是以图片的形式给大家展示一部分。
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
[外链图片转存中…(img-QuvTQUWV-1712684878458)]
【Android高级架构视频学习资源】
**Android部分精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
更多推荐


所有评论(0)