您的位置:首页 > 其它

Kotlin学习过程 二 Kotlin基础语法

2017-06-12 20:27 369 查看
这次说的是Kotlin一些独特的基础语法

1. 首先就是它语句尾部不用加冒号,加了也没事

2. 定义函数,在函数前面需要加fun关键字,如果是重载父类的函数,还需要添加override关键字,例子如下:

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

sum6(4)
}
}


3 返回值的定义,需要后面写,并且java里的int写作Int,还有就是如果函数只有一条语句可以直接写后面,这个时候返回值可以不用写。

如果是有public关键字,除非返回值是空的,否则必须要写,这个空类型是Unit

fun sum1(a:Int,b:Int):Int{
return a+b
}

fun sum2(a:Int,b:Int)=a+b

public fun sum3(a:Int,b:Int):Int=a+b

fun sum4(a:Int,b:Int):Unit{
a+b
}

public fun sum5(a:Int,b:Int){
a+b
}


4 空值检测,如果是返回值后面跟着?,这个返回值可能为空

fun sum7(a:Any):Int?{
if(a is String){
return a.length
}

return null
}


5 in的使用,它是在if判断语句里检测时候在两个值中间,如果再for语句就是遍历并赋值

fun sum6(x:Int){
if(x in 1..5)
Log.v("zzw",x.toString())

for(x in 1..5)
Log.v("zzw",x.toString())

}


6 is关键字,相当于java里的instanceof

fun sum7(a:Any):Int?{
if(a is String){
return a.length
}

return null
}


7 when表达式,相当于java里的switch

fun sum8(a:Any){
when(a){
1 -> Log.v("zzw","1");
"hello" ->  Log.v("zzw","这个是字符串hello")
is Long ->  Log.v("zzw","这是一个Long类型数据")
!is String ->  Log.v("zzw","这不是String类型的数据")
else    ->  Log.v("zzw","else类似于Java中的default")
}
}


8 定义变量,前面看到了几个变量和java差不多,但Kotlin有两个独特的变量类型

val,var

val:它没有特定的变量类型,在第一次赋值时会根据那个值的类型来确定,而且这个类型的值只能赋值一次,相当于java的final

var:和上面一样,但它能够多次赋值,但数据类型在第一次赋值确定

fun sum10(){
var a = 1
a=a+1
var b:String ="String";

val c="String"
val d:Int =1;

}


下一次开始讲在Android里的Kotlin的使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: