IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Kotlin基本数据类型 -> 正文阅读

[移动开发]Kotlin基本数据类型

1.Kotlin的基本数据类型

Byte、Short、Int、Long、Float、Double\n\n不同于Java,字符不属于数值类型,是一个独立的数据类型。

2.字面常量

十进制:123
长整型:123L
16进制以0x开头:0x0F
2进制以0b开头:
注:不支持8进制
Double写法:123.5,123.5e10
Floats使用f或F后缀:123.5f

3.比较两个数字大小

Kotlin中没有基础数据类型,只有封装的数据类型,你每定义一个变量,其实Kotlin就帮你封装了一个对象。这样可以保证不会出现空指针。数字类型也一样,所以在比较两个数字的时候,就有比较数据大小和比较两个对象是否相同的区别。在Kotlin中,三个等号===表示比较对象地址,两个等号==表示比较两个值大小。
val a:Int = 10000\nLog.i(“aaaaaa”,(a===a).toString())//true,值相等,对象地址相等//经过装箱,创建了两个不同的对象\nval boxedA:Int? = a\nval boxedB:Int? = a\nLog.i(“aaaaaa”,(boxedA===boxedB).toString())//false,值相等,但对象地址不同\nLog.i(“aaaaaa”,(boxedA==boxedB).toString())//true,值相等

4.类型转换

由于不同的表示方式,较小类型并不是较大类型的子类型,较小的类型不能隐式转换为较大的类型。这意味着在不进行显式转换的额情况下我们不能把Byte型值赋给一个Int变量。
val b:Byte = 1//ok,字面值式静态检测的
val i:Int = b//错误
我们可以代用其toInt()方法
val b:Byte = 1//ok,字面值式静态检测的
val i:Int = b.toInt()//ok
每种数据类型都有下面的这些方法,可以转化为其它的类型:
toByte():Byte
toShort():Short
toInt():Int
toLong():Long
toFloat():Float
toDouble():Double
toChar():Char

有些情况下也是可以使用自动类型转化的,前提是可以根据上下文环境推断出正确的数据类型而且数学操作符会做相应的重载。
val l = 1L + 3
//Long + Int => Long

5.位操作符

对于Int和Long类型,还有一系列的位操作符可以使用,分别是
shl(bits) - 左移位(Java’s <<)
shr(bits) - 右移位(Java’s >>)
ushr(bits) - 无符号右移位(Java’s >>)
and(bits) - 与
or(bits) - 或
xor(bits) - 异或
inv() - 反向
示例
val a = 5
val b = a shl 2
Log.i(“aaaaaa”,b.toString())输出20

6.字符

字符均使用单引号,如:‘1’,‘a’
Kotlin中字符不能和数字直接操作
c == 1 //错误写法
我们可以显示地把字符转为Int数字
val c:Char = ‘1’
c.toInt() == 1 // true
当需要可空引用时,字符、数字会被装箱。装箱不会保留同一性。

7.布尔

布尔用Boolean类型表示,它有两个值:true和false。若需要可空引用布尔会被装箱。\n\n内置布尔运算有:
|| – 或
&& – 与
! – 非

8.数组

创建数组的两种方式
//[1,2,3]
val a = arrayOf(1,2,3)
//[0,2,4]
val b = Array(3) { i -> (i * 2) }
//读取数组内容Log.i(“aaaaaa”,a[0].toString())\nLog.i(“aaaaaa”,b[1].toString())
除了类Array,还有ByteArray、ShortArray、IntArray,用来表示各个类型的数组,省去了装箱操作,因此效率更高。
val x:IntArray = IntArrayOf(1,2,3)
x[0] = x[1] + x[2]

9.字符串

方括号可以很方便的获取字符串中的某个字符,也可以通过for循环来遍历
val str = “aeiou”
for (c in str){
Log.i(“aaaaaa”,c.toString());
}

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:39:30  更:2022-11-05 00:41:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 17:03:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码