变量
Kotlin变量的声明,使用var和val。
var相当于在Java中没有final修饰的变量,val相当于在Java中有final修饰的变量。
var和val声明的变量是隐式的,会自动根据赋值来推导变量的类型。
当然也可以显示的声明变量
var a=10//变量a,为Int类型,值为10
val a:Int=10//显示声明变量a为Int类型,值为10
java基本类型 | kotlin对象数据类型 | 类型说明 |
---|---|---|
int | Int | 整型 |
long | Long | 长整型 |
short | Short | 短整型 |
float | Float | 单精度浮点型 |
double | Double | 双精度浮点型 |
boolean | Boolean | 布尔型 |
char | Char | 字符型 |
byte | Byte | 字节型 |
函数
函数通过fun关键字来定义
fun largeNum(a:Int,b:Int):Int{
return max(a,b)
}
fun largeNumber(a:Int,b:Int)= max(a,b)
前面一个是最标准的方法的定义,下面这个是语法糖的形势定义的方法,当函数体中只有1行代码时,可以使用语法糖的方式来简化代码。上述代码就省略了return关键字用=来替代,用隐式推导省略了返回值的类型。
if条件语句
Kotlin的if语句和Kotlin的if语句相差不多,以代码的形势来看看Kotlin中if语句的写法
fun largeNum1(a:Int,b:Int):Int{
var value=0
if (a>b){
value=a
}else{
value=b
}
return value
}
fun largeNum2(a:Int,b:Int):Int{
return if (a>b){
a
}else{
b
}
}
fun largeNum3(a:Int,b:Int)=if (a>b) a else b
when语句
fun getScore(name:String)=when(name){
"Tom"->86
"Jim"->77
"Jack"->95
"Lily"->100
else ->0
}
fun getScore1(name:String)=when{
name=="Tom"->86
name.startsWith("Jim")->77
else->0
}
fun checkNumber(num:Number){
when(num){
is Int -> println("number is Int")
is Double -> println("number is Double")
else -> println("number not support")
}
}
for语句
0..10表示的是[0,10],0到10的闭区间
0 until 10 表示的是[0,10),0到10的开区间
step便是的是步长
10 downTo 0 表示10到0的降序
for (i in 0..10){
println(i)
}
for (i in 0 until 10 step 2){
println(i)
}
for (i in 10 downTo 1 step 3){
println(i)
}
标准函数
let函数、with函数、run函数、apply函数
扩展函数和运算符重载
比如给String类扩展函数,用+表示两个Money对象的相加。
网友评论