当前位置:资讯中心>技术文章
公司动态 行业新闻 技术文章

Kotlin Tutorial入门

发布时间:2017-07-03 点击数:3539

如果你是一个Android或Java技术开发人员,Groovy、ScalaJRubyJython这些JVM Language,或许曾经听过、看过,甚至已经研究过,不过你可能最后还是回到Java程序语言的怀抱。

Java程序设计语言已经二十几岁了,如果有人问我「Java是不是一种「好」程序语言?」,我都会这么回答「只要是可以帮我付账单和贷款的,都是一种「好」技术」,算是巧妙的回避问题。因为如果叫我想五个对于Java程序设计语言的形容词,其中会有三个是比较负面的。如果针对具备三年以上Java程序设计师进行问卷调查,同样请大家想五个形容词,不知道会有什么样的结果。

Kotlin是一个比较新的JVM程序语言,它是在2011年7月由JetBrains发表的项目,JetBrains是开发工具IntelliJ IDEA的开发商,Android Studio就是以IntelliJ IDEA为基础的Android官方开发工具。Kotlin v1.0在2016年2月发表,是第一个由JetBrains发布的Kotlin正式版本。

对我来说,Kotlin跟其它JVM程序语言最大的差异,倒不是架构或语法,而是2017年5月的Google开发人员大会,Android支持Kotlin官方的程序设计语。从Android Studio 3开始,开发人员可以直接使用Kotlin开发Android App。

Kotlin FAQ

已经熟悉Java程序设计语言

  • 我为什么要从Java转换成Kotlin

这个问题的另外一面,可能是「我花了几年的时间才完全熟悉Java,现在又要我学另一种程序语言,你最好是给我一个非常好、而且很明确的道理」。虽然这是一个很严肃的问题,不过我只能提供自己的几个想法给你参考:

    • 不论是以开发人员或讲师的角色来说,Java技术的确是不算简单的
    • Kotlin比Java简单吗?对我来说,是的
    • 同样功能的程序代码,Kotlin比Java的程序代码清爽多了(官方说最多可以减量40%)
    • Kotlin同样是在JVM运作,Java在这方面的特性Kotlin也有
  • Kotlin可以完全取代Java?
    • 开发Android App:是的
    • 开发Java应用程序,例如WEB、JavaFX:可以(没有「是的」那么肯定)
    • Kotlin官方网站说未来还会支持嵌入式、MacOSiOS
  • Kotlin可以和Java一起运作?

是的。Kotlin可以使用Java程序代码,Java也可以使用Kotlin程序代码。

  • Kotlin和Java的语法很不一样吗?

是的。不一样的程度可以想象成长得有点像的父子或母女。(这其实是废话,这样的形容几乎可以套用在所有不同的程序语言)

  • Kotlin也有Java 8的Lambda(functional programming)?

有。

  • Kotlin采用哪一种授权方式?

Apache Software License, Version 2.0

  • 需要花费多少时间学习Kotlin

如果选择一个好的教材,可以很容易把你在Java累积的技能快速转换到Kotlin。(广告:例如这个系列专栏就是好的教材,未来可能会出版电子书或实体书)

还不认识Java程序设计语言

  • 我想要学习开发Android App,那我应该要先学Java还是Kotlin

开发Android App使用Java或Kotlin都可以,都是官方正式支持的程序设计语言。你可以从几个想法去选择:

    • 想要比较快速进入开发Android App的阶段:选择Kotlin
    • 以开发Android App为主要的学习目的:选择Kotlin
    • 不知道该怎么选择,也没有任何想法:选择Kotlin
  • Java跟Kotlin哪一个比较容易学习?

我觉得Kotlin比Java容易学习。我的说法应该算是有说服力的,毕竟我已经当了十年以上的讲师,而且以Java与Android课程为主。

  • 听说学会Java以后可以写很多种程序,Kotlin也可以吗?

Java程序设计语言可以开发网页、嵌入式、桌面与Android应用程序,Kotlin也可以。

  • Kotlin程序设计语言有哪些书和学习资源?

目前只有少数几本英文书,网络的学习资源以Kotlin官方网站为主,也是英文。(广告:这个系列专栏是学习Kotlin不错的资源,未来可能会出版电子书或实体书)

  • 目前Android App的范例与资源都是用Java写的,Kotlin也可以使用吗?

在Android App项目里面,Kotlin和Java程序代码可以一起使用,也可以互相使用对方写的程序代码。

建立Kotlin开发环境

开发Kotlin应用程序需要安装Java SE JDK与开发工具,Kotlin开发环境有下面几种选择:

  • JetBrainsIntelliJ IDEA
  • Eclipse与Kotlin Plugin
  • 在终端机编译与执行
  • 使用建置工具,包含常见的Ant、Maven与Gradle

这里使用的开发工具是IntelliJ IDEA Community,其它方式请参考Kotlin官方网站的说明。

下载与安装JDK

Kotlin需要Java SE JDK 1.6或更新的版本,如果你的计算机还没有安装Java SE JDK,依照下列的步骤下载与安装,或是参考后面的示范影片:

1.     开启浏览器,在网址列输入这个网址http://www.oracle.com/

2.     将鼠标光标移到「Downloads」,选择左侧的「Java Developers」。

3.     选择「JDK」的「DOWNLOAD」的下载图示。

4.     进入下载JDK的网页以后,选择「Accept License Agreement」,依照你的操作系统版本选择下载的链接,如果是32位就选择「Windows x86」,64位的话选择「Windows x64」。

5.     储存下载的档案,下载完成后执行这个档案开始安装的步骤,建议使用默认的安装路径,在后续的安装过程中全部选择「Next >」。

6.     在完成安装的窗口选择「Close」。

详细的操作步骤可以参考下面的示范影片:

下载与安装IntelliJ IDEA Community

JetBrains提供免费开放版本的IntelliJ IDEA Community,它完整支持Kotlin程序设计语言。依照下面的步骤执行下载与安装的工作:

1.     开启浏览器,在网址列输入这个网址https://www.jetbrains.com/idea/download/

2.     选择「Community」的「DOWNLOAD」,储存与执行下载的安装程序:


3.     启动安装程序后,在欢迎画面选择「Next>」。

4.     在选择安装位置(Choose Install Location)画面选择「Next>」。

5.     在安装选项(Installation Options)画面,依照计算机的操作系统,勾选「32-bit launcher」或「64-bit launcher」, 最后选择「Next>」:


6.     在选择开始菜单(Choose Start Menu Folder)画面选择「Install」开始安装。

7.     在完成安装的画面,勾选「Run IntelliJ IDEA Community Edition」后选择「Finish」:


8.     安装程序自动启动IntelliJ IDEA Community,第一次启动后在「Complete Installation」对话框选择「Do not import settings」,最后选择「OK」:


9.     在「Customize IntelliJ IDEA」画面,选择开发工具的样式为「IntelliJ」或「Darcula」,最后选择「Skil All and Set Defaults」:


10.出现IntelliJ IDEA的主画面,完成安装与初始设定:


Hello World!

1.     在IntelliJ IDEA的主画面选择「Create New Project」:


2.     在「New Project」窗口选择「Java」后,选择右上角的「New…」:


3.     在「Select Home Directory for JDK」窗口,选择JDK的安装文件夹后选择「OK」:


4.     回到「New Project」窗口,Project SDK已经设定为上一步骤的选择:


5.     在「New Project」窗口的「Additional Libraries and Frameworks」勾选「Kotlin(Java)」后选择「Next」:


6.     在「Project name」输入项目名称,例如「HelloKotlin」,最后选择「Finish」。

7.     在出现「Tip of the Day」对话框,取消「Show Tips on Startup」勾选,再选择「Close」,以后启动就不会再出现这个对话框。

8.     第一次建立Kotlin项目会花费一些时间执行初始化的工作。

9.     完成初始化工作后,在项目的「src」目录按鼠标右键,选择「New -> Kotlin File/Class」:


10.在「New Kotlin file/class」对话框的「Name:」输入程序代码文件名,例如「HelloWorld」,最后选择「OK」。

11.在新建立的程序代码档案输入下面的内容:

12.  fun main(args: Array) {

13. println("Hello World!")

}

14.用鼠标光标选择Kotlin图标后选择「Run 'HelloWorld.kt'」,也可以使用快捷键「Ctrl+Shift+F10」:


15.执行程序以后在画面下方显示「Hello World!」:


第一个Kotlin程序代码FAQ

  • 不需要宣告类别?

是的。

  • 「fun」好像是用来宣告main方法?

是的。Kotlin程序的进入点(Java的main方法),是一个名称为「main」,参数为「Array、字符串数组」的函式。

  • println为什么没有System.out

其实printlnKotlin定义在Console.kt里面的函式。

  • 叙述的最后面不需要分号(;)?

是的。你也可以加上分号,不过那是多余的。如果需要在一行执行多个叙述,可以使用分号隔开。例如:

fun main(args: Array) {

println("One"); println("Two")

}

下一步

想要赶快开始写Kotlin程序?在安装好开发环境以后,接下来的「10分钟认识Kotlin」,使用精心挑选的主题,让你快速认识Kotlin的基本精神。

相关的档案都可以在GitHub浏览与下载。