博客
关于我
Kotlin学习之变量和函数的讲解
阅读量:271 次
发布时间:2019-03-03

本文共 2290 字,大约阅读时间需要 7 分钟。

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 代码的网址


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);}

运行结果:

在这里插入图片描述



转载地址:http://enkl.baihongyu.com/

你可能感兴趣的文章
【论文写作PS】两张图片合为一张,不覆盖
查看>>
【程序】打包opencv程序
查看>>
浅谈算法——从多项式乘法到FFT
查看>>
bug宝典JAVA篇 maven打不进xml文件
查看>>
第3.1.6章 WEB系统最佳实践 js控件之bootstrap table
查看>>
C++基础(一)数据类型
查看>>
[OpenGL ES] VBO 顶点缓冲对象
查看>>
尚硅谷2019年Netty教程 零拷贝 ----目标netty---step2.10
查看>>
springboot多模块
查看>>
打开UltraEdit,提示文件可能不是DOS格式
查看>>
vue子组件传值到父组件$emit
查看>>
ajax面试题大全
查看>>
JS判断数组中是否包含某个值
查看>>
Event Loop详解
查看>>
css面试点总结一
查看>>
牛逼设置
查看>>
foxmail配置qq邮箱,ssl连接错误
查看>>
UltraEdit不产生bak 文件可能不是DOS格式
查看>>
Linux系统Web应用安全加固
查看>>
【互联网安全】业务安全及防护(数据风控)
查看>>