kotlin 简单介绍以及使用总结

本文介绍了Kotlin编程语言的基础知识,包括它成为Android官方开发语言的地位,程序文件的扩展名,以及一些核心特性如空安全、字符串模板、变量声明和函数使用。示例代码展示了如何使用Kotlin进行简单的打印、数组转换和空判断操作,同时解释了`?`和`!!`操作符的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 “${ }”是什么意思?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值