Kotlin-基础---数据类型

一、Boolean 类型

Boolean 值有两个值,分别为 true 或 false。多数情况下,Kotlin 中的 Boolean 相当于 Java 中的基本类型 boolean,只有在必要的情况下才会装箱成为 Java 中的装箱类型 Boolean。这一切都是交由编译器来完成,我们无需关心。

var isFirst: Boolean = true
var isSecond: Boolean = false

二、Number 类型

![Number类型.png](htt​
ps://upload-images.jianshu.io/upload_images/14140248-ca175224b232b631.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

var aLong: Long = 123L
var aInt: Int = 1234567890
var aShort: Short = 12345

var aFloat: Float = 23F
var aDouble: Double = 23.0

var aByte: Byte = 127

基本类型的装箱与拆箱
Kotlin 不再区分装箱与非装箱类型,在需要的时候编译器会帮我们自动的选择是使用基本类型还是装箱类型。

三、Chat 类型

var aChar: Char = ‘中’
var nChar: Char = ‘\n’
var bChar: Char = ‘国’

Chat 类型表示一个字符,一个字符可以是一个字,或者一个符号等等。
字符占两个字节,表示一个 16 位的 Unicode 字符。
字符使用单引号 '' 引起来,例如 '中''A''\n'
三类型.png

四、数值类型的显式转换

在 Java 里面,将一个 int 值赋给 long 值,是可以允许的,因为 Int 的范围比 long 要小,所以 long 可以兼容 int。但是,在 Kotlin 中这样的隐式转换是不被支持的

var aInt: Int = 10
var aLong: Long = 10000

// 编译器会报错
aLong = aInt

// 必须调用 toXXX 方法显示转换
aLong = aInt.toLong()

每个数值类型都支持下面的转换

  • toLong:Long
  • toInt:Int
  • toShort:Short
  • toFloat:Float
  • toDouble:Double
  • toByte:Byte
  • toChar: Char
  • toString: String

五、字符串类型

字符串本质上可以说是"一串" Char,字符串使用双引号 "" 引起来

5.1 字符串的比较

var aName: String = “fancyluo”
var bName: String = “fancyluo”

println(aName == bName) // true
println(aName === bName)// false

熟悉 Java 的同学对以上结果是不是就困惑了,怎么 == 打印出来了 true,这里我们可以看看==的源码就可以解开疑惑了。

public open operator fun equals(other: Any?): Boolean

Kotlin 的 == 就相当于 Java 的 equeals,表示比较内容。
Kotlin 的 === 就相当于 Java 的 ==,表示比较对象是否相同。

5.2 字符串模板

在 Kotlin 中,字符串可以包含模板表达式,模板表达式由 $ 开头,如果需要进行表达式运算,可以写在 {} 里面

var a: Int = 1
var b: Int = 2

// Java
println(“” + a + " + " + b + " = " + (a + b))

// 字符串模板
println(“$a + $b = ${a + b}”)

// print: 1 + 2 = 3

// 原始字符串
var rawString = “”"
a
b
${a + b}
“”"

六、数组

Kotlin 中的数组由 Array 类表示,表示以一系列的对象,可以使用函数 arrayOf 来创建数组,示例如下

val arrayOfString: Array = arrayOf(“fancy”, “luo”)
val arrayOfUser: Array = arrayOf(
UserInfo(“fancyluo”, “音乐”),
UserInfo(“jack”, “篮球”))

可以看到,我们使用 val 来修饰数组,在 Kotlin 中,数组是不可变的。上面数组里我们放的都是对象,那么基本类型的数组呢?Kotlin 中为了防止装箱拆箱的操作,为每个基本类型都专门定制了相应的数组类型,从而避免过度装箱的消耗。例如:IntArray,CharArray 等等。

val arrayOfInt: IntArray = intArrayOf(1, 2, 3)
val arrayOfChar: CharArray = charArrayOf(‘中’, ‘国’)

七、区间

区间是一个数学上的概念,表示范围。Kotlin 中区间是 ClosedRange 接口的子类,一般比较常用的是 IntRange。

// 闭区间 [0,1024]
var range: IntRange = 0…1024
// 半开区间 [0,1024) = [0,1023]
var untilRange = 0 until 1024

fun main(args: Array) {
// 判断是否在区间中

最后

小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取

[外链图片转存中…(img-DBXnnJQy-1719091160037)]一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料⬅专栏获取

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值