【Kotlin】基础语法

文章介绍了Kotlin中的类型声明方式,包括变量声明和方法返回值的不同,强调了Kotlin的类型推导功能。此外,重点讨论了var和val的使用,val相当于Java中的final变量,用于声明不可变引用,而var则用于声明可变变量。在通常情况下,推荐使用val以保证引用不变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 类型声明

1.1 变量声明

在 Java 中 我们通过 类型 + 变量名的格式来声明一个变量,例如:

public String string = "this is a string";

而在 Kotlin 中我们使用 变量名 + ‘:’ + 类型这样的格式来声明变量,如下:

val string : String = "this is a new string"

这一点对于我们熟悉 Java 的同学来说,这很容易理解。不过是将变量和类型的顺序颠倒,然后用‘:’ 来表示类型,值得注意的是在 Kotlin 中是可以省略类型声明的,因为 Kotlin 有强大的类型推导。例如下面的代码,都可以精确的推导类型

val string = "this is string"
val intNum = 123
val floatNum = 123.0f
val longNum = 1314L
val doubleNum = 13.14
val doubleNum2 = 10.1e6

如果想要确认正确性,我们可以通过打印变量的类名即可print(string.javaClass.name),结果如下:

运行结果

1.2 方法返回值

与变量的类型声明一样,也是和 Java 颠倒顺序,如下:

// 示例 1
fun out():Unit {
  doSomething()
}

// 示例 2
fun sum(x:Int, y:Int):Int {
  return x+y
}

Kotlin 中有这类型推导,在方法的类型上 如果类型信息没有跟在方法之后,会默认为 Unit 类型。如上的示例二代码,如果没有加上类型,那么就会报错:Kotlin: Type mismatch: inferred type is Int but Unit was expected

到这里你可能会说,Kotlin 不是有强大的类型推导吗? 就这?就这?

我知道你很急,但是你先别急,我们下面这个示例

fun sum(x:Int,y:Int) = x+y

是不是已经懵逼了?还可以这样玩?

没错,在 Kotlin 中可以使用表达式和等号的方式定义一个函数,这里在 Kotlin 中称之为表达式函数体,你敢说这里没有类型推导的功劳吗(坏笑),当然这里需要注意的是,如果在递归方法中还是需要显式声明类型的。为了代码的可读性,一般公共方法的返回值也会显式的声明。

2. var&val傻傻分不清

与 Java 不同,在 Kotlin 声明变量的时候引入了 val 和 var 这两个关键词。我们简单理解 var 对应的就是Java 中普通声明变量的方式,而 val 理解为 加了 final 的变量。

val a = "string"  ==> final String a = "string"
var a = "string"  ==> String a = "string"

2.1 什么时候用 var & val?

通常情况在,我们声明变量的时候使用val,因为 val 声明的变量引用不可变的,在高并发场景不会引起偏差。

当我们需要一个局部可变变量的时候,例如遍历数组的中的数据求和场景,这时候就可以使用 var 来声明变量了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0neXiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值