kotlin基础必备(有Java基础)
1.常量&变量
kotlin中省去了Java中详细的分类,只对常量和变量进行了单独分类如下,更为便捷
常量—>val
变量—>var
【注】建议优先使用val来声明一个变量,当val不能满足需求时再使用var,这样才能使程序更健壮,也更符合高质量的编码规则。
2.函数
在kotlin中定义函数不在像Java和C语言一般,
在kotlin中定义函数的关键字—>fun 举例如下:
fun methodName(a:Int,b:Int):Int{
//fun 函数名(参数:参数类型)函数返回值的类型{}
return 0;
}
当函数需要返回一个值时,在括号后面我们注明其类型,也就是上面书写的 :Int
3.程序的逻辑控制
1)if条件语句
kotlin中的if语句与Java中差别不大
下面是一个简单的使用了if条件语句的函数
fun largerNumber(num1:Int,num2:Int):Int{
var n=0
//因为n的值会依据不同情况赋给不同的值,所以使用了var并将n初始化为0
if(num1>num2){
n=num1
}else{
n=num2
}
return n
}
我们可以从上面的代码发现kotlin中的if语句相较于Java而言多了一个功能,即:它是可以有返回值的。那么我们的代码可以简化成如下形式
fun largerNumber(num1:Int,num2:Int):Int{
var n=if(num1>num2){
num1
}else{
num2
}
return n
}
//因为kotlin中的if语句本身可以有返回值,也就是说我们定义的变量n其实是一个多余变量
//所以我们的代码可以简化为如下形式
/*
fun largerNumber(num1:Int,num2:Int):Int{
return if(num1>num2){
num1
}else{
num2
}
}
*/
有一点很重要,当一个函数只有一行代码时,可以省略掉函数体的部分。那么对于我们此处的代码,它就可以精简为如下形式
fun largerNumber(n1:Int,n2:Int)=if(n1>n2) n1 else n2
2)when条件语句
kotlin中的when语句类似于Java中的switch语句,但它的功能比switch更强大完善
eg:
-
我们编写一个查询不同人成绩的功能的函数,使用if语句的代码如下
fun getScore(name:String)=if (name=="Tom"){
86 }else if (name=="Jim"){
77 }else if (name=="Jack"){
95 }else if (name=="Lily"){
100 }else{
0 }而当我们使用when语句时,我们的代码是以下形式
fun getScore(name: String)=when(name){
"Tom"->86
"Jim"->77
"Jack"->95
"Lily"->100
//匹配值->{执行逻辑} 当执行逻辑只有一行代码时我们可以省略{...}
else->0
}我们需要知道:在kotlin中,when语句和if语句一样,是可以有返回值的,when语句允许传入任意类型的参数。
-
when语句可以进行类型匹配
fun checkNumber(num:Number)=when(num){
is Int-> println("number is Int")
is Double-> println("number is Double")
//is关键字是类型匹配的核心
//它相当于Java中的instanceof关键字
else-> println("number not support")
} -
when语句也可以不带参数使用(适用于以下情况:所有以Tom开头的名字对应的数据都是86时)
fun getScore(name: String)=when{
name.startsWith("Tom")->86
//传入name只要是以Tom开头,他对应的数据就是86
name=="Jim"->77
name=="Jack"->95
name=="Lily"->100
else->0
}
3)循环语句
(1)while循环
与Java中的while循环用法没有任何区别
(2)for循环
for-in循环
-
升序区间
-
双端闭区间
区别于Java,我们可以使用kotlin代码表示一个区间
..是创建两端闭区间的关键字
val r=0..10
//表示[0,10]我们可以用for-in循环遍历上述区间
fun main(){
for(i in 0..10){
println(i)
}
//输出包括1和10在内的区间内所有数
} -
单端闭区间(符合数组规则)
使用until关键字可以创建一个左开右闭的区间
val r=0 until 10
for (i in r){
//相当于java中for-i循环中i++的效果
print(i+" ")
}如果想要跳过一些元素,那么我们可以使用step关键字
for (i in 0 until 10 step 2){
//相当于java中for-i循环中i=i+2的效果
print(i+" ")
}
-
-
降序区间(双端闭区间)
可以使用downTo关键字实现,它一样可以使用step关键字实现跳过一些元素的功能
for (i in 10 downTo 1 step 2){
print(i+" ")
}

浙公网安备 33010602011771号