Kotlin-Android世界的一股清流-基本数据类型与运算符

本文深入探讨Kotlin中的基本数据类型,包括数值类型、字符类型、布尔类型、类型推导和装箱操作。文章指出Kotlin的Char类型不直接支持数值运算,但可以调用toInt()转换。同时,介绍了Kotlin中数值类型的装箱过程以及不支持低精度到高精度的隐式转换的原因。此外,文章还讨论了字符串的特点和运算符的使用,特别是中缀运算符的概念和自定义方式。
摘要由CSDN通过智能技术生成

源码地址:https://github.com/cn-ljb/KotlinBlogs

基本类型与运算符

本章主要学习Kotlin为我们提供好的基本类型,以及它们之间的运算操作(主要讲解与Java不同的地方)

基本类型

类似Java中基本数据类型,Kotlin对Java中8种基本数据类型都做了对应的封装类,我们看看哪些不同部分

1、数值类型

进制:不支持8进制

Kotlin官网中说提供了6种数值类的基本类型

类型      位宽

Double  64
Float   32
Long    64
Int     32
Short   16
Byte    8

!!!What?

Char既然不是数值类型?Char不是可以通过ASCII码直接转换成数值,然后进行运算吗?

是的,Char在Kotlin中不能直接当作数值使用

2、字符类型

    //java代码
    char c = 'a';
    System.out.println(c == 97);

也就是说上面的Java代码,在Kotlin里是会报错的,Why?

查看官方这一章节时,并没有看到详细的解释这个问题

那么如果我就是想进行数值判断操作呢,那你必须手动调用toInt()方法才行

//kotlin
val c: Char = 'a'
println(c.toInt() == 97)

那Kotlin中能否直接使用Char类型直接进行运算,很神奇,他既然能…

只是得到的结果类型与Java不同:

System.out.println(c + 1);  //java   返回 98
println(c + 1)              //kotlin 返回 b
  • java中 c+1 返回的是int类型,因为int(32位)大于char(16位),所以精度由小转为大,最终为int型。
  • Kotlin中 Char类型由于不是直接当数值用,所以最后返回依旧是char型(…尼玛,我都不知道怎么解释,望高手赐教)。

3、布尔类型

跟Java一样

4、类型推导

Kotlin中对于定义的变量,如果能通过初始化的字面值推断出它的类型,那么定义变量时,可以省

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值