上一篇:Kotlin 课程介绍
Kotlin 基本语法主要包括以下内容:
下面要讲的是 Kotlin 的基本类型;
与其他语言相似,Kotlin 也包含基本类型,其中主要的基本类型有:
下面通过上面几种基本类型来讲解;
下面创建了一个 boolean 类型的值:
//创建一个boolean类型的值 boolTrue:名字, Boolean:类型,等于号后面为值
val boolTrue: Boolean = true
//也可以这么写:
val boolFalse = false
其中 number 类型包括 :浮点型,整型和字节,具体看下面的表格:
分类 | 类型 | 位宽 |
浮点型 | Double | 64 |
Float | 32 | |
整型 | Long | 64 |
Int | 32 | |
Short | 16 | |
字节 | Byte | 8 |
2.1 number 类型--- 整型 Int
//整型
val aInt: Int = 8
//也可以这么写
val aInt1 = 8
val maxInt: Int = Int.MAX_VALUE //最大整型值(计算方法为:2的31次方-1;因为位宽为32)
val minInt: Int = Int.MIN_VALUE //最小整型值(计算方法为:负的2的31次方-1)
2.2 number 类型--- 长整型 Long
//注意:首先定义一个整形a 转化为长整型,会发现类型转换要加.toLong()不加编译不通过;
//而在Java中可以直接将int类型转化为Long类型
val a: Int = 8
val aLongInt: Long = a.toLong()
//长整型
val other: Long = 78
//也可以这么写
val other2 = 78
val maxLong: Long = Long.MAX_VALUE //最大长整型值(计算方法为:2的63次方-1;因为位宽为64)
val minLong: Long = Long.MIN_VALUE //最小长整型值(计算方法为:负的2的63次方-1)
2.3 number 类型--- 短整型 Short
//短整型
val aShort : Short = 10
//也可以这么写
val bShort = 10
val maxShort: Short = Short.MAX_VALUE //最大短整型(计算方法为:2的15次方-1;因为位宽位16)
val minShort: Short = Short.MIN_VALUE //最小短整型(计算方法为:负的2的15次方-1)
2.4 number 类型--- 浮点型 Double
//Double
val aDouble: Double = 2.0
//也可以这么写
val bDouble = 2.0
val maxDouble: Double = Double.MAX_VALUE
val minDouble: Double = -Double.MIN_VALUE
2.5 number 类型--- 浮点型 Float
//Float(注意Float类型末尾要加F,不然编译无法通过)
val aFloat: Float = 2.0F
////也可以这么写
val bFloat = 2.0F
val otherFloat: Float = 1E3F //10的3次方
val maxFloat: Float = Float.MAX_VALUE
val minFloat: Float = -Float.MIN_VALUE
2.6 number 类型--- 字节 Byte
//字节
val aByte: Byte = 23
//也可以这么写
val bByte = 23
val maxByte: Byte = Byte.MAX_VALUE
val minByte: Byte = Byte.MIN_VALUE
Char 类型要用单引号 ' ' 引起来
转义字符 | 含义 |
\t | 制表符 |
\b | 光标后退一个字符 |
\n | 回车 |
\r | 光标回到行首 |
\' | 单引号 |
\" | 双引号 |
\\ | 反斜杠 |
\$ | 支持美元符号 |
//Char类型 表示一个16为的Unicode字符
val aChar: Char = '0'
//也可以这么写
val bChar = '中'
val cChar: Char = '\u000f' // \u表示 Unicode ,后面的000f表示Unicode编码(打印结果为3)
//字符串
val string: String = "Hello"
//也可以这么写
val aString = "Hello"
val char: String = String(charArrayOf('H', 'e', 'l', 'l', 'o'))
在 Kotlin 中基本类型的转换是不可隐式转换,也就是说,不可以省略,必须要手动转换;
在 Java 中我们知道,int 类型转换为 long 类型,是不需要强制转换的,比如下面的 Java 代码:
int a = 10;
long b = a;
而在 Kotlin 中是必须要手动调用 .toLong() 方法,否则编译不通过,如下面的 Kotlin 代码:
val a: Int = 8
val aLongInt: Long = a.toLong() //转换为Long类型
val aaString:String = a.toString() //转换为String类型
val aaShort:Short = a.toShort() //转换为Short类型
val aaDouble:Double = a.toDouble() //转换为Double类型
在 Kotlin 中,我们用 0.0 除 0.0 ,会打印出来什么?下面来我的代码以及打印结果:
println(0.0 / 0.0) //不是数的数 NaN
可以看出打印出了 NaN ;这个就是不是数的数,来看一下源码的说明:
/**
* A constant holding the "not a number" value of Float.
*/
public val NaN: Float
可以看出,NaN 它不是一个数字,在这里记住就可以。
在 Java 中,我们比较两个数的大小,一般调用 equals() 方法,或者用 == 来比较;而在 Kotlin 中,比较两个数方法也不同,来看代码:
println(string.equals(char)) //结果为true
println(string == char) //结果为true 因为在kotlin中“==”与 equals完全等价的
println(string === char) //结果为false 这样才是比较对象的引用值,和java中“==”等价
在写代码过程中就会发现,当我们用 equals() 方法时,它会推荐我们使用 == ;所以在 Kotlin 中比较方法有两个:
因为 kotlin 时支持美元符号 '$' 的,所以在打印的时候和 Java 写法也有一些不同;比如我想打印两个数的和,看一下代码:
val arg1 = 0
val arg2 = 1
//下面计算age1和age2的和,按照java写法应该是:
println("" + arg1 + "+" + arg2 + "=" + (arg1 + arg2))
//在kotlin中完美支持美元符号 $age1 意思就是输出 age1 的值
println("$arg1+$arg2=${arg1 + arg2}")
打印结果:
可以看出打印结果是一样的而 Java 的写法却麻烦的多;要注意的是上面代码中 $arg1 是打印出 age1 的值;那么我想打印出如下图的结果,该怎么写呢:
写法是这样,用 \" 来打印引号:
//打印双引号
println("你好\"张三\"")
上面就是对 Kotlin 的基本类型的简单理解;
上一篇:Kotlin 课程介绍
下一篇:Kotlin 基本语法---2.Kotlin 的类与对象初步