📜  Kotlin-基本类型

📅  最后修改于: 2020-12-30 07:01:02             🧑  作者: Mango


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

号码

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

Type Size
Double 64
Float 32
Long 64
Int 32
Short 16
Byte 8

在以下示例中,我们将看到Kotlin如何使用不同的数据类型。请在我们的编码环境中输入以下代码集。

fun main(args: Array) {
   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) {
   val letter: Char    // defining a variable 
   letter = 'A'        // Assigning a value to it 
   println("$letter")
}

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

A

布尔型

布尔像其他编程语言一样非常简单。我们只有两个Boolean值-true或false。在以下示例中,我们将看到Kotlin如何解释布尔值。

fun main(args: Array) {
   val letter: Boolean   // defining a variable 
   letter = true         // Assinging a value to it 
   println("Your character value is "+"$letter")
}

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

Your character value is true

弦乐

字符串是字符数组。像Java一样,它们本质上是不可变的。 Kotlin中有两种可用的字符串-一种称为原始字符串,另一种称为转义字符串。在下面的示例中,我们将使用这些字符串。

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

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

Hello!I am escaped String!

Hey!!I am Raw String!

数组

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

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

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

Hey!! I am array Example3

馆藏

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

fun main(args: Array) { 
   val numbers: MutableList = mutableListOf(1, 2, 3) //mutable List 
   val readOnlyView: List = numbers                  // immutable list 
   println("my mutable list--"+numbers)        // prints "[1, 2, 3]" 
   numbers.add(4) 
   println("my mutable list after addition --"+numbers)        // prints "[1, 2, 3, 4]" 
   println(readOnlyView)     
   readOnlyView.clear()    // ⇒ does not compile  
// gives error  
}

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

main.kt:9:18: error: unresolved reference: clear
   readOnlyView.clear()    // -> does not compile  
                 ^

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

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

fun main(args: Array) {
   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 })   // returns [2, 4]
   
   val readWriteMap = hashMapOf("foo" to 1, "bar" to 2)
   println(readWriteMap["foo"])  // prints "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]

范围

山脉是科特林的另一个独特特征。与Haskell一样,它提供了一个运算符,可帮助您遍历范围。在内部,它是使用rangeTo()实现的,其运算符形式是(..)

在以下示例中,我们将看到Kotlin如何解释此范围运算符。

fun main(args: Array) {
   val i:Int  = 2
   for (j in 1..4) 
   print(j) // prints "1234"
   
   if (i in 1..10) { // equivalent of 1 < = i && i < = 10
      println("we found your number --"+i)
   }
}

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

1234we found your number --2