Kotlin从入门到放弃(一) 基本数据类型和数组
本篇是用来学习和记录Kotlin学习中的基本知识点和内容,整理数据类型的常见用法。
基本数据类型
1.基本类型的变量声明
Kotlin的基本数据类型和Java类似,包括整型、长整型、浮点型、双精度、布尔型、字符型、字符串几种常见的数据类型。
基本数据类型名称 | Kotlin的数据类型 | Java的数据类型 |
---|---|---|
整型 | Int | int和Integer |
长整型 | Long | long和Long |
浮点型 | Float | float和Float |
双精度 | Double | double和Double |
布尔型 | Boolean | boolean和Boolean |
字符型 | Char | char |
字符串 | String | String |
Java声明变量
比如声明整型变量
int i = 0;
Kotlin声明变量
比如声明整型变量
var i:Int = 0
var j:Long = 0
前面的var表示后面是一个变量声明语句,接着是“变量名:变量类型”的格式声明。
如何后面回车换行,则省略分号;如果没有回车换行,添加其他语句,那么变量声明就要带上分号。
2.简单变量之间的转换
我们在Java进行类型转换中一般是在(类型)进行强制类型转换,但是 int 和 char 这两种类型,直接互相赋值即可。但在Kotlin中,不允许通过Java的前缀表达式来强制转换类型,我们可以通过调用类型转换函数来输出其他类型。
Kotlin的数据类型转换函数 | 转换函数说明 |
---|---|
toInt | 转换为整型数 |
toLong | 转换为长整型 |
toFloat | 转换为浮点型 |
toDouble | 转换为双精度型 |
toChar | 转换为字符 |
toString | 转换为字符串 |
var i:Int = 0
tx.setText(i.toString())
这里提一下var 和val 关键字声明变量时候的区别
val 相当于Java关键字的 final,相当于常量,在第一次赋值以后不能再继续赋值
var 声明的变量还可以继续赋值
数组
1.数组变量的声明
我们在Java在声明数组的时候如下
int[] array = new int[] {1,2,3}
其他基本数据类型的声明和这个类似,只要把int替换为long,float,double等数据类型就行
但在Kotlin中声明初始化整型数组如下
var int_array:IntArray = intArrayOf{1,2,3}
1.Kotlin提供了新的数组类型
2.分配一个数组,用intArrayOf()
Kotlin的基本数组类型 | 数组类型的名称 | 数组的初始化方法 |
---|---|---|
整型数组 | IntArray | intArrayOf |
长整型数组 | LongArray | longArrayOf |
浮点型数组 | Floatrray | floatArrayOf |
双精度型数组 | DoubleArray | doubleArrayOf |
布尔型数组 | BooleanArray | booleanArrayOf |
字符型数组 | CharArray | cahrArrayOf |
// 示例
var array:IntArray = intArrayOf(1,2,3)
声明字符串数组比较特殊,在kotlin声明字符串数组需要使用Array<String>,分配字符串数组的方法为arrayOf(),示例代码如下
var stringArray:Array<String> = arrayOf("小米","魅族")
当然我们也可以通过这种泛型的方式来声明基本数据类型的数组,和之前的没有区别
var intArray:Array<Int> = arrayOf(1,2)
2.数组元素的操作
- 获取数组长度的时候,Java使用length,Kotlin使用size
- 获取指定位置的元素的时候,Java通过括号加下标的方式,比如intArray [2]。Kotlin可以通过之前的Java的方式,但是我们可以通过get set方法来操作数组,get获取相应位置的值,set修改值,很好使用,但是编译器还是建议我们直接使用数组下标的方式。
var k = intArray.get(0)
intArray.set(0,2)