欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Kotlin初体验(二)- 基本数据类型

程序员文章站 2022-07-15 09:22:38
...

首先看一下Kotlin基本数据类型和Java区别:

基本数据类型名称 Kotlin的数据类型名称 Java的数据类型名称
整形 Int int和Integer
长整型 Long long和Long
浮点型 Float float和Float
双精度 Double double和Double
布尔型 Boolean boolean和Boolean
字符型 Char char
字符串 String String

有人说了,String不是基本数据类型,还有Java中的Integer、Long等也不是的,你是不是写错了。解释一下,它们的确不是基本数据类型,但是超级常用,此处暂且就一起列举了。

如何声明:

Java变量声明 Kotlin变量声明
int i = 0; var i : Int = 0
String str = " "; var str : String = “”
以此类推 以此类推

前面的var表示后面第一变量声明语句;接着是“变量名 : 变量类型”的格式声明,至于后面的分号,则看代码后面是否还有语句,如果声明变量后,直接换行了,分号是可以不用添加的。如果后面不是回车换行,还有其他语句,则需要分号隔开。

简单变量之间的转换:
在Java开发中,常见的变量类型转换,直接前面加(int),(long)等强制转换,对于int和char甚至无需转换,直接互相赋值即可。但在Kotlin中,不允许强制转换,只能调用转换函数,输出其对应类型变量

Kotlin的数据类型转换函数 说明
param.toInt() 转换成整形
param.toLong() 转换成长整型
param.toChar() 转换成字符型
param.toString() 转换成字符串(是不是很熟悉)

当然包括toFloat,toDouble,不在一一列举,写段代码,瞧一瞧:

 private fun test() {
        val origin: Float = 97.0f //val相当于java中的final
        var int: Int = origin.toInt()
        var char: Char = origin.toChar()
        var long: Long = origin.toLong()
        var double: Double = origin.toDouble()
        var boolean: Boolean = origin.isNaN()
    }

Kotlin初体验(二)- 基本数据类型

注意到上变量声明中有用val和var两种,二者有什么区别呢?val修饰的变量只能在第一次声明时赋值,后续不能载赋值;var支持后续赋值。val可以理解成Java中的final关键字。
细心的小名同学又发现,Int类型的变量名竟然可以变量名叫int,是的!因为Int才是Kotlin的关键字,int并不是,但是个人不建议这么命名,此处只是为了说明问题,故意这么命名的。变量命名“见名知意”的大原则,无论是Java还是Kotlin都是要遵守的。

数组:

Java数组声明 Kotlin数组声明
int [ ] arr = new int [ ] {1,3,5} var arr : IntArray = intArrayOf(1,3,5)
String [ ] strs = new String [ ]{ “I”, “am”, “ibalde”} var strArr : Array = arrayOf(“I”, “am”, “ibalde”)

其中其他基本数据类型声明与之类似,不再一一赘述。

我们说说二者在数组声明时候的区别:

  1. Kotlin提供了新的整形数组类型,即IntArray;
  2. 分配一个常量数组,Kotlin调用的是intArrayOf方法,并不使用new关键字
    private fun test() {
        var longArr: LongArray = longArrayOf(1, 3, 5)
        var floatArr: FloatArray = floatArrayOf(1.0f, 3.2f, 5.6f)
        var doubleArr: DoubleArray = doubleArrayOf(1.0, 3.0)
        var booleanArr: BooleanArray = booleanArrayOf(true, false, true)
        var charArr: CharArray = charArrayOf('b', 'l', 'a', 'd', 'e')
        
        //但是在Kotlin中 并不存在StringArray。
        //声明字符串数组需要用到Array<String>,分配数组用arrayOf,如下:
        
        var strArr: Array<String> = arrayOf("I", "am", "ibalde")
        
        //Array<数据类型> 的数组声明方式 同样 也适合基本数据类型:
        var lArr: Array<Long> = arrayOf(1, 2, 3, 4)
        var fArr: Array<Float> = arrayOf(1.0f, 2.0f)
        var cArr: Array<Char> = arrayOf('i', 'b', 'l', 'a', 'd', 'e')
    }

两种声明方式,特别记住一个适用于String,另一个不行。

数组元素操作:

数组操作 Java中使用 Kotlin中使用
获取数组长度 arr.length arr.size
取index位置元素值 arr[index] arr[index]或者arr.get(index)
相关标签: Kotlin Int