美文网首页
快速学习Kotlin(一)基础语法

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

作者: 晨雨细曲 | 来源:发表于2018-10-27 13:59 被阅读8次
kotlin

变量和不可变量

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

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

    快速上⼿ Kotlin 基础语法 函数基础语法 与 Java 代码互调 Java 与 Kotlin 交互的语法变化...

  • Kotlin基础语法<二>

    学习需要一步步进行,前面已学习过了部分kotlin基础语法。基础语法的学习与总结会让我对...

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

    变量和不可变量 在kotlin中我们在声明一个变量的时候,采用var作为修饰符来修饰一个变量,而采用val修饰符来...

  • Kotlin 进阶实战系列教程

    第1讲 快速开始 HelloWorld 第2讲 Kotlin 语法基础 第3讲 Kotlin 类型系统 第4讲 K...

  • Kotlin进阶学习笔记

    Kotlin进阶学习笔记 从源码分析学习Kotlin,知其然、知其所以然。 通用基础语法学习Kotlin官网[ht...

  • kotlin中文文档

    学习kotlin反思 快速阅读kotlin,语法大概掌握,但是细节地方,不能串联一起解决方案:kotlin-doc...

  • kotlin进阶—函数、泛型、高级特性

    以下是我的kotlin系列文章kotlin基础知识—基本语法(一)kotlin基础知识—基本语法(二) 前言 我个...

  • Kotlin学习之基础语法

    写在前面的:1,Kotlin学习之基础语法2,Kotlin学习之类和继承3,Kotlin学习之属性和字段4,Kot...

  • kotlin学习笔记

    kotlin基础知识 基础语法 kotlin中的特殊语法 object创建匿名内部类的写法kotlin中声明单例的...

  • Kotlin学习(一):我TM谢谢你!(基础语法篇)

    Kotlin学习(一):我TM谢谢你!(基础语法篇) 前言 自从2017年Google定义Kotlin为Andro...

网友评论

      本文标题:快速学习Kotlin(一)基础语法

      本文链接:https://www.haomeiwen.com/subject/ahldtqtx.html