zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Kotlin基础学习(一)—— Kotlin 简介

2023-04-18 14:25:27 时间

一、背景

2017年 的Google I/O大会上,Kotlin称为官方的Android开发语言。

发明公司:JetBrains(最负盛名的IDE创造者,包括Android Studio、IntelliJ、RubyMine)。关于Kotlin想法的构思在 2010年 诞生于JetBrains。

读音:cot-lin

特点:简洁、安全、实用

  • 简洁性:
      ①努力地保证你写的代码都具有实际的意义,而不是仅仅为了满足代码结构的需要。许多标准的Java样板代码,例如getter、setter以及将构造方法的参数赋值给字段的逻辑,在kotlin中都是隐式的。
      ②kotlin有丰富的标准库,让你用库方法调用来代替这些冗长重复的代码段

  • 安全性:
      可以防止程序出现某些类型的错误。如Kotlin不需要指定所有的类型声明,因为许多情况下编译器会自动推断出类型。还有具体的:①提供方法来处理可空数据,避免NullPointerException;②避免ClassCastException,Kotlin可以做类型检查

  • 实用性
       帮助解决实际项目的问题;Kotlin 易于学习;开发环境好用

二、简介

Kotlin是一种针对Java平台的新编程语言,几乎可以用在现在Java使用的任何地方。

1、Kotlin 与 Java 对比(类型系统方面)

相同点:

   Kotlin和Java一样,是一种静态类型的编程语言(静态类型:所有表达式的类型在编译期间就已经确定了,而编译器就能验证对象是否包含想要访问的方法或者字段。动态类型的语言有Groovy、JRuby)。

不同点:

  ① Kotlin不需要在源码中显式声明每个变量的类型,它可以根据上下文来自动判断(编译器的这种从上下文推断变量类型的能力称为 类型推导

val x = 1

  ② Kotlin对可空类型有支持,通过在编译期检测可能存在的空指针异常。(《Kotlin实战》第六章)
  ③ Kotlin对函数类型有支持,即函数式编程(与面向对象编程相对应)。(《Kotlin实战》8.1.1)
    函数式编程的核心:
     1)头等函数——把函数当作值使用,可以用变量保存它,把它当作参数传递,或当作其他函数的返回值;
     2)不可变性——使用不可变对象,可保证状态不变;
     3)无副作用——使用的是纯函数。这类函数在输入相同时,会产生同样的结果,并且不会修改其他对象的状态,也不会与外面的世界交互。

2、编译Kotlin 代码

在命令行执行Kotlin代码

1)使用Kotlin运行

执行命令

kotlinc xxx.kt

可以生成 XxxKt.class 文件,这个文件需用kotlin命令执行:

kotlin XxxKt

2)使用本地JVM运行

kotlinc xxx.kt -include-runtime -d xxx.jar 
  • -d:用于指定生成的jar。该jar包可以通过java -jar进行运行
  • -include-runtime:指定生成的jar中包含Kotlin包,这样这个jar可以独立地运行;如果不添加该选项,则生成的jar包不可独立运行,但可以将该jar包导入到含有Kotlin包中项目中作为library使用。
java -jar hello.jar

查看 hello.jar 的内容:

其中,kotlin中包含 Kotlin 类库 对应的class文件

Kotlin的构建过程:

在 IntelliJ 中新建Kotlin项目,会自动为项目添加 JDKKotlinJavaRuntime 的依赖库:

在绝大多数工作中,会使用像 Maven、Gradle 或者 Ant 这样的构建系统来编译代码。

3、开发工具

(1)IntelliJ IDEA是Kotlin可用的功能最全面的开发环境,提供了 Kotlin 开发所需的全套工具。

Android Studio 和 Eclipse 需要安装相应的 kotlin 插件。

(2)在线playground:http://try.kotl.in

参考:
https://www.cnblogs.com/ShaYeBlog/p/7280452.html
https://kotlin.dovov.com/kotlin-967.html
http://carlwe.com/2019/07/20/kotlin%E6%B7%B7%E5%90%88%E5%BC%80%E5%8F%91%E4%B8%8B/