
第2章 从Java角度了解Kotlin的基本知识
简单的东西应该很容易创造,复杂的东西应该能负担得起。请快速回答,你需要多少行代码才能以编程的方式查找机器上的核数?那么下面这句怎么样?

这就是用Kotlin编写的整个程序——只有半行代码,不需要分号,不需要导入,使用Java JDK,但是代码和仪式要少得多。这就是Kotlin。
Kotlin的目的是帮你完成工作,它不会强迫你讲究仪式。你可以从小处开始,然后扩大规模。编程是一系列的小实验,你经常用原型解决方案来看事情是否有意义,并编写代码来获得感觉和梳理设计思想。Kotlin脚本是一种可以快速实现这一点而不必编写无用代码的好方法。
在本章中,你将学习一些基本知识——通常包含在函数和方法体中的构建块,但是你也可以直接把它们放在Kotlin的脚本中。构建块包括定义数字和字符串的变量、创建常量、指定类型信息、创建带有嵌入值的字符串表达式、创建多行字符串——这是我们在使用Kotlin编程时经常使用的功能的大杂烩,无论是在编写脚本、创建类还是在编写函数风格的代码时。
开始使用Kotlin进行编程的有经验的Java程序员在学习Kotlin的细微差别时,必须放弃一些Java实践。在这一章中,我们将看到在转换成Kotlin时,那些看起来与Java非常类似的东西必须进行调整。就像戴上一副新眼镜一样,这需要一段时间来适应,但Kotlin的优雅会让你马上感到很舒服。
我们从欣赏Kotlin的简洁开始。每一行代码都很重要——当最基本的操作都很冗长时,你不可能使整个应用程序简洁。无论是编写命令式、函数式还是面向对象的代码,表达式和语句都是构建块。Kotlin消除了每一行代码中的仪式、杂音和混乱,因此你的整个程序可以更短、更具表现力、更容易维护。
Kotlin将其他语言中需要的许多东西变为可选的——分号、显式类型规范和类,仅举几个例子。Kotlin要求你在创建变量时明确地决定它是可变的还是不可变的。它提供了字符串模板以减轻创建字符串表达式和多行字符串的痛苦。它更倾向于表达式而不是语句,以减少对变量转换的需要。
让我们深入了解一下Kotlin对代码最基本部分的设计哲学,即代码的单行语句或表达式。在此过程中,我们将了解Kotlin如何减少代码中的杂音,以及如何定义变量、使用类型推断、依赖合理的警告、轻松地将表达式嵌入字符串以及创建多行字符串。首先学习这些基础以及基本概念将对你用Kotlin所编写的每一行代码产生影响。