Kotlin学习(1)初识及环境搭建,面试4个月被17家公司拒绝

在AndroidStudio创建工程的时候,使用下面选项:

在这里插入图片描述

创建工程后,因为非国内的jcent下载kotlin包会很慢,可能会出现`Could

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

not download kotlin-gradle-plugin.jar`的错误,所以在 build.gradle下将jecent替换:

在这里插入图片描述

然后,环境算是搭建好了。点个锤子+运行:

在这里插入图片描述

初始Kotlin语言

===========================================================================

Kotlin现在是Android开发的一种趋势,其在Android的使用的比重使用是越来越大,虽然现在和Java比还是28开(前几年是19开),但既然是趋势,那我们就有必要学习并加入到武器库中,就跟AndroidX一样。

Kotlin为什么会成为一种趋势,那它肯定有许多Java不及的优点,下面我列举几个其特性:

  • 和Java及JVM的互操作性,即可以无缝使用各种Java Api框架库

  • 多平台:适用于Android、JS、本地系统编程(Native)

  • 语法简洁(就是比较好学)

  • 支持类型推断( Java中要写 int/float ,Kotlin 中只用写 val,编译器就会帮你推断类型)

  • 区分可空类型和不可空类型(这对于一个经常忘记判空的Java程序员来说非常的友好= =)

  • 集成了 文件I/O、正则匹配、线程等工具类

  • Anko库使得Android开发速度更快

总的来说可以概括为:

  1. 实用

  2. 极简

  3. 多范式

  4. 可扩展

Kotlin可以直接扩展函数与属性。(还记得装饰模式吗)

  1. 高阶函数与闭包

  2. 支持快速实现DSL

  3. 空安全

Kotlin与Java的互操作性


给出下面一段代码:

//fun是函数关键字,后面跟的是函数名, 冒号后面是 返回类型

fun getList() : List {

//直接使用了 ArrayList这个Java的Api

val arrayList = ArrayList()

arrayList.add(“A”)

arrayList.add(“B”)

arrayList.add(“C”)

return arrayList

}

println(getList())

打印结果:

I/System.out: [A, B, C]

从上面可以看出

  • Kotlin可以直接使用Java的Api

  • Kotlin语句不用写 逗号

  • 使用val 声明了一个 ArrayList的对象

扩展函数与扩展属性


可以在不修改原来类的条件下自定义函数和属性,使得它们的表现就像是属于这个类一样

例如,我们给String类型扩展一个返回字符串首字母的 getFirstChar()的函数:

//直接String后面加个.然后 写出该函数

fun String.getFristChar(): String {

//this表示调用者对象

if (this.isEmpty()) {

return “”

}

//返回下标为0的字符并转成String类型

return this[0].toString()

}

Log.d(TAG, “abc”.getFristChar())

打印结果:

D/MainActivity: a

不可空类型与空安全


Koltlin中引入了不可空类型与可空类型来明确声明一个变量是否可能为null

同时在编译期通过类型是否匹配来检查空指针异常,大大降低了空指针异常出现的概率。

同时Kotlin还提供了 Elvis操作符安全调用符 等极简的语法格式来判空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值