ad

通过《基于Kotlin的Android应用程序开发》_与成功更近一步_1.1.2 包

admin 66 2023-10-25

【摘要】 本书摘自《基于Kotlin的Android应用程序开发》一书中第1章,第1节,由薛岗编著。

1.1.2 包

Kotlin 中关于“包”的概念与Java 中的“包”相似。在程序中, package 命令是用来声明程 序包的信息,而 import 则是用来加载程序包的命令。

在应用程序中,“包”技术主要用于建立程序的名称空间,并避免在不同范围内的同名概念之 间可能会产生的冲突。例如,A 组织在开发程序时定义了Person类 ,B 组织开发程序时也使用Person 作为类名;若不使用名称空间,当A 组织的Person类 和B 组织的Person类在同一个程序中工作 时,这两个同名类会发生概念冲突;因为,程序执行工具无法正确区分两者之间的区别。面对这 样的问题,可使用名称空间技术来解决问题。例如, A 组织的程序定义包 a,B 组织定义包b, 当 两个类在同一个程序中相遇时,实际上它们被解释为 a.Person 和 b.Person; 这样,两个类在同一 个程序中可正常工作,也有效地解决了同名概念所引起的冲突问题。

包在声明时,建议基于程序编制单位的网址来进行命名,例如,假设程序员隶属于A 组织,

通过《基于Kotlin的Android应用程序开发》_与成功更近一步_1.1.2 包

网址为 a.test, 而当前正在开发的项目名称为DEMO, 则包的命名可以为test.a.demo。

Kotlin平台本身存在大量预定义的程序包;另外,由于Kotlin 可与Java程序相互协作,编写 程序时,可加载技术环境中可用的Java程序包。 Kotlin 应用程序在编写和运行时,系统预加载包 包含java.lang.*、kotlin.jvm.*、kotlin.js.*等(其中,符号*表示“所有类库包”),而预加载的开发 类库包含[2:

● kotlin.*

● kotlin.annotation.*

● kotlin.collections.*

● kotlin.comparisons.*

● kotlin.io.*

● kotlin.ranges.*

● kotlin.sequences.*

● kotlin.text.*

1.1.3 程序的控制结构

Kotlin 程序中常用的控制结构包含 if 结构、 when 结构、 for 循环、 while 循环。其中, if 和 when 可作为表达式直接使用。

(1)if 结构

if结构的基本格式如下:

if (条件){

程序语句1

}else{

程序语句2

if结构执行时,首先对条件部分进行判断;若条件判断为真,则从“程序语句1”开始执行, 当程序执行至第1个“}”时结束;若条件判断为假,则从“程序语句2”开始执行,当程序执行 至第2个“}”时结束。 Kotlin程序可将if结构作为表达式,放在赋值语句的右侧,例如,下列语 句将结构运算结果直接赋值给变量 value:

1 var value = if(a>b){a} else {b}

(2)when 结构

when 结构类似 Java中的 switch 语句,基本格式为:

when (变量){

值1- >语句1

值2->语句2

else ->语句n

}

上述结构在运行时,基本的工作过程为:程序首先对 “when (变量)”部分中的“变量”进行 计算判别,并将结果与结构中的分支条件(即结构中箭头的左侧部分)进行匹配,若某分支条件 匹配成功,则该分支所对应的程序语句执行(箭头右侧代码)。 when 结构在执行过程中,只要一 个分支条件被执行,则其他分支条件将不再参与匹配运算;另外, when 结构可指定默认执行程序, 默认执行程序的分支判断条件为 else,也就是说,若其他任何一个分支条件都不满足时, else 条 件满足,所对应的程序开始工作。

when 结构中的分支条件可以使用逗号进行组合,当使用逗号时,两个分支条件之间的关系类 似于条件间的“或”关系;另外,分支条件中可以使用表达式,或者 in、lin、is、lis 等操作符(其 中, lis是 is的否操作, lin是 in的否操作)。例如,分支条件可以是“条件1,条件2”“in 范围” “!in 范围”“is 类型”“!is 类型”等。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:通过《基于Kotlin的Android应用程序开发》_与成功更近一步_1.2.4 匿名方法和闭包
下一篇:通过《基于Kotlin的Android应用程序开发》_与成功更近一步_1.3.7 继承中属性的覆盖
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×