首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

假如你想用Kotlin——基本类型与包

假如你想用Kotlin——基本类型与包

前言

在Kotlin中,任何事物都是对象,这点与Java基本一致。Kotlin可以在任何变量调用它的成员函数和属性,比如数值、布尔类型,它们也可以在运行时表示为原生类型值,但是使用起来它们更像是普通类。本文将分享Kotlin中的基本类型与包的相关知识。

开始

基本类型

1. 数字

Kotlin在处理数字类型与Java接近,但存在不同。例如不能直接隐式转换int转为long等。以下为内置数字类型:

它的字面值可以为二进制、十进制、十六进制,但不支持八进制。Long类型需要加上L,例如123L;默认Double类型为3.33,Float需加上f或F表示,例如3.23f。

支持下划线:

表达方式:

关于==和===后续的文章会分享到。

类型转换:

不同的类型则是不同类型,较小类型不是较大类型的子类型

Kotlin也提供数字类型的显示转换:

2. 字符

Kotlin中,字符不能直接当作数字使用,但它也有比较:

3. 布尔

布尔类型内置支持||、&&、!

4. 数组

与Java不同,Kotlin中的数组是不型变的,也就是Array不能赋值给Array。无装箱数组类型有:

5. 字符串

Kotlin的字符串使用起来相对方便一些,因为它有字符串模板,多样的字符串访问。

字符串模版

6. 运算

Kotlin运算被定义为相应的类成员,编译器会将函数调用优化为相应的指令。对于位运算没有特殊字符表示,只可以使用中缀(放中间)方式调用命名函数。例如:

位运算:

shl(bits): 有符号左移 (Java 的

shr(bits) : 有符号右移 (Java 的 >> )

ushr(bits):符号右移 (Java 的 >>> )

and(bits):位与

or(bits):位或

xor(bits):位异或

inv():位非

当为了支持泛型场景,当出现在操作符非静态类型为浮点数(Any、Comparable、类型参数等),会出现以下情况:

NaN与自身相等

NaN比任何都大,包括正无穷大

-0.0比0.0小

1. 定义

2. 导入

导入不仅可以导入类,还可以导入顶层函数或属性、对象声明的函数和属性、枚举常量(关于枚举后续文章会介绍到)。

结语

关于Kotlin的基本类型与包的相关知识大部分在本文有分享到,不过没使用过还需多注意到它不支持或者特有的地方。新的一周开始了,加油呀。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190128G07QCJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券