kotlin学习笔记之一:基础语法

      年前看boss直聘,很多安卓开发岗位需要熟练kotlin开发,为了年后找工作和以后开发效率提升,春节假期开始了kotlin的学习,主要教材是《Kotlin 实战》kotlin in action这本书,这几天有时间顺便把阅读笔记整理下,这里是前三章内容的回忆和笔记整理。

1、kotlin代码在java中访问:文件名+Kt.fun名称,文件名可以通过注解指定名称:@file:JvmName("")//放在package之上

2、kotlin中fun相当于java中静态方法,变量相当于java中静态变量,const修饰变量相当于java中public static final修饰变量

3、kotlin文件中可以定义多个class,避免创建多个包和类文件,换句话说,kotlin中文件相当于java中包的作用

4、默认为类中属性提供get和set访问器,可以在属性下方创建get()或set()方法来重写访问器

5、val不可变引用,相当于Java中final static修饰,var可变引用,相当于java中普通变量

6、kotlin中变量没有类型,初次赋值后自动推导类型,之后不可以赋值其它类型数据

7、kotlin中枚举类,必须由enum class修饰,内部存在方法时需要用分号与枚举常量分隔

8、if和switch语句都可以由kotlin中when(一种有返回值的表达式)结构表示,条件为复杂组合时,必须由else返回值

9、when表达式可以无参,分支条件可以自定义布尔表达式,分支中可以为返回值或者代码块

10、Richard of york gave battle in vain!(red,orange,yellow,green,blue,indigo,violet)七色

11、迭代数字:开始值+两个点+结束值,也可以通过for(x in start upTo/downTo end step y)生成数列

12、集合遍历:map用for((key,value) in map),可以直接遍历出key和value;list用for((index,value) in list.withIndex())一次遍历出索引和值

13、in运算符:判断在范围内,例如:x in 'a'..'z'

14、try catch可以作为表达式给变量赋值。

15、调用变量时,会默认调用变量的toString()方法,集合可以通过joinToString方法修改默认输出格式

16、通过变量.javaClass查看变量的实际类型

17、集合语法糖:last(),first(),max() //应用在集合类型数据上

18、kotlin中方法参数可以设置默认值,调用时通过指定参数名传参,java调用kotlin方法时有两种方式:全部参数传参;方法加上@JvmOverloads修饰,可以生成依次减少参数的多个方法

19、kotlin扩展别人的方法和属性:声明函数时,在(fun名字/变量名字)中加上(扩展的类或者接口名称.)(称为接收者类型),调用时通过(对应类型数据+.+fun名称/变量名称)使用,

20、扩展方法编译为java代码为:静态方法,参数为接收者类型;java调用扩展函数时,也是通过静态方法传参调用;

21、扩展方法对于重写不起作用,仅对于声明时的接收者类型起作用!!!

22、导入kotlin文件时,可以使用as设置别名,来预防引入不同包下同名类的尴尬。

23、kotlin中任意数量参数用vararg修饰参数名,java中用...

24、kotlin展开运算符*,用于list包含数组参数

25、to用法:中缀调用:1.to("one") == 1 to "one"; to函数用infix修饰,返回Pair类型的对象


      这里我整理的内容有些不是原文内容,是我自己理解的,欢迎有兴趣阅读的朋友来交流。

      个人QQ号:961697233



转载于:https://juejin.im/post/5c78f74e51882562851b6588

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值