面向编程人员的 Kotlin 训练营 1:入门

此 Codelab 是面向编程人员的 Kotlin 训练营课程的一部分。如果您按顺序学习这些 Codelab,您将会充分发掘此课程的价值。根据您的知识水平,对于某些版块您也许只需要略读即可。本课程专为了解面向对象的语言并想学习 Kotlin 的编程人员而设计。

简介

面向编程人员的 Kotlin 训练营课程将教您 Kotlin 编程语言。在此 Codelab 中,您将了解使用 Kotlin 编程语言进行编程的优势,并安装 IDE 以准备学习第一课。

本课程专为了解面向对象的语言并想详细了解 Kotlin 的编程人员而设计。如果您熟悉 C#,就会熟悉 Kotlin 的一些功能。如果您主要熟悉 Java 编程语言,您可能会惊讶于代码的简洁性和可读性。

自 2017 年以来,Google 一直正式支持使用 Kotlin 开发 Android 应用。请参阅 Android 开发者博客上的公告。本课程内容是学习 Android Kotlin 基础知识的先决条件。

您应当已掌握的内容

您应熟悉以下内容:

  • 现代的、面向对象的静态类型化编程语言(例如 Java 或 C#)的基础知识
  • 如何使用类、方法和异常处理以至少一种语言进行编程
  • 使用 IntelliJ IDEA、Android Studio、Eclipse 或 Visual Studio 等 IDE

学习内容

  • 如何使用 Kotlin REPL(读取-求值-输出循环)交互式 shell
  • Kotlin 代码的基本语法

您将执行的操作

  • 安装 Java 开发工具包 (JDK) 和 IntelliJ IDEA,并熟悉一些 Kotlin 功能。

Kotlin 是一种全新的现代编程语言,由程序员为程序员打造。它注重清晰度、简洁性和代码安全性。

健壮的代码

Kotlin 的创建者对此编程语言做出了各种设计决策,以帮助编程人员创建健壮的代码。例如,软件中的 null 指针异常不仅造成了经济损失和严重的计算机崩溃,还增加了不计其数的调试工作。因此,Kotlin 区分了可为 null 和不可为 null 两种数据类型,这有助于在编译时捕获更多错误。Kotlin 是强类型编程语言,能够从代码中推断出类型。此编程语言具有 lambda、协程和属性,这不仅可以减少您需要编写的代码量,而且也会减少 bug。

成熟的平台

Kotlin 自 2011 年推出以来一直被广泛使用,并且已于 2012 年开源。2016 年,发布了 1.0 版。自 2017 年以来,Kotlin 一直是构建 Android 应用的官方支持语言。此外,它还已纳入 IntelliJ IDEA 以及 Android Studio 3.0 及更高版本中。

简洁、易读的代码

用 Kotlin 编写的代码可以非常简洁。此编程语言旨在消除 getter 和 setter 等样板代码。例如,请参考以下 Java 代码:

public class Aquarium {

   private int mTemperature;

   public Aquarium() { }

   public int getTemperature() {
       return mTemperature;
   }

   public void setTemperature(int mTemperature) {
       this.mTemperature = mTemperature;
   }

   @Override
   public String toString() {
       return "Aquarium{" +
               "mTemperature=" + mTemperature +
               '}';
   }
}

可以用 Kotlin 照此进行简洁地编写:

class Aquarium (var temperature: Int = 0)

有时,简洁性目标和可读性目标相悖。Kotlin 旨在使用“适量的样板代码”,以确保可读性,同时保持简洁性。

可与 Java 互操作

Kotlin 代码可进行编译,因此您可以同时使用 Java 代码和 Kotlin 代码,并继续使用您喜爱的 Java 库。您可以将 Kotlin 代码添加到现有 Java 程序中;或者,如果您想完全迁移您的程序,IntelliJ IDEA 和 Android Studio 都包含用于将现有 Java 代码迁移到 Kotlin 代码的工具。

如果您的计算机上尚未安装最新的 JDK,请按以下步骤操作。您需要安装 JDK 才能运行 Kotlin 程序。

如需查看您已安装的 JDK 版本(如有),请在终端窗口中输入 javac -version。

javac -version

您可以在 Java SE Downloads 页面查看最新版本的 JDK。如果您已安装最新版本的 JDK,请跳至“安装 IntelliJ IDEA”。

第 1 步:卸载所有较旧版本的 JDK/JRE

在安装最新、功能最强大的版本之前,请先移除所有较旧版本的 JDK:

  • 对于 Windows,请依次选择 Control Panel > Add/Remove Programs。
  • 有关 Mac 的相关说明,请参阅卸载 JDK。

如需详细了解如何卸载较旧版本的 JRE,请参阅如何在 Mac 上卸载 Java?或如何在 Windows 计算机上卸载 Java?

第 2 步:下载 JDK

您可以从此处免费下载 JDK:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

  1. 点击最新 Java SE 版本对应的 JDK 下方的下载按钮。
  2. 选择接受许可协议。
  3. 选择适用于您操作系统的 JDK。

第 3 步:安装 JDK(适用于 Mac)

在浏览器的 Downloads 窗口或文件浏览器中,双击 .dmg 文件以启动安装文件。

  1. 此时将显示 Finder 窗口,其中包含打开框的图标和 .pkg 文件的名称。
  2. 双击软件包图标以启动安装应用,然后按照显示的提示进行操作。
  3. 您可能需要输入管理员密码才能继续。
  4. 安装完成后,您可以随时删除 .dmg 文件以节省空间。

第 3 步:安装 JDK 和 JRE(适用于 Windows)

  1. 运行下载的安装程序(例如,jdk-12_windows-x64_bin.exe),这会同时安装 JDK 和 JRE。默认情况下,JDK 安装在 C:\Program Files\Java\jdk-12 目录中。JRE 安装在 C:\Program Files\Java\jre1.8.0_x 中,其中 x 表示版本号。
  2. 接受默认值,然后按照屏幕上的说明安装 JDK。

第 4 步:将 JDK 和 JRE 安装目录添加到 PATH(仅适用于 Windows)

Windows 会在当前目录和 PATH 环境变量(系统变量)中列出的目录中搜索可执行程序。

  1. 依次打开控制面板 > 系统 > 高级系统设置 > 环境变量。
  2. 在系统变量下,点击新建,然后添加一个名为 JAVA_HOME 的变量,并以 JRE 的目录作为值。例如,C:\Program Files\Java\jre1.8.0_x,其中 x 是版本号。
  3. 在系统变量下,向下滚动以选择 Path,然后点击修改。
  4. 将 JRE 的 bin 目录添加到 Path 的开头,后跟一个半角分号:%JAVA_HOME%\bin;
  5. 在 Path 的末尾附加 JDK 的 bin 目录,并在前面加上英文分号。例如 ;C:\Program Files\Java\jdk-12\bin。

第 5 步:验证 JDK 安装

  1. 如需验证 JDK 是否已正确安装,请在终端窗口中输入以下命令:
java -version
javac -version

第 1 步:下载并安装 IntelliJ IDEA

根据您的操作系统,下载 IntelliJ IDEA。

Windows:

  1. 运行您下载的 ideaIC.exe 文件。
  2. 按照安装向导中的说明操作。

Mac:

  1. 如需装载 macOS 磁盘映像,请双击您下载的 ideaIC.dmg 文件。
  2. 将 IntelliJ IDEA 复制到 Applications 文件夹。

Linux:

  1. 请参阅下载的 .tar.gz 文件中的 Install-Linux-tar.txt。

如需详细了解如何安装和设置 IntelliJ IDEA,请参阅安装 IntelliJ IDEA。

第 2 步:验证 IntelliJ IDEA 安装

  1. 启动 IntelliJ IDEA。
  2. 安装系统提示您安装的所有更新和其他内容。
  3. 依次选择配置 > 检查更新,直到没有其他可用更新。

创建一个 Kotlin 项目,以便 IntelliJ IDEA 知道您正在使用 Kotlin。

  1. 在 Welcome to IntelliJ IDEA 窗口中,点击 Create New Project。
  2. 在 New Project 窗格中,选择左侧导航栏中的 Kotlin。
  3. 在右侧面板中选择 Kotlin/JVM,然后点击 Next。
  4. 将项目命名为 Hello Kotlin。
  5. 点击完成。

现在,您可以访问 REPL(读取-求值-输出循环)— Kotlin 的交互式 shell。一旦您按 Control+Enter(在 Mac 上,按 Command+Enter),系统就会解析您在 REPL 中输入的命令。

  1. 依次选择 Tools > Kotlin > Kotlin REPL 以打开 REPL。
  1. 将以下代码输入或粘贴到 REPL 中。
fun printHello() {
    println("Hello World")
}

printHello()
  1. 按 Control+Enter(在 Mac 上,按 Command+Enter)。您应当会看到如下所示的 Hello World。
  1. 快速了解一下此 Kotlin 代码。fun 关键字用于指明函数,后跟名称。与其他编程语言一样,圆括号用于函数实参(如有),大括号用于括住函数的代码。不存在任何返回值类型,因为此函数不会返回任何内容。另请注意,行尾没有分号。

恭喜!您已编写了您的第一个 Kotlin 程序。

  • Kotlin 与其他面向对象的编程语言类似。
  • 为您的操作系统安装最新版本的 JDK 以使用 Kotlin。
  • 安装 IntelliJ IDEA 以与 Kotlin 配合使用。
  • 在 IntelliJ IDEA 中,启动 Kotlin REPL (Tools > Kotlin > Kotlin REPL),以在交互式 shell 中练习。
  • 输入代码,然后按 Control+Enter(在 Mac 上,按 Command+Enter)运行此代码。
  • 以下是用 Kotlin 编写的“Hello World”:
fun printHello() {
    println ("Hello World")
}

printHello()

Kotlin 文档

如果您想详细了解本课程中的任何主题,或者遇到任何问题,不妨先访问 https://kotlinlang.org。

Kotlin 教程

https://try.kotlinlang.org 网站包含丰富的教程(称为 Kotlin Koans)、一个基于网络的解释器以及一套完整的参考文档和示例。

Udacity 课程

如需查看有关此主题的 Udacity 课程,请参阅面向编程人员的 Kotlin 训练营。

IntelliJ IDEA

您可以在 JetBrains 网站上找到 IntelliJ IDEA 的文档。

此部分列出了在由讲师主导的课程中,学生学习此 Codelab 后可能需要完成的家庭作业。讲师自行决定是否执行以下操作:

  • 根据需要布置作业。
  • 告知学生如何提交家庭作业。
  • 给家庭作业评分。

讲师可以酌情采纳这些建议,并且可以自由布置自己认为合适的任何其他家庭作业。

如果您是在自学此 Codelab,可随时通过这些家庭作业来检测您的知识掌握情况。

回答以下问题

问题 1

以下哪一项不是使用 Kotlin 语言的优势?

▢ Kotlin 区分可为 null 和不可为 null 两种数据类型。

▢ Kotlin 是构建 Android 应用的受支持语言。

▢ Kotlin 的设计旨在让您能够编写更少的代码,同时减少 bug。

▢ Kotlin 中的代码编译速度更快。

问题 2

如何启动 Kotlin REPL?

▢ 在命令行中输入 repl。

▢ 在 IntelliJ IDEA 中创建一个 Kotlin 项目,然后选择 Run > Kotlin REPL。

▢ 打开 IntelliJ IDEA,然后选择 File > Kotlin REPL。

▢ 在 IntelliJ IDEA 中创建一个 Kotlin 项目,然后依次选择 Tools > Kotlin > Kotlin REPL。

问题 3

以下关于 Kotlin 和 Java 代码的说法中,哪一项不正确?

▢ Kotlin 代码和 Java 代码可以并行运行。

▢ 您可以将 Kotlin 代码添加到现有 Java 程序中。

▢ 您可以将现有 Java 代码迁移到 Kotlin。

▢ Kotlin 代码的运行速度比 Java 代码快。

继续学习下一课:2. Kotlin 基础知识

如需查看本课程的概览(包括指向其他 Codelab 的链接),请参阅“面向程序员的 Kotlin 训练营:欢迎来到本课程”。