Kotlin总结
Posted enhance
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin总结相关的知识,希望对你有一定的参考价值。
一、Kotlin基本语法
1、Kotlin是一种静态类型编程语言,在java虚拟机上运行。Kotlin程序文件以 .kt 结尾
2、函数定义:
函数定义使用fun,参数格式为 参数:参数类型
2.1函数有返回值
fun sum(a:Int,b:Int):Int{ //函数有返回值
return a+b
}
2.2函数无返回值
fun sum(a:Int,b:Int){ //函数无返回值
print(a+b)
}
2.3可变长度参数可用vararg关键字表示(可变长度是指 存在for类似操作)
fun varsfun(vararg var:Int){
for(vt in var){
println(vt)
}
}
fun main(args:Array<String>){
varsfun(1,2,3)
}
运行结果:
3、定义常量与变量
var 定义变量,val定义常量(val类似java中final作用)
var <标识符> : <类型> = <初始化值> var a:Int=1 等价于 var a=1 a+=1 //变量可修改
val <标识符> : <类型> = <初始化值> val b:Int=1 //不可执行 b+=1 因为b是val声明的不可修改
4、字符串模板
$表示一个变量名或者变量值
$varName表示变量值
${varName.fun()}表示变量的方法返回值,{}里边是表达式
5、Null检查机制
Kotlin的空安全设计对于声明为空的参数在使用时进行空判断处理,有两种处理方式:
① !! 如果声明的参数为空类似java一样抛出空指针一场
② ? 不做处理返回值为null 或者配合?:做空判断处理
6、类型检测及自动类型转换
is运算符做类型判断后,被判断的对象自动转化为要转为的类型
7、区间
区间表达式操作符形式 ..
for (i in 1..4) print(i) // 输出“1234” for (i in 4..1) print(i) // 什么都不输出 if (i in 1..10) { // 等同于 1 <= i && i <= 10 println(i) } // 使用 step 指定步长 for (i in 1..4 step 2) print(i) // 输出“13” for (i in 4 downTo 1 step 2) print(i) // 输出“42”
8、比较两个数字
== 比较大小
===比较地址
fun main(args: Array<String>) { val a: Int = 10000 println(a === a) // true,值相等,对象地址相等 //经过了装箱,创建了两个不同的对象 val boxedA: Int? = a val anotherBoxedA: Int? = a //虽然经过了装箱,但是值是相等的,都是10000 println(boxedA === anotherBoxedA) // false,值相等,对象地址不一样 println(boxedA == anotherBoxedA) // true,值相等 }
9、位与操作符
shl --左位移 (相当于java中<<)
shr --右位移(相当于java中>>)
ushi --无符号左位移
ushr --无符号右位移
and --与操作
or --或操作
xor --异或操作
inv --取反操作
二、Kotlin基本数据类型
类型 | 位宽度 |
---|---|
Double | 64 |
Float | 32 |
Long | 64 |
Int | 32 |
Short | 16 |
Byte | 8 |
kotlin中字符char不属于数值类型,是一个独立的数据类型
1、字符
Kotlin中char必须是单引号‘ ‘ 包含起来,比如‘0‘,‘a‘
2、数组
数组用类array实现,采用arrayOf()创建:var a=arrayOf(1,2,3)
3、字符串 “ ”
Kotlin支持三个引号"""括起来的字符串支持多行字符串,比如:
三、条件控制
1、if --和java类似,不做介绍
2、when(相当于java中switch)
else等同于switch中default
如果很多分支需要用相同的方式处理,则可以把多个分支条件放在一起,用逗号分割
when (x) { 0, 1 -> print("x == 0 or x == 1") else -> print("otherwise") }
利用when可以检测一个值在(in)或者不在(!in)一个区间或者集合中
when (x) { in 1..10 -> print("x is in the range") in validNumbers -> print("x is valid") !in 10..20 -> print("x is outside the range") else -> print("none of the above") }
四、循环控制
1、for循环 一种是直接遍历,另一种是采用list的索引如下所示
2、while 与do..while
以上是关于Kotlin总结的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin学习之旅解决错误:kotlin.NotImplementedError: An operation is not implemented: Not yet implemented(代码片段