Kotlin 基本类型


在本章中,我们将了解 Kotlin 编程语言中可用的基本数据类型。

数字


Kotlin 中数字的表示与 Java 非常相似,但是,Kotlin 不允许不同数据类型的内部转换,下表列出了不同数字的不同可变长度。

类型大小(位)
Double64
Float32
Long64
Int32
Short16
Byte8

在下面的例子中,我们将看到 Kotlin 如何处理不同的数据类型。请在我们的编码区输入以下代码集。

fun main(args: Array<String>) {
    val a: Int = 10000
    val d: Double = 100.00
    val f: Float = 100.00f
    val l: Long = 1000000004
    val s: Short = 10
    val b: Byte = 1
   
    println("Your Int Value is "+a);
    println("Your Double  Value is "+d);
    println("Your Float Value is "+f);
    println("Your Long Value is "+l);
    println("Your Short Value is "+s);
    println("Your Byte Value is "+b);
}

当你在编码区运行上述代码段时,它将在 Web 控制台中生成以下输出。

Your Int Value is 10000
Your Double  Value is 100.0
Your Float Value is 100.0
Your Long Value is 1000000004
Your Short Value is 10
Your Byte Value is 1

字符


Kotlin 表示字符使用char.字符应该用单引号声明,如‘c’.请在我们的编码区输入以下代码,看看 Kotlin 如何解释字符变量。字符变量不能像数字变量一样声明。 Kotlin 变量可以通过两种方式声明 - 一种使用“var”另一个使用“val”.

fun main(args: Array<String>) {
    val letter: Char    //定义一个变量
    letter = 'A'        // 给它赋值
    println("$letter")
}

上面的代码将在浏览器输出窗口中产生以下输出。

A

布尔


Boolean 与其他编程语言一样非常简单。我们只有两个布尔值——真或假。在下面的例子中,我们将看到 Kotlin 如何解释布尔值。

fun main(args: Array<String>) {
    val letter: Boolean   //定义一个变量
    letter = true         // 给它赋值
    println("Your character value is "+"$letter")
}

上面的代码将在浏览器中产生以下输出。

Your character value is true

字符串


Strings are character arrays. Like Java, they are immutable in nature. We have two kinds of string available in Kotlin - one is called原始字符串另一个被称为转义字符串.在以下示例中,我们将使用这些字符串。

fun main(args: Array<String>) {
    var rawString :String  = "I am Raw String!"
    val escapedString : String  = "I am escaped String!\n"
   
    println("Hello!"+escapedString)
    println("Hey!!"+rawString)
}

上面的转义字符串示例允许在第一个打印语句之后提供额外的行空间。以下将是浏览器中的输出。

Hello!I am escaped String!

Hey!!I am Raw String!

数组


数组是同类数据的集合。与 Java 一样,Kotlin 支持不同数据类型的数组。在下面的例子中,我们将使用不同的数组。

fun main(args: Array<String>) {
    val numbers: IntArray = intArrayOf(1, 2, 3, 4, 5)
    println("Hey!! I am array 例子"+numbers[2])
}

上面这段代码产生以下输出。数组的索引类似于其他编程语言。在这里,我们正在搜索第二个索引,其值为“3”。

Hey!! I am array 例子3

集合


集合是数据结构中非常重要的一部分,它使工程师的软件开发变得容易。 Kotlin 有两种类型的集合 - 一种是不可变集合(这意味着无法编辑的列表、地图和集合),另一个是可变集合(这种类型的集合是可编辑的)。记住应用程序中使用的集合类型非常重要,因为 Kotlin 系统并不代表它们之间的任何特定区别。

fun main(args: Array<String>) { 
    val numbers: MutableList<Int> = mutableListOf(1, 2, 3) // 可变列表
    val readOnlyView: List<Int> = numbers                  // 不可变列表
    println("my mutable list--"+numbers)        // 打印“[1, 2, 3]”
    numbers.add(4)
    println("my mutable list after addition --"+numbers)        // 打印“[1, 2, 3, 4]”
    println(readOnlyView)
    readOnlyView.clear()    // ⇒ 不编译
// 给出错误
}

上面的代码将在浏览器中产生以下输出。当我们尝试清除集合的可变列表时,它会出错。

main.kt另一个使用18: error: unresolved reference: clear
    readOnlyView.clear()    // -> 不编译
                 ^

在集合方面,Kotlin 提供了一些有用的方法,例如first(),last(),filter()等。所有这些方法都是自描述的并且易于实现。而且,Kotlin 在实现集合时遵循了与 Java 相同的结构。你可以自由实施你选择的任何集合,例如 Map 和 Set。

在以下示例中,我们使用不同的内置方法实现了 Map 和 Set。

fun main(args: Array<String>) {
    val items = listOf(1, 2, 3, 4)
    println("First Element of our list----"+items.first())
    println("Last Element of our list----"+items.last())
    println("Even Numbers of our List----"+items.
        filter { it % 2 = = 0 })   // 返回 [2, 4]
   
    val readWriteMap = hashMapOf("foo" to 1, "bar" to 2)
    println(readWriteMap["foo"])  // 打印“1”
   
    val strings = hashSetOf("a", "b", "c", "c")
    println("My Set Values are"+strings)
}

上面的代码在浏览器中产生以下输出。

First Element of our list----1
Last Element of our list----4
Even Numbers of our List----[2, 4]
1
My Set Values are[a, b, c]

范围


范围是 Kotlin 的另一个独特特性。像 Haskell 一样,它提供了一个操作符来帮助你遍历一个范围。在内部,它是使用rangeTo()其运算符形式为(..).

在下面的例子中,我们将看到 Kotlin 如何解释这个范围运算符。

fun main(args: Array<String>) {
    val i:Int  = 2
    for (j in 1..4)
    print(j) // 打印“1234”
   
    if (i in 1..10) { // 等价于 1 < = i && i < = 10
        println("we found your number --"+i)
    }
}

上面的代码在浏览器中产生以下输出。

1234we found your number --2