Kotlin中的基本数据类型
作为Google【官方指定的干儿子】,Kotlin语言今年受到了越来越多的重视。无论是开发Android还是后台程序,这门语言以后一定是大有可为。由于相关的文章很多,那我们不多介绍这门语言是怎么来的。就让我们慢慢来,一点一点的去品味Kotlin。
第一章,一起来看看这门语言的基本数据类型吧。
开始之前,我们需要明确一点:
kotlin是一门【强类型】、【静态类型】、【支持隐式类型】的【显式】类型语言。
PS:
1、强类型:强类型语言的编译器引入了较多的类型检查限制,因此在运行时不会发生未经明确(显示转换)类型转换的类型转换。常见的语言中,Java就是强类型语言,而JavaScript则是弱类型语言。
2、静态类型:根据类型检查在编译时期还是运行时期,我们把语言分为静态类型以及动态类型。静态语言是基于编译器来确保语言类型的安全。
3、显式类型:根据变量名是否需要显式的给出声明,我们可以将语言分为显式类型以及隐式类型。kotlin是显式类型的语言,与此同时又因为有【类型推断】的作用所以可以看做是支持隐式类型。
一、简述
1、var 与 val
kotlin中,var符号表示的事变量,可以多次重复赋值。
而val表示的是“常量”,但这并不是通俗意义上的常量。本质上val也是变量,但一次赋值之后,不能再次修改,只能作为【只读变量】。
2、kotlin中的根类型:Any
kotlin中万物皆对象,所有类型都是引用类型。所有的类都有一个超类:Any。
官方文档是这么说的:
/**
* The root of the Kotlin class hierarchy. Every Kotlin class has [Any] as a superclass.
*/
这个类只有三个方法:
public open operator fun equals(other: Any?): Boolean
public open fun hashCode(): Int
public open fun toString(): String
如果类声明中,没有指明超类,则默认为Any。
kotlin中的Any映射为java中的java.lang.Object.
特别注意的一点:java中Object只是所有引用类型的超类,而基本类型int、long等不包含在内。而kotlin中,Any是一切的超类。
3、kotlin中的数字类型
3.1、常识介绍
kotlin中常见的数字类型分为以下6种:
方法名 | 转换类型 | 补充 |
---|---|---|
Byte | 8位 | 1字节 |
Short | 16位 | 2字节 |
Int | 32位 | 4字节 |
Long | 64位 | 8字节 |
Float | 32位 | 4字节 |
Double | 64位 | 8字节 |
根据名称可以看出基本和java中的相关定义相近。
kotlin支持二进制、十进制、十六进制;
但【不】支持八进制
与此同时,kotlin在数值类型的表示方式上也支持下划线,如:
val Million = 1000_000_000
val tmp = 123_456_789L
val demo = 0xDD_FF_EE
kotlin中的数字类型与java很是相近,但有一点不同:
kotlin没有java语言的隐式变换(如byte->short->int->long 等)。
因此ÿ