Kotlin官方参考整理——02.基础
来源:互联网 发布:对网络ip剧改编的看法 编辑:程序博客网 时间:2024/06/03 12:31
2 基础
2.1 数据类型
Java中有基本数据类型(byte、short、int、long、float、double、char、boolean)和引用型数据类型(类,包括Integer等)。
而Kotlin中只有引用型数据类型,这意味着,Kotlin中的任何常量或变量,其本质都是对象或者对象的引用,这意味着我们可以通过“.”来调用其方法或访问其属性:
var a:Int = 1a.toString()//还可以a.toByte()、a.toShort()...等1.toString()//还可以1.toByte()、1.toShort()...等
2.1.1 整型
需要注意的是,较小的类型并不能隐式换转为较大的类型,如:
val b: Byte = 1//val i: Int = b //不允许,编译报错val i: Int = b.toInt() //显式类型转换
Kotlin中的位运算符和Java中不同,详见官方参考。
2.1.2 数组
Kotlin中数组对应的类型是Array<T>
。
创建数组主要有3种方式:
//通过列举初始值来创建一个数组//arrayOf是Kotlin的库函数var array1:Array<Int> = arrayOf(1, 2, 3, 4, 5, 6)//创建一个初始值为空的数组//arrayOfNulls是Kotlin的库函数var array2:Array<Int?> = arrayOfNulls<Int>(10)//创建了一个10个元素的数组,其中的元素被初始化为0,1,4,9...//使用的是Array<T>构造函数:public inline constructor(size: Int, init: (Int) -> T)var array3:Array<Int> = Array(10, { i -> i * i })
此外,Kotlin还提供了ByteArray 、ShortArray 、IntArray等,它们比Array<Byte>、Array<Short>、Array<Int>等
有更高的效率,使用方法和Array<Byte>、Array<Short>、Array<Int>等
一样。
2.1.3 字符串
已整理至《01开始.md》
2.2 包
已整理至《01开始.md》
2.3 控制流
2.3.1 if
已整理至《01开始.md》
2.3.2 when
已整理至《01开始.md》
2.3.3 for循环
已整理至《01开始.md》
2.3.4 while循环
已整理至《01开始.md》
2.3.5 返回与跳转
在Kotlin中return break continue也都是表达式,其含义与Java中一致:
- return:从直接包围它的函数返回
- break:跳出直接包围它的循环
- continue:继续下一次直接包围它的循环
而在kotlin中,可以通过标签来指定要跳转到和返回的位置。
在Kotlin中任何表达式都可以用标签来标记。标签的格式为标识符后跟@符号,例如:abc@ 、fooBar@。标签放在被标记的表达式之前:
loop@ for (i in 1..100) { for (j in 1..100) { if (……) break@loop //loop@被标记在外层for循环上,因此break会直接跳出外层for循环 }}
Kotlin中函数定义可以嵌套。
return配合标签使用,最重要的一个用途就是从lambda表达式中返回:
fun foo() { ints.forEach { if (it == 0) return print(it) }}
这个return表达式从最直接包围它的函数即foo中返回(注意,只有内联的lambda表达式支持这种非局部的返回,即不带标签的return,详见《04函数和lambda表达式.md》->“在lambda表达式中使用非局部返回”)。如果我们需要从lambda表达式中返回,我们必须给它加标签:
fun foo() { ints.forEach lit@ { if (it == 0) return@lit print(it) }}
现在,它只会从lambda表达式中返回。通常情况下使用隐式标签更方便,该标签与接受该lambda的函数同名:
fun foo() { ints.forEach { if (it == 0) return@forEach print(it) }}
- Kotlin官方参考整理——02.基础
- Kotlin官方参考整理——01.开始
- Kotlin官方参考整理——05.其他
- Kotlin官方参考整理——06.Java互操作
- Kotlin官方参考整理——03.类和对象1
- Kotlin官方参考整理——03.类和对象2
- Kotlin官方参考整理——04.函数和lambda表达式
- kotlin官方文档-2.1基础
- kotlin习惯用法——kotlin官方文档学习
- Kotlin实战02 — Kotlin基础
- Kotlin官方文档翻译—概述
- Spring Data JPA 指南——整理自官方参考文档
- kotlin 官方学习教程之基础语法
- Kotlin 官方参考文档 中文版_kotlin-reference-chinese.pdf
- Kotlin开发之旅《一》— 初学者Kotlin基础必备
- Kotlin官方文档翻译—《Functions and Lambdas-Functions》
- Kotlin基础——类和继承
- Kotlin基础(一)——基本类型
- mysql高级语法
- 文章标题
- 【异步请求相关知识点】XMLHTTP.readyState的五种状态
- 原子变量 和cas 原理
- 数据表自增ID,在删除全部行后插入新行ID如何再从1开始
- Kotlin官方参考整理——02.基础
- 开发中经常用到的工具类
- Eclipse neon安装 svn
- 开发常见linux命令
- git使用_命令备注
- Linux编程之自定义消息队列
- 4.1 SciPy库介绍及导入
- 【异步请求相关知识点】xmlHttp.status的值(HTTP状态表)
- 4.2 线性代数linalg模块