Kotlin学习之变量和函数的讲解
Posted CodeJiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin学习之变量和函数的讲解相关的知识,希望对你有一定的参考价值。
1. Kotlin学习
1.1 为什么要学习Kotlin
1.1.1 发展历程
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.2.相比于Java的优势
1.语法更加简洁,对于同样的功能,
使用Kotlin开发的代码量可能会比使用Java开发的减少50%甚至更多。
2.语法更加高级,相比于Java比较老旧的语法,
Kotlin增加了很多现代高级语言的语法特性,使得开发效率大大提升。
3.语言更加安全,Kotlin几乎杜绝了空指针这个全球崩溃率最高的异常。
4.和Java是100%兼容的,Kotlin可以直接调用使用Java编写的代码,
也可以无缝使用Java第三方的开源库。这使得Kotlin在加入了诸多新特性的同时,
还继承了Java的全部财富。
1.3 三.工作原理
Kotlin可以做到和Java 100%兼容,这主要是得益于Java虚拟机的工作机制。
其实Java虚拟机并不会直接和你编写的Java代码打交道,
而是和编译之后生成的class文件 打交道。
而Kotlin也有一个自己的编译器,它可以将Kotlin代码也编译成同样规格的class文件。
Java虚拟机不会关心class文件是从Java编译来的,
还是从Kotlin编译来的,只要是符合规格的class文件,它都能识别。
2. 正式学习Kotlin语法
我的 Kotlin代码的运行环境为Android Studio
如果你们没有这个IDE , 这里分享一个在线运行 Kotlin 代码的网址 在线运行Kotlin代码
2.1 变量和函数
Kotlin中定义一个变量,只允许在变量前声明两种关键字:val和var。
- var(variable的简写的简写)用来声明一个可变的变量,这种变量在初始赋值之后仍然可以再被重新赋值复制,对应Java中的非final变量。
- val(value的简写的简写)用来声明一个不可变的变量,这种变量在初始赋值之后就再也不能重新赋值,对应Java中的final变量。
注意: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)
运行结果:
Kotlin完全抛弃了Java中的基本数据类型,全部使用了对象数据类型。在Java中int是整型变量的关键字,而在Kotlin中Int变成了一个类,它拥有自己的方法和继承结构。
对照表:
2.2 函数
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);
运行结果:
以上是关于Kotlin学习之变量和函数的讲解的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin学习之---- 常见内置函数的总结apply,with,let,also,run....