| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Kotlin学习(一):Kotlin基础知识 -> 正文阅读 |
|
[移动开发]Kotlin学习(一):Kotlin基础知识 |
Kotlin学习(一):Kotlin基础知识定义变量常量在Kotlin中,定义变量时有以下几点与java不同:
**延迟初始化属性与变量:**一般地,属性声明为非空类型必须在构造函数中初始化。 然而,这经常不方便。例如:属性可以通过依赖注入来初始化, 或者在单元测试的 setup 方法中初始化。 这种情况下,你不能在构造函数内提供一个非空初始器。 但你仍然想在类体中引用该属性时避免空检测。为处理这种情况,你可以用
定义函数在kotlin中,函数定义使用fun关键字,参数格式为 参数:类型 ,最后函数返回值类型,如下:
如果函数没有返回值,可以返回Unit,也可以什么都不返回(省略Unit):
基础数据类型在 Kotlin 中,所有东西都是对象,在这个意义上讲我们可以在任何变量上调用成员函数与属性。 一些类型可以有特殊的内部表示——例如,数字、字符以及布尔值可以在运行时表示为原生类型值,但是对于用户来说,它们看起来就像普通的类。 在本节中,我们会描述 Kotlin 中使用的基本类型:数字、字符、布尔值、数组与字符串。 数值类型Kotlin 提供了一组表示数字的内置类型。 对于整数,有四种不同大小的类型,因此值的范围也不同。
对于浮点数,Kotlin 提供了
对于以小数初始化的变量,编译器会推断为 类型转换: java中可以通过隐式类型转换,数值大的类型可以转换成数据小的类型,但是这样往往会丢失精度,在kotlin中由于不同的表示方式,较小类型并不是较大类型的子类型,较小的类型不能隐式转换为较大的类型。 这意味着在不进行显式转换的情况下我们不能把 Byte 型值赋给一个 Int 变量,每种数据类型都有下面的这些方法,可以转化为其它的类型:
字符类型在Kotlin语言中,字符类型用Char 表示,不过与java 不同的是,字符不能直接看成是数字(可以通过显示转换char.toInt()),Char 必需是单引号 ’ 包含起来的。比如普通字符 ‘0’,‘a’,字符字面值用单引号括起来: ‘1’。 特殊字符可以用反斜杠转义。 支持这几个转义序列:\t、 \b、\n、\r、\’、\"、\\ 和 \$。
布尔类型布尔用 若需要可空引用布尔会被装箱。 内置的布尔运算有:
数组数组在 Kotlin 中使用
我们可以使用库函数 另一个选项是用接受数组大小以及一个函数参数的
Kotlin 中数组是不型变的(invariant)。这意味着 Kotlin 不让我们把 字符串在Kotlin中,使用String表示字符串类型,有如下两类字符串:
字符串模板字符串字面值可以包含模板表达式 ,即一些小段代码,会求值并把结果合并到字符串中。 模板表达式以美元符(
Target platform: JVMRunning on kotlin v. 1.5.31 或者用花括号括起来的任意表达式:
Target platform: JVMRunning on kotlin v. 1.5.31 原始字符串与转义字符串内部都支持模板。 如果你需要在原始字符串中表示字面值
控制流:if、when、for、whileif表达式在Kotlin中,if语句本身就是表达式,有返回值,因此,Kotlin并不需要像Java那样提供三元运算符(condition?then:else)。因为普通的if就胜任这个角色。
when语句在Kotlin中,when替换了C语言放个的switch语句。标准的when语句用法如下:
使用when语句时,需注意以下几点:
when与if一样,既可以作为语句使用,也可以作为表达式使用。如果是后者,when语句的第一个满足条件的分支的最后一个表达式就是when表达式的返回值。
如果其他分支都不满足条件将会求值 else 分支。 如果 when 作为一个表达式使用,则必须有 else 分支, 除非编译器能够检测出所有的可能情况都已经覆盖了[例如,对于 枚举(enum)类条目与密封(sealed)类子类型]。如果很多分支需要用相同的方式处理,则可以把多个分支条件放在一起,用逗号分隔:
如果要执行相同代码的条件比较多,或无法枚举,可以使用 in 关键字确定一个范围,代码如下:
还可以是检测一个值是(is)或者不是(!is)一个特定类型的值。注意: 由于智能转换,你可以访问该类型的方法与属性而无需任何额外的检测。
when 也可以用来取代 if-else if链。 如果不提供参数,所有的分支条件都是简单的布尔表达式,而当一个分支的条件为真时则执行该分支:
when中的分支条件不仅可以是常量,还可以是任意表达式:例如,下面的代码分支条件就是一个函数
for循环Kotlin 中, for 循环可以直接枚举集合中的元素,也可以按集合索引来枚举元素。
while循环Kotlin 中的 while 循环和 Java 中的 while 循环是一样的,也分为 while 、do … while
在do … while 循环中使用了 continue、 break ,这两个语句在 for 循环中同样可以使用。continue 是为了忽略当前循环 continue 后面的所有语旬,继续从下一次循环开始。 break 是为了终结当前循环,并跳出循环。这一点和Java 完全一样。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 1:20:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |