Kotlin 基本语法---1.Kotlin 的基本类型

上一篇:Kotlin 课程介绍

Kotlin 基本语法主要包括以下内容:

  • Kotlin 的基本类型
  • Kotlin 的类与对象初步
  • Kotlin 的空安全类型
  • Kotlin 的智能转换
  • Kotlin 的的数组与区间

下面要讲的是 Kotlin 的基本类型;

一、Kotlin 的基本类型

与其他语言相似,Kotlin 也包含基本类型,其中主要的基本类型有:

  • boolean 类型
  • number 类型
  • char 类型
  • 字符串类型
  • 基本类型的强制转换
  • 不是数的数
  • 基本类型比较
  • Kotlin 的打印

下面通过上面几种基本类型来讲解;

1. boolean 类型

下面创建了一个 boolean 类型的值:

//创建一个boolean类型的值 boolTrue:名字, Boolean:类型,等于号后面为值
val boolTrue: Boolean = true
//也可以这么写:
val boolFalse = false

2. number 类型

其中 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

3. Char 类型 

Char 类型要用单引号 ' ' 引起来

转义字符 含义
\t 制表符
\b 光标后退一个字符
\n

回车

\r 光标回到行首
\' 单引号
\" 双引号
\\ 反斜杠
\$ 支持美元符号
//Char类型 表示一个16为的Unicode字符
val aChar: Char = '0'
//也可以这么写
val bChar = '中'
val cChar: Char = '\u000f'   //  \u表示 Unicode ,后面的000f表示Unicode编码(打印结果为3)

4. 字符串类型 

//字符串
val string: String = "Hello"
//也可以这么写
val aString = "Hello"
val char: String = String(charArrayOf('H', 'e', 'l', 'l', 'o'))

5.基本类型的强制转换

在 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类型

6.不是数的数

在 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 它不是一个数字,在这里记住就可以。

7.基本类型比较

在 Java 中,我们比较两个数的大小,一般调用 equals() 方法,或者用 == 来比较;而在 Kotlin 中,比较两个数方法也不同,来看代码:

    println(string.equals(char)) //结果为true
    println(string == char) //结果为true 因为在kotlin中“==”与 equals完全等价的
    println(string === char) //结果为false 这样才是比较对象的引用值,和java中“==”等价

在写代码过程中就会发现,当我们用 equals() 方法时,它会推荐我们使用 == ;所以在 Kotlin 中比较方法有两个:

  • ==  :kotlin 中  “==” 与 Java 中 equals 完全等价的
  • ===  :比较对象的引用值,kotlin 中 "===" 和 Java 中 “==” 完全等价的

8.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}")

打印结果:

Kotlin 基本语法---1.Kotlin 的基本类型_第1张图片

可以看出打印结果是一样的而 Java 的写法却麻烦的多;要注意的是上面代码中 $arg1 是打印出 age1 的值;那么我想打印出如下图的结果,该怎么写呢:

写法是这样,用 \" 来打印引号:

    //打印双引号
    println("你好\"张三\"")

上面就是对 Kotlin 的基本类型的简单理解;

 

上一篇:Kotlin 课程介绍

下一篇:Kotlin 基本语法---2.Kotlin 的类与对象初步

你可能感兴趣的:(Kotlin,Kotlin学习)