Android+Kotlin开发之Kotlin基础(一)

来源:互联网 发布:淘宝盗图不被投诉 编辑:程序博客网 时间:2024/04/29 22:24

一 Kotlin的环境配置 点击进入

     我在之前的文章中介绍了如何在Android Stuido中配置Kotlin。

二 Kotlin文件的介绍

      Kotlin 文件以 .kt 为后缀。

三 Kotlon基本语法
(1)包的申明

        代码文件的开头一般为包的声明:        `package com.cognizant.demo        import java.util.*`

(2)默认导入

          有多个包会默认导入到每个 Kotlin 文件中:               kotlin.*               kotlin.annotation.*               kotlin.collections.*               kotlin.comparisons.*               kotlin.io.*               kotlin.ranges.*               kotlin.sequences.*               kotlin.text.*

(3)常量与变量的定义

           定义变量的关键词:var           var <标识符> : <类型> = <初始化值>              定义常量的关键词:val          val <标识符> : <类型> = <初始化值>          注:变量与常量在开始时可以不赋初始值,但在调用前需要赋予初始值          Kotlin中的值的定义可以省略类型的申明,编译器可以自动判断该数据的类型          当Int与String一起使用时,与java写法有所不同。       例:             var a :Int = 1          var a = 1 //系统会自动判断变量a为Int类型数据          var c :Int //如果变量不赋予初始值,则必须申明数据类型          c = 1         //Int与String混用,java中的语法在Kotlin中会报错         print(a*c+"fast")         //以下为正确的写法         print(""+a*c+"fast")         //或者是这样         print((a*c).toString+"fast")

(4)创建方法

           方法定义使用关键字 fun,参数格式为:参数 : 类型        fun sum(a: Int, b: Int): Int { // Int 参数,返回值 Int            return a + b         }           方法可以自动识别返回类型        fun sum(a: Int, b: Int) = a + b        public fun sum(a: Int, b: Int): Int = a + b // public的方法则必须明确写出返回类型           若定义无参方法则返回值为unit(类似java中的void)       fun printS(a: Int): Unit {        print(a)       }              // 如果是返回 Unit类型,则可以省略(对于public方法也是这样):        public fun printS(a: Int) {          print(a)        }

(5)定义可变参数方法

  //函数的变长参数可以用 vararg 关键字进行标识    fun vars(vararg v:Int){       for(vt in v){          print(vt)        }      }     vars(1,2,3,4,5,6,7,8) //输出12345678

(6)注释

 // 这是一个单行注释 /* 这是一个多行的    块注释。 */

(7)NULL的检查机制

   DVDKotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理,有两种处理方式,字段后加!!像Java一样抛出空异常,另一种字段后加?可不做处理返回值为 null或配合?:做空判断处理。   //类型后面加?表示可为空     var age: String? = "23"   //抛出空指针异常     val ages = age!!.toInt()   //不做处理返回 null     val ages1 = age?.toInt()   //age为空返回-1     val ages2 = age?.toInt() ?: -1
原创粉丝点击