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

首先看一下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()
    }

这里写图片描述

注意到上变量声明中有用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)

猜你喜欢

转载自blog.csdn.net/iblade/article/details/82662025