kotlin 简单介绍以及使用总结

Posted zolty

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin 简单介绍以及使用总结相关的知识,希望对你有一定的参考价值。

1.简介

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 android 世界的Swift,由 JetBrains 设计开发并开源。

Kotlin 可以编译成Java字节码,也可以编译成 javascript,方便在没有 JVM 的设备上运行。

在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

Kotlin 程序文件以 .kt 结尾,如:hello.kt 、app.kt。

2.demo

2.1.hello world!

package hello                      //  可选的包头
 
fun main(args: Array<String>) {    // 包级可见的函数,接受一个字符串数组作为参数
   println("Hello World!")         // 分号可以省略
}

2.2.int[]toString

// transfer int[] to String 
import java.util.*
fun main(args: Array<String>) {
    var intArr = intArrayOf(0x80, 0x72, 0x4, 0x0, 0xC0, 0x37, 0x55, 0xE6, 0x8C, 0x29, 0xE, 0x9E, 0xFF, 0xD1, 0x27, 0x94)
    var test = "int[]toString : " + Arrays.toString(intArr)
    println(test)
}

2.3.${} (String Template)

// use ${} (String Template) to simplify statements
import java.util.*
fun main(args: Array<String>) {
    var intArr = intArrayOf(0x80, 0x72, 0x4, 0x0, 0xC0, 0x37, 0x55, 0xE6, 0x8C, 0x29, 0xE, 0x9E, 0xFF, 0xD1, 0x27, 0x94)
    var test = "int[]toString : " + Arrays.toString(intArr)
    println(test)
    var test2 = "int[]toString : ${Arrays.toString(intArr)}"
    println(test2)
}

2.4.var&val

var: var是一个可变变量,这是一个可以通过重新分配来更改为另一个值的变量。这种声明变量的方式和Java中声明变量的方式一样。
val: val是一个只读变量,这种声明变量的方式相当于java中的final变量。一个val创建的时候必须初始化,因为以后不能被改变。

fun main(args: Array<String>) {
	//this is right
    var a = 1
    a = a + 1
    print(a)
    
    //this is fault
    val b = 2 // need use var
    b = b + 1
    print(b)
}

2.5 ?

? 表示当前对象可以为空,即可以 = null
?加在变量名后,系统在任何情况不会报它的空指针异常。

fun main(args: Array<String>) {
    var a:String? = null // Defines an empty string
    var length = a?.length // "?." indicates that the current object will not be executed if it is empty
    println( length) // null

    a= "you are Angel"
    length = a?.length
    println( length) // 13
}

2.6 !! 在变量后

当!!在变量后,表示当前对象如果为空也执行,然后会抛出空异常

fun main(args: Array<String>) {
    var a:String? = null // Defines an empty string
    var length = a?.length // "?." indicates that the current object will not be executed if it is empty
    println( length) // null

    a= "you are Angel"
    length = a?.length
    println( length) // 13
	
	var b:String? = null // Defines an empty string
    length = b!!.length // "!!." indicates that the current object is also executed if it is empty, and then an empty exception will be thrown
    println( length) //Exception in thread "main" java.lang.NullPointerException  at TestKt.main(test.kt:)
}

2.7 !! 不在变量后

当!!不在变量后,则表示当前对象不为空的情况下执行

fun main(args: Array<String>) {
    var name: String? = ""
    var people: String = name!! // "!!" indicates the execution of the current object if it is not empty
    println(people) // null

    name = "zolty"
    people = name!!
    println(people) // zolty
}

参考文献

Kotlin 教程
kotlin的?.和!!.
kotlin “${ }”是什么意思?

以上是关于kotlin 简单介绍以及使用总结的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin第一篇 Hello Kotlin以及简单介绍。

如何从片段 KOTLIN 中调用意图 [重复]

Kotlin 委托的本质以及 MMKV 的应用

Kotlin 委托的本质以及 MMKV 的应用

如何在 Kotlin 片段内的按钮之间切换片段?

使用 Kotlin 更改片段中的按钮背景