第四章 Kotlin基本语法(2)

Kotlin虽然能调用java类库,但存在很大的语法差异,有语言基础的同学,学起来可以通过类比的方式循序渐进。由于我之前一直使用java进行Android开发,学起来比较顺手。

参考网上资料整理了kotlin中的关键字(可能有遗漏,请回复补充)

by、as、lazy、init、downTo、when、in、is、and、or

声明:open、sealed、override、fun、inline、internal、data、companion、object、lateinit、var、val

数据类型:Any(Object)、Unit(Void)

基本类型:Byte、Char、Short、Int、Float、Long、Double、Boolean

kotlin中基本数据类型作为对象存在,在实际开发中参考api使用。

字符串

不同于Java中的表现形式,使用$符号进行字符串拼接,$支持表达式,用{}括弧。

val a = "test"//定义字符串

val a1=a[1]//结果为e

val b = "copy $a"  //字符串拼接使用$,结果为copy test,当然java中的+也支持,不推荐

val c = "a+b=${a+b}"//$支持表达式,结果为a+b=copy testtest

val d ="${'$'}9.99"//结果为$9.99

if条件表达式

kotlin中if不再是一个条件判断语句,而是表达式,有返回值,因此也不需要三目运算符(xx?xx:xx)。

val a:Int=1

val b:Int=2

val c:Boolean=if(a

      print(a)

      true

  }else{

       print(b)

       false

   }  //返回true

fun max(a:Int,b:Int) = if(a>b) a else b //判断大小,返回b

另一个强大的判断语句when

代替了java中的switch...case,条件可以是基本数据类型、字符串、表达式,语法自由的lambda表达式,具体参考如下实例代码。

第四章 Kotlin基本语法(2)_第1张图片

可将逻辑判断结果赋值给常量、变量,甚至可以作为函数返回值

第四章 Kotlin基本语法(2)_第2张图片

when语句必须包含else分支,类似java switch里的default分支。

in关键字

判断一个对象是否在某个区间内,使用in关键字,也可当做java中for each遍历数组、集合,也可判断某个元素是否在集合中,更多功能在实际开发中能使用到。

第四章 Kotlin基本语法(2)_第3张图片

in关键字的内部实现原理:

for( int i = first ; i != last ; i += step){

//.........

}

Return、Break和Continue

这3个关键字在kotlin中的使用与java中略微不同,kotlin中任何表达式都可以使用标签(xx@)标记,并且函数可以嵌套,因此我们可以使用标签来限制return、break、continue的使用。

第四章 Kotlin基本语法(2)_第4张图片

上述运行结果是:

i=1,j=5

i=0

continue,i=1,j=5

i=2

break,j=5

i=3

i=4

continue,i=5,j=1

Process finished with exit code 0

通过运行上述代码,我们可以理解标签的作用,自己动手敲一遍代码比copy理解的更透彻。

return的使用稍有不同,请看如下实例代码:

第四章 Kotlin基本语法(2)_第5张图片

运行结果:

return,k=1

return,k=3

return,k=5

return,k=7

return,k=9

Process finished with exit code 0

代码简洁,实际操作过程中,可通过标签的有无运行上述代码进行理解。不多解释。

你可能感兴趣的:(第四章 Kotlin基本语法(2))