本文共 2290 字,大约阅读时间需要 7 分钟。
1.2011年,JetBrains发布了Kotlin的第一个版本,并在2012年将其开源。2.2016年Kotlin发布了1.0正式版,代表着Kotlin语言已经足够成熟和稳定了,并且JetBrains也在自家的旗舰IDE开发工具IntelliJ IDEA中加入了Kotlin的支持。3.2017年Google宣布Kotlin正式成为Android开发一级语言,并且Android Studio也加入了对Kotlin的支持。4.2019年Google正式宣布了Kotlin First,未来提供的官方API也将会以Kotlin版本为主。
1.语法更加简洁,对于同样的功能,使用Kotlin开发的代码量可能会比使用Java开发的减少50%甚至更多。2.语法更加高级,相比于Java比较老旧的语法,Kotlin增加了很多现代高级语言的语法特性,使得开发效率大大提升。3.语言更加安全,Kotlin几乎杜绝了空指针这个全球崩溃率最高的异常。4.和Java是100%兼容的,Kotlin可以直接调用使用Java编写的代码,也可以无缝使用Java第三方的开源库。这使得Kotlin在加入了诸多新特性的同时,还继承了Java的全部财富。
Kotlin可以做到和Java 100%兼容,这主要是得益于Java虚拟机的工作机制。其实Java虚拟机并不会直接和你编写的Java代码打交道,而是和编译之后生成的class文件 打交道。而Kotlin也有一个自己的编译器,它可以将Kotlin代码也编译成同样规格的class文件。Java虚拟机不会关心class文件是从Java编译来的,还是从Kotlin编译来的,只要是符合规格的class文件,它都能识别。
我的 Kotlin代码的运行环境为Android Studio
如果你们没有这个IDE , 这里分享一个在线运行 Kotlin 代码的网址
Kotlin中定义一个变量,只允许在变量前声明两种关键字:val和var。
注意:Kotlin代码不用加分号
var a = 10
Kotlin可以根据后面的数据来自动推导数据类型, 如果后面没有赋值, 则应该显式的声明变量的类型
var a: Int = 10
比如这样
测试代码:
//主函数fun main() {// 输出 Hello Kotlin println("Hello Kotlin")// 定义一个 a变量 并且赋值为10 var a = 10 println("a = " + a)// a * = 10 进行一个简单的计算 a *= 10 println("a = " + a)}
运行结果:
对照表:
fun methodName(param1: Int, param2: Int): Int { return 0}
说明:fun(function的简写)是定义函数的关键字,无论你定义什么函数,都一定要使用fun来声明。紧跟在fun后面的是函数名,良好的编程习惯是函数名最好要有一定的意义,能表达这个函数的作用是什么。函数名后面的一对括号中,可以声明该函数接收什么参数。括号后面的部分是可选的,用于声明该函数会返回什么类型的数据。如果不需要返回任何数据,这部分可以不写。两个大括号之间的内容就是函数体了,可以在这里编写函数的具体逻辑。
测试代码:
//主函数fun main() {// 因为 1 < 2 所有这里会打印 2 println(largerNumber(1,2))}//返回2个参数中最大的那个数fun largerNumber(num1: Int, num2: Int): Int { return max(num1, num2);}
说明: max是Kotlin内置的一个函数
运行结果:fun largerNumber(num1: Int, num2: Int)= min(num1,num2)
使用这种写法,可以直接将唯一的一行代码写在函数定义的尾部,中间用等号连接即可。return关键字也可以省略,等号足以表达返回值的意思。Kotlin还拥有出色的类型推导机制,可以自动推导出返回值的类型。
测试代码:
//主函数fun main() {// 因为 1 < 2 所有这里会打印 1 println(smallerNumber(1,2))}//返回2个参数中最大的那个数fun largerNumber(num1: Int, num2: Int): Int { return max(num1, num2);}
运行结果:
转载地址:http://enkl.baihongyu.com/