面向编程人员的 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 训练营:欢迎来到本课程”