快速学习Kotlin(一)基础语法

变量和不可变量

在kotlin中我们在声明一个变量的时候,采用var作为修饰符来修饰一个变量,而采用val修饰符来修饰一个不可变量。这里需要注意一点,这是val是被定义为一个叫做不可变量,而不是一个常量,这两者是有区别的。可以把被val修饰的变量比作在Java中的final,这样理解起来会好一些。

var number : Int = 20;

val str : String  = "hello world";

我们可以看到,在kotlin中变量和不可变量的书写方式和Java是不同的,在Java中一般变量类型是写在变量名称的前面,但是kotlin中变量类型却是写在了名称的后面,并且中间使用冒号隔开,之后再用等号来进行赋值操作。

这里插播一个题外话,我们在做Java开发的时候都知道,每条语句在结束的时候都必须用分号;作为结束,不然程序会报错,但是在Kotlin中却没有这个概念,你可以写分号也可以不写,程序一样可以运行通过。但是为了书写的统一考虑,个人建议还是在结尾和Java一样写上分号

这里需要注意一点,由于kotlin非常的智能,如果你的变量类型是可以被程序推断出来的,其实变量的类型不写也没有关系。例如上面的number被赋值为20,由于这个20是可以被推断出来是一个Int类型,而"hello world"也可以被推断出来是一个String类型,所以这两个又可以写成如下:

var number  = 20;

val str = "hello world";

程序不会报任何的错误。这是kotlin智能的地方之一。

非空判断

我们在编写Java代码的时候常常会因为空指针而导致程序奔溃,这是让很多Java开发者头疼的问题,但是在kotlin语言中这个问题就得到了很好的处理。在kotlin中,有空安全的概念,只要在变量后面用问号"?"进行修饰,那么这个变量就被声明为可以为空的变量,如果不用?去修饰,那么程序默认其不能为空,一旦他为空,编辑器在还没编译运行的时候就会报错,导致编译不通过,而不用再程序奔溃的时候才被发现。

var str : String  = null;

如果按照上面这么写,程序就会抛出异常,因为str是一个不能为空的变量。如果想要他为空,则可以改成

var str : String?  = null;

这样就可以确保他可以为空,不抛出异常了。

函数

在kotlin中没有方法的概念,转而是叫做函数的概念。下面我们来声明一个函数,看看他是如何被声明的。

fun setMessage(str:String):String{
    
    return str;
}

我们可以看到,声明一个函数非常简单,只需要使用fun来修饰,后面跟函数的名称,括号中是函数的参数,这里注意,参数的写法和之前声明变量的写法是一致的,都是" 变量名 :类型 "这种声明方式。

在Kotlin中函数不像在Java中的方法一样必须写在类里面,Kotlin中的函数是可以不用在类中写的。你完全可以不用写class,而直接上来就写一个函数也没有问题。这也使得Kotlin代码的编写显得十分简单

如果函数有返回值,则用冒号加上返回值类型来处理,如果没有则可以不写,例如:


class KotDemo{
    
}

fun setMessage(str:String){

    println(this is $str)
    
}

这里我们在变量参数str前面用了一个美元符号$来修饰,那么这个美元符号的作用是什么?

其实很简单,这个是Kotlin中的一个特殊符号,他用来修饰变量,这样在字符串中就可以直接输出这个类型的变量了。而在Java中一般变量和一串字符都是需要使用 " + " 来拼接,例如:

//Java中语法

System.out.println("this is " + str);

而Kotlin中由于有了$这个特殊符号,省去了Java中麻烦的加号拼接方式,使得语法上更加简洁明了。

以上为kotlin重必须要掌握的基础语法。

如果觉得我的文章能够帮助到你,也欢迎关注我的微信公众号「晨雨细曲」,有新技术和知识会推送在这上面。

快速学习Kotlin(一)基础语法