什么是Kotlin,在哪里使用?
Kotlin是一种跨平台、静态类型的通用编程语言。这里简单介绍下这三个特点。
跨平台:这意味着系统或产品可以跨多个平台或操作系统环境工作。例如,Microsoft Excel,Word,Powerpoint可在Windows和Macintosh操作系统上使用。
静态类型:静态类型意味着必须在程序中明确声明使用的变量及其类型(数据类型)。例如,C,Java,Kotlin等等都是静态类型的。参考以下用于静态类型编程的C编程代码。
// C programming code
# include
void main()
{
int num; // Explicitly declaring the type of the variable
num = 10;
print(num);
}
静态类型的相反是动态类型,在这里您不必显式指定数据的类型。最好的动态类型化编程语言之一是python。参考下面的以下python代码:
# Python Code
num = 10 # No explicit declaration
print(num)
通用编程:顾名思义,它广泛适用于所有领域。例如,Java,Python,C,C++等都是通用编程语言。
现在您已经了解了Kotlin的定义,下一步是在哪里使用它? Kotlin用于Android开发,以创建android应用程序。以前,Java用于创建Android应用程序,但从几年前开始,Kotlin慢慢取代了Java在Android开发中的位置。
如上所示,Kotlin在2019年已占据绝对主导地位,现在几乎所有的android应用都是使用Kotlin构建的。
让我们开始编码
我们用IntelliJ IDEA编写代码。 IntelliJ IDEA是用于开发计算机软件的Java集成开发环境。它是由JetBrains公司开发的。
为了下载IntelliJ请点击这里。下载与笔记本电脑兼容的任何版本,然后开始使用。
下面列出的是Kotlin入门所需的一些主要概念。
1)Main函数
与其他编程语言一样,在Kotlin中,必须要有Main函数。那是编译器开始编译程序的地方。在Kotlin中,Main函数可以编写如下:
fun main() {
println("Hello Kotlin") //Printing "Hello Kotlin"
}
我在Main函数中包含了一条打印语句,以使其更易于理解。在执行Main函数时,我得到了“Hello Kotlin”作为输出。
2)变量声明
在Kotlin中,可以使用两个关键字声明变量,即val和var。
val: It is used for variables whose value never changes.
var: It is used for variable whose value can change.
对于值val类型,您不能重新赋值,而对于var类型您可以重新赋值。
在Kotlin中声明变量的语法是:
keyword variable_name: data_type = value
a)下面是用于关键字val声明的代码片段:
val number: Int = 10
fun main() {
println(number) // 10
}
当我尝试给val变量重新赋值时,我会收到一条错误消息,指示无法重新分配变量值,因为我使用了val关键字。
val number: Int = 10
fun main() {
number = 20
println(number) // Error
}
b)以下是关键字var声明的代码片段:
var number: Int = 10
fun main() {
println(number) // 10
}
当我尝试给var变量重赋值时,这次不会出错,因为可以对var关键字声明的变量重新分配变量值。
var number: Int = 10
fun main() {
number = 20
println(number) //20
}
同样,您可以声明Strings、Boolean、Float和更多数据类型。
通常,var被称为读写引用,而val被称为只读引用。我们将无法为val重新分配值,但可以修改属性。
fun main() {
val list = mutableListOf("a", "b", "c", "d")
println(list)
list = mutableListOf("d", "e)" // Error
list.remove("a")
println(list)
}
类型推断
类型推断是指在编译期间自动检测变量的数据类型。在Kotlin中,类型是在变量名之后定义的:
var title: String
例如,如果为变量分配类型,则不能通过为同一变量重新分配其他类型来执行此操作,这将导致错误:
fun main() {
var name: String = "Tanu"
name= 12
println(name) // Error
}
但是,使用关键字“Any”您可以将Int分配给String或将String分配Int,如下所示:
fun main() {
var name: Any = "Tanu"
name = 12
println(name) //12
}
3)Null安全
Kotlin变量默认情况下无法保存null变量,因此,要保存null变量,您必须使用如下所示的其他语法,您要做的就是在变量声明的前面添加“?”。
var number: Int? = null
fun main() {
println(number) // null
}
如果不这样做,您会收到一条错误消息:“空值不能是非空类型int的值”(“Null can not be a value of non-null type int”)。
4)条件语句
像许多编程语言一样,Kotlin也有几种条件语句机制。最常见的条件语句是if-else语句。如果条件为true,则执行if部分;如果条件为false,则执行else部分。
var num: Int = 10
fun main() {
if(num == 10)
{
num = num + 10
println(num) //20
}
else
{
num = 10
println(num)
}
}
您也可以同时使用多个if-else和else语句,如下所示:
var num: Int = 30
fun main() {
if(num == 10)
{
num = num + 10
println(num)
}
else if (num >= 10)
{
num = num + 20
println(num) //50
}
else if(num >= 20)
{
num = num + 30
println(num)
}
else
{
print(num)
}
}
在Kotlin中,您还可以使用when表达式替换多个if-else,如下所示:
val number: Int = 100
val answer = when {
number == 42 -> "Best"
number > 35 -> "Good"
else -> "Worst"
}
fun main() {
println(answer) //Good
}
5)函数
函数是用于执行单个任务的有组织且可重用的代码块。在Kotlin中,要创建函数,您必须使用fun关键字,接着定义该函数输入的数据类型,最后必须返回该函数的输出。该函数的语法如下所示:
fun function_name(): data_type{
statement 1
statement 2
-
-
-
statement n
return function_name
}
语句1、2和n只是可执行语句,或者也称为函数的主体,必须将其放置在函数中。考虑一个例子:
fun add_two_numbers(): Int{
val num1: Int = 10
val num2: Int = 20
val num3: Int = num1 + num2
return num3
}
fun main() {
println(add_two_numbers())
}
以两个参数为输入的函数
在这种情况下,您要做的就是将两个参数传递给函数,然后声明它们的类型,然后可以通过将值作为输入传递来调用函数:
fun add_two_numbers(num1: Int, num2: Int ): Int{
val num3: Int = num1 + num2
return num3
}
fun main() {
println(add_two_numbers(10, 20)) // 30
}
6)类及其属性
在Kotlin中,为了声明一个类,您需要使用关键字class然后才是它的属性。该类的语法及其属性如下所示:
class class_name{
properties of a class
}
类使用属性表示状态。属性是类级别的变量,可以包含getter,setter和backing字段。对象是类的实例,借助于对象,我们可以访问类的变量。例如:
class dog {
var name: String = "Danny"
var breed: String = "Boxer"
var color: String = "White"
}
fun main() {
var d = dog()
println(d.name) //Danny
println(d.breed) //Boxer
println(d.color) //White
}
7)从用户那里获得输入
为了获得用户的输入,Kotlin提供了一种特殊的方法,称为readline,他用于按行读取用户输入。例如:
fun main() {
var name: String? = null
println("Enter your name")
name = readLine()
println("Your name is: $name") // Tanu Nanda Prabhu
}
以上是您学习Kotlin编程需要了解的一些重要概念。但是,这并不是Kotlin学习的结束,而仅仅是开始。有关Kotlin的更多详细信息,建议您通过官方Kotlin文档尝试进一步了解。