kotlin精讲-第2章(2)函数和数据类型入门
难度指数:★☆☆☆☆
惊喜指数:★★☆☆☆
主函数和打印输出函数
main函数
一个Kotlin脚本文件里面的main函数,我们可以叫主函数,也可以叫做入口函数。一个Kotlin脚本文件里面如果包含了main函数,那么就会出现一个Kotlin图标,提示可运行。

如果我们把main改为main1,你会发现,Kotlin图标就没有了。

我们来解释下main函数:
fun | 函数标识 |
---|---|
main | 函数名称 |
args | 形参 |
Array<String> | 形参类型 |
{println(“Hello World”)} | 函数主体 |
有基础的同学,是不是感觉少了一个什么呢?是的,没有找到方法返回类型修饰符。因为main函数没有返回值,所以可以省略返回类型修饰符。完整的写法,参考如下代码:
fun main(args: Array<String>):Unit {
println("Helloworld")
}
这里有一个细节同学们发现了吗?是的,Kotlin的每一行代码的最后不用加上分。
【Kotlin相比于Java不用在语句后面加上分号】是不是减少了一些代码量呢(偷笑)。有的同学想,才一个分号,就谈上代码量的减少了(偷笑)。Kotlin站在Java之上,相比于Java,同样的功能,更少的代码量是必须的,后续还有很多地方,可以减少代码的编写。使用Kotlin,相比于Java代码量少了,大概算的上Kotlin优于Java 20%的理由(大笑)。
这里还有一个细节,同学们发现了吗?是的,Java里面的main函数,都是定义在一个具体的类里面。【Kotlin相比于Java,在Kotlin中,main方法不用放在一个类里面,可以独立存在】是不是挺有意思,关于函数,Kotlin还有很多特别之处,后面我们一一讲解。
println函数
为什么掌握println函数的使用很重要?在Kotlin基础学习阶段,我们需要频繁使用屏幕输出,用来验证代码执行结果,所以我们先掌握println函数。
println的作用是什么?选中println,按住Ctrl,查看println源码Console.kt可以知道,println()就是输出内容到控制台,并且换行,官方因为注释如下。
/** Prints the givenmessage and newline to the standard output stream. */
查看Console.kt的Structure结构视图,可以得知println()函数接收的参数类型是很丰富的。【Kotlin相比于Java,println()函数可以直接打印数组,集合,这点比Java打印输出便捷一些。】

print函数
println()输出内容的时候带换行符,print()函数输入内容的时候不带换行符。参考如下代码:
fun main(args: Array<String>) {
println("黑马程序员")
print("为莘莘学子改变命运而讲课")
print(",")
print("为千万人少走弯路而著书!")
}
运行结果:

数据类型入门
任何语言都有自己的数据类型,Java语言里面的数据类型包含基本类型和引用类型。在Java里面存储数值、字符、布尔值可以使用基本数据类型也可以使用引用类型。
Kotlin则不区分基本类型和引用类型,统一都是引用类型。为了表示数值、字符、布尔值、数组、集合等,Kotlin帮我们定义了很多类型。我们也可以称帮我们定义好的这些类型为“内置类型”。
我们也可以把数值、字符、布尔值这些相对基础、简单的类型称为“基本内置类型”。把数组、集合此类相对复杂的类型称为“复杂内置类型”。
我们这里先介绍“基本内置类型”,“复杂内置类型”则放到后面章节去讲解。
“基本内置类型”我们通过一张表汇如下:
类型 | 描述 | 长度 | 示例 |
---|---|---|---|
Byte | 字节 | 8位 | var a: Byte = 1 |
Short | 短整型 | 16位 | var b: Short = 1 |
Int | 整型 | 32位 | var c: Int = 1 |
Long | 长整型 | 64位 | var d: Long = 1L |
Float | 浮点型 | 32位 | var e: Float = 1f |
Double | 双精度浮点型 | 64位 | var f: Double = 1.0 |
函数入门
什么是函数?函数就是具有特定功能的一段独立小程序,函数也称为方法。函数可以将功能代码进行封装,便于对该功能进行复用,提高了代码的复用性,函数只有被调用才会被执行。
Kotlin中函数的结构是怎样的呢?

函数有哪些类型呢?函数从参数角度,可以分为有参函数以及无参函数;从返回值角度,可以分为有返回值的函数以及没有返回值的函数。
那么函数一共就有4种类型,无参无返回值、无参有返回值、有参无返回值、有参有返回值。参考如下代码:
//无参无返回值
fun myFun1() {
println("outerFun")
}
//无参有返回值
fun myFun2(): String {
return"innerFun"
}
//有参无返回值
fun myFun3(content: String) {
println(content)
}
//有参有返回值
fun myFun4(content: String): String {
returncontent
}
当然,没有返回值的函数,也可以明确指定返回值类型为Unit。
//无参无返回值
fun myFun1():Unit{
println("outerFun")
}
//有参无返回值
fun myFun3(content: String) :Unit {
println(content)
}
当然,【 Kotlin相比于Java,在函数方面还有一些增强,比如命名参数,默认参数。】这些内容我们放到后面一些给大家讲解。
idea编辑技巧
当然,方法的输入也可以使用idea给我们定义好的模板

