这是我参与「第四届青训营 」笔记创作活动的第2天
今天讲一下Kotlin的基础知识
首先,Kotlin的工作原理是什么呢?
- 在Android系统诞生的前面9年里,Google都只提供了Java这一种语言来开发Android程序,没有哪个语言能够影响Java的正统地位。
- 从2017年开始,Goodle在I/O大会上宣布,Kotlin正式成为Android的一级开发语言,和Java平起平坐。两年之后,Google又宣布,Kotlin已经成为Android的第一开发语言,Goodle推荐开发者使用Kotlin来编写Android应用程序,这更加展现了Kotlin的地位。
- Kotlin是JetBrains公司开发设计的。那么Android操作系统明明是由Google开发的,为什么JetBrains作为一个第三方公司,却能够在自己设计出一门编程语言来开发Android应用程序?
- 这就要从Java语言的运行机制说起来,虽然Java代码是要先编译再运行,但是Java代码编译之后生成的并不是计算机可识别的二进制文件,而是一种特殊的class文件,这种文件只有java虚拟机(充当解释器)才能识别,Java虚拟机会在程序运行时将编译后的class文件解释为计算机可识别的二进制数据后再执行。
- 所以,Kotlin的工作原理便是如此,JetBrains做了个编译器,让这门新语言的代码编译成同样规格的class文件,就能让java虚拟机识别出来啦。
- 那么 对比Java来说,Kotlin有什么特点呢?
比如说Kotlin的语法更加简洁,对于同样的功能,使用Kotlin开发的代码量 可能会比使用Java开发的减少50% 甚至更多。另外,Kotlin的语法更加高级,相比于Java比较 老旧的语法,Kotlin增加了很多现代高级语言的语法特性,使得开发效率大大提升。还有, Kotlin在语言安全性方面下了很多工夫,几乎杜绝了空指针这个全球崩溃率最高的异常, 然而Kotlin在拥有众多出色的特性之外,还有一个最为重要的特性,那就是它和Java是100%兼 容的。Kotlin可以直接调用使用Java编写的代码,也可以无缝使用Java第三方的开源库。这使 得Kotlin在加入了诸多新特性的同时,还继承了Java的全部财富。
- 这是作者在《第一行代码》说的,我们可以看出,Kotlin在继承了JAVA之外,其语法会更加简洁,并增加了很多现代高级语言的语法特性,大大提升开发效率。除此之外,Kotlin几乎杜绝了空指针这个异常。
- 接下来,就正式开始Kotlin的学习了
编程之本:变量和函数
Ⅰ 变量
和大多数语言所不同的是,Kotlin中定义一个变量,只允许在变量前声明两种关键字:val 和 var
- val(value) 用来声明一个不可变的变量
- var(variable)用来声明一个可变的变量
Ⅱ 程序的逻辑控制
- Kotlin代码简洁的体现:
if语句
- Kotlin的if语句每一个条件中最后一行代码的返回值可以当作整个语句的返回值
- 当一个函数只有一行代码时,可以省略函数体部分,直接将这一行代码使用等号串连在函数定义的尾部。
when 语句
when语句允许传入一个任意类型的参数,然后可以在when的结构体中定义一系列的条件:
匹配值 -> {执行逻辑}
循环语句
- 表示一个区间:eg:[0,10]=0..10,左闭右开区间[0,10)=0 until 10
- 跳过某个区间元素:0 until 10 step x
- 降序区间: i in 10 downTo 1
本期内容到这里就结束了
下一期来讲kotlin的面对对象及lambda编程还有空指针相关
我们下期再见