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学习之高阶函数及常用基本高阶函数

kotlin学习之嵌套类

Kotlin学习之---- 常见内置函数的总结apply,with,let,also,run....

ES6学习之变量的解构赋值

Android 学习之《第一行代码》第三版 笔记Kotlin 继承时的括号到底写不写

Kotlin学习之双冒号