Kotlin - 基本语法


Kotlin 程序入口点

Kotlin 应用程序的入口点是main()函数。函数可以定义为设计用于执行特定任务的代码块。

让我们从一个打印“Hello, World!”的基本 Kotlin 程序开始。在标准输出上:

fun main() {
   var string: String  = "Hello, World!"
   println("$string")
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

Hello, World!

带参数的入口点

main()函数的另一种形式接受可变数量的字符串参数,如下所示:

fun main(args: Array<String>){
    println("Hello, world!")
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

Hello, World!

如果您观察过,很明显这两个程序都会生成相同的输出,因此从 Kotlin 版本 1.3 开始,在main()函数中传递参数是非常可选的。

print() 与 println()

print ()是 Kotlin 中的一个函数,它将其参数打印到标准输出,类似于 println ()是另一个将其参数打印到标准输出的函数,但它也在输出中添加换行符。

让我们尝试以下程序来了解这两个重要函数之间的区别:

fun main(args: Array<String>){
    println("Hello,")
    println(" world!")

    print("Hello,")
    print(" world!")
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

Hello, 
 world!
Hello, world!

这两个函数(print() 和 println())都可用于打印数字和字符串,同时执行任何数学计算,如下所示:

fun main(args: Array<String>){
    println( 200 )
    println( "200" )
    println( 2 + 2 )

    print(4*3)
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

200
200
4
12

Kotlin 中的分号 (;)

Kotlin 代码语句不需要像许多其他编程语言(例如 Java、C++、C# 等)那样以分号 (;) 结束语句。

尽管无论有没有分号,您都可以成功编译和运行 Kotlin 程序,如下所示:

fun main() {
    println("I'm without semi-colon")
    
    println("I'm with semi-colon");
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

I'm without semi-colon
I'm with semi-colon

因此,作为良好的编程习惯,不建议在 Kotlin 语句末尾添加分号。

Kotlin 中的包

Kotlin 代码通常在包中定义,尽管包规范是可选的。如果您未在源文件中指定包,则其内容将转到默认包。

如果我们在 Kotlin 程序中指定一个包,那么它会在文件的顶部指定,如下所示:

package org.tutorialspoint.com

fun main() {
    println("Hello, World!")
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

Hello, World!

测验时间(面试和考试准备)

问题 1 - Kotlin main()函数应该有一个强制参数才能成功编译代码:

A - 正确

B - 错误

答案:B

解释

不,Kotlin main()函数并不强制必须始终有一个参数。如果您需要通过字符串数组传递多个参数,那么您可以使用像main(args: Array<String>)这样的参数,否则不需要。

问题 2 - 以下 Kotlin 程序的输出是什么

fun main() {
    println("1"); println("2")
}

A - 这会产生语法错误

B - 它将打印 12

C - 1 后跟下一行的 2

D - 以上都不是

答案:C

解释

尽管 Kotlin 不建议在语句末尾使用分号,但如果您想在一行中分隔两个语句,则可以使用分号分隔它们,否则您将收到编译时错误。

答案:A

解释

这里只有 A 语句是正确的,因为没有main()函数,我们就无法运行 Kotlin 程序,main( ) 函数被称为 Kotlin 程序的入口点。在 Kotlin 程序中使用print()println()函数并不重要。