Kotlin系列之变量和函数

这一节我们将学习Kotlin的变量和函数。

Kotlin的变量

1 . Kotlin的变量声明格式
Kotlin中的变量声明以关键字开始,在大部分情况下可以省略类型,这里我们同样将Kotlin与Java进行对比

Kotlin变量声明格式如下:

//关键字  变量名:类型(可省略)
val result: Int = 24

Java变量声明格式如下:

//类型  变量名
final int result = 24;

上面出现了一个陌生的关键字val,这是声明变量的关键字,一共有两个

val —— 不可变引用,变量在声明时赋值初始化,之后不能再次赋值,对应与Java里面的final变量

var —— 可变引用,这种变量可以多次赋值,对应于Java里面的普通变量

2 . 可省略变量类型
我们在前面说过Kotlin有个特性叫类型推导,也就是可以自己判断出变量和返回值的类型,不用显式指定。所以当我们在声明变量时就给其赋值,就可以省略变量类型。

//自动推导出为result为Int类型
val result = 24

如果我们在声明变量时没有给变量初始化,则编译器无法推导出变量的类型,则需要显式指定它的值

//声明时没有初始化赋值,需要显式指定类型
val result: Int
result = 24

3 . val变量只进行唯一一次初始化赋值
前面说了,val变量在初始化赋值以后值不可以改变。我们一般是在声明变量时为其赋值。但如果我们可以保证整个程序运行过程中只为val变量赋值1次,那样也是可以初始化的。

//声明变量时初始化
val result = 24
//只声明,不赋值(必须显式指定类型)
val result: int

//通过条件判断只赋值一次
if(canClick){
  result = 24
}else{
  result = 32
}

4 . 变量的类型不可变
尽管var声明的变量的引用是可以改变的,但我们一旦声明了某个变量的类型,那它的类型是不可以改变的。

var result = 24
//变量的类型是Int不能给其赋值字符串,会报错
result = "123"

这里说明一下,我们这里只是简单说到了变量,并没有讲到变量的类型,这些内容将在后续的内容中详细讲解。

Kotlin的函数

上一小节中我们的示例代码中其实已经出现了一个函数,这一小节我们将继续深入了解一下函数。

1 . 声明一个函数

在Java中函数是不能脱离类而单独存在的,但是在Kotlin中函数是可以单独存在的。比如我们上一节的代码

//Java代码
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
//Kotlin代码
fun main(args: Array<String>) {
    print("Hello World")
}

可以看出Kotlin中的函数是使用fun关键字声明的,然后是函数名,函数名里面是参数,参数的声明是参数名: 参数类型的形式。当然上面的函数没有返回值,下面我们看看有返回值的函数。

//有返回值的函数
fun returnValFun(result: Int): Int{
    return 24
}

我们看到返回值的写法和参数变量的写法类似,都是以:分割,然后在后面跟上变量类型。

2 . 代码块函数体
这个概念可能看名字就能了解它的意思,我们上面的代码都是代码块函数体,也就是函数的内容是由多行代码组成的。说这个概念主要是与下面的概念进行对比区分。

//代码块函数体
fun max(a: Int, b: Int): Int{
    return if (a > b) a else b
}

3 . 表达式函数体
这个概念可能有点陌生,在搞清楚这个概念之前,我们先要搞清楚另外两个概念语句表达式

语句:语句是包围着代码的,他没有值。

表达式:表达式是有自己的值的,并且可以作为另一个表达式的一部分。
在Kotlin中,if是表达式,这个和Java中是不同的。

//表达式函数体
fun max(a: Int, b: Int): Int = if (a > b) a else b

如果你理解了前面的类型推导概念,那上面的代码还可以简化

//函数返回值可以推导出来(根据if判断的结果,最终的返回值肯定是Int)
fun max(a: Int, b: Int) = if (a > b) a else b

是不是简洁了很多,但是要注意的是,如果你是代码块函数体,那必须显式写出return语句返回值类型,不可以省略。

写在最后

这一次,我们学习了Kotlin的变量和函数的基本只是和其中的一些规范,这些规范是保证我们能写出正确代码的必要条件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值