美文网首页kotlinKotlin学习笔记
Kotlin语法基础篇(一)

Kotlin语法基础篇(一)

作者: 志威梦 | 来源:发表于2019-03-24 20:51 被阅读257次

    CSDN github
    Kotlin语法基础篇(二)

    前言

    前言:本博文系列为记录个人学习kotlin语言的简要速记,同时希望有助于已经是AndroidJava编程的开发者能够快速的上手kotlin语言。(认为读者均有相关编程基础,不做细节的过分注解)

    我们也不去对比和纠结JAVAKotlin是不是哪个更好,相信更多的Android开发者会理解kotlin的选择。(毕竟Google的官方认可和支持)

    闲言少叙、书归正传。笔记文章除了必要的文字描述之外,更多的会以代码的形式呈现。(英文编程注意输入法位英文半角,尤其是符号的区别不易察觉

    一、变量

    kotlin变量声明与Java中变量声明区别较大,kotlin使用varval声明变量/常量,标准格式为var/val name:Type = xxx。而Java中则是type name = xxx

    var a:Int = 2
    var b:String = "abc"
    

    注意Kotlin中单行语句,可以不用;但是如果一行有多个语句就需要;来分隔。类、函数、字段的声明等,都是默认修饰符号为public的,不写出来。

    kotlin中变量的声明和初始化,分为top levelclass levelfunction level即分为顶层、类成员、函数局部变量

    1. top level即直接定义变量在.kt文件中,而非属于某个类或者对象之内,如:Test.kt,根据访问权限,可在其他地方直接使用。
    //this is in Test.kt
    //标准格式声明并初始化变量,可以省略类型,会自动推导,基础数据类型,仅推导Int和Double类型
    var a:Int = 7
    var b = 8
    /*
    *延迟初始化,使用lateinit关键字,但是
    *不能用于Int、Short等基础数据类型上,
    *且不能是可空的
    *不能为val,只能是lateinit var
    */
    lateinit var str:String
    //如下为错误示例
    var c:Int
    c = 9
    lateinit val s:String
    lateinit var d:Int
    lateinit var ss:String?
    lateinit var str:String="asdef"
    
    • Kotlin中变量的声明必须初始化或者延迟初始化(lateinit)。而不能只声明而不赋值
    1. 在类中定义声明变量,区别于top level的变量声明,称之为类属性。
    class Test1{
        //整体声明,都类似于top level的声明
        var a : Int = 23
        var b = 9.8
        val c = "class Name"
        lateinit var e : String
        //可空变量的声明,必须有?符号,与lateinit不能共存
        var f : String? = null 
        
        //kotlin中系统自带的,每个class都会调用的初始化的函数
        init{
            e = "string e"
            g = "string g"
        }
    }
    

    二、常量

    kotlin中有常量和不可变量的差异,区别于const关键字

    • 常量/不可变量,均用val修饰声明
    • 常量需要const val,而不可变量只需用val修饰即可
    • 常量声明可在三处
      • 单例类
      • 顶级kt文件根结点
      • 类的伴生类companion object
    //this is Test1.kt
    class Test1{
        companion object{
            const val PI = 3.14
        }
        val cardNum = "F007"//不可变量
    }
    //在顶级top level中声明常量
    const val colorRed = "#FF0000"
    //单例类中
    object SingleTest{
        const val L = 10
    }
    

    三、注释

    kotlin中注释,与java大体一致

    • 单行注释,使用//
    • 多行注释,使用/* */
    • 文档注释,使用/** */

    区别在于,kotlin中可以嵌套注释

    //单行注释
    
    /*
    多行注释
    */
    
    /**
    * 文档注释
    */
    
    /**
    * /*
    *这就是嵌套的注释
    */
    *
    */
    

    附:详细代码示例请移步Github

    相关文章

      网友评论

        本文标题:Kotlin语法基础篇(一)

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