Kotlin - Types de base

Dans ce chapitre, nous allons découvrir les types de données de base disponibles dans le langage de programmation Kotlin.

Nombres

La représentation des nombres dans Kotlin est assez similaire à Java, cependant, Kotlin ne permet pas la conversion interne de différents types de données. Le tableau suivant répertorie différentes longueurs variables pour différents nombres.

Type Taille
Double 64
Flotte 32
Longue 64
Int 32
Court 16
Octet 8

Dans l'exemple suivant, nous verrons comment Kotlin fonctionne avec différents types de données. Veuillez saisir l'ensemble de codes suivant dans notre base de codage.

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);
}

Lorsque vous exécutez le morceau de code ci-dessus dans le terrain de codage, il générera la sortie suivante dans la console 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

Personnages

Kotlin représente le personnage en utilisant char. Le caractère doit être déclaré dans un guillemet simple comme‘c’. Veuillez entrer le code suivant dans notre base de codage et voir comment Kotlin interprète la variable de caractère. La variable caractère ne peut pas être déclarée comme une variable numérique. La variable Kotlin peut être déclarée de deux manières - l'une en utilisant“var” et un autre utilisant “val”.

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

Le morceau de code ci-dessus donnera la sortie suivante dans la fenêtre de sortie du navigateur.

A

Booléen

Le booléen est très simple comme les autres langages de programmation. Nous n'avons que deux valeurs pour Boolean: true ou false. Dans l'exemple suivant, nous verrons comment Kotlin interprète Boolean.

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

Le morceau de code ci-dessus donnera la sortie suivante dans le navigateur.

Your character value is true

Cordes

Les chaînes sont des tableaux de caractères. Comme Java, ils sont de nature immuable. Nous avons deux types de cordes disponibles dans Kotlin - l'un s'appelleraw String et un autre s'appelle escaped String. Dans l'exemple suivant, nous utiliserons ces chaînes.

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)   
}

L'exemple ci-dessus de String échappé permet de fournir un espace de ligne supplémentaire après la première instruction d'impression. Voici la sortie dans le navigateur.

Hello!I am escaped String!

Hey!!I am Raw String!

Tableaux

Les tableaux sont une collection de données homogènes. Comme Java, Kotlin prend en charge des tableaux de différents types de données. Dans l'exemple suivant, nous utiliserons différents tableaux.

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

Le morceau de code ci-dessus donne la sortie suivante. L'indexation du tableau est similaire à d'autres langages de programmation. Ici, nous recherchons un deuxième index, dont la valeur est «3».

Hey!! I am array Example3

Les collections

La collecte est une partie très importante de la structure des données, ce qui facilite le développement du logiciel pour les ingénieurs. Kotlin a deux types de collection - l'un estimmutable collection (ce qui signifie des listes, des cartes et des ensembles qui ne peuvent pas être modifiés) et un autre est mutable collection(ce type de collection est modifiable). Il est très important de garder à l'esprit le type de collection utilisé dans votre application, car le système Kotlin ne représente aucune différence spécifique entre eux.

fun main(args: Array<String>) { 
   val numbers: MutableList<Int> = mutableListOf(1, 2, 3) //mutable List 
   val readOnlyView: List<Int> = 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  
}

Le morceau de code ci-dessus donnera la sortie suivante dans le navigateur. Cela donne une erreur lorsque nous essayons d'effacer la liste mutable de la collection.

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

Dans la collection, Kotlin fournit des méthodes utiles telles que first(), last(), filter(), etc. Toutes ces méthodes sont auto-descriptives et faciles à mettre en œuvre. De plus, Kotlin suit la même structure telle que Java lors de l'implémentation de la collection. Vous êtes libre de mettre en œuvre n'importe quelle collection de votre choix telle que Map et Set.

Dans l'exemple suivant, nous avons implémenté Map et Set à l'aide de différentes méthodes intégrées.

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 })   // 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)
}

Le morceau de code ci-dessus produit la sortie suivante dans le navigateur.

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]

Gammes

Ranges est une autre caractéristique unique de Kotlin. Comme Haskell, il fournit un opérateur qui vous aide à parcourir une plage. En interne, il est implémenté en utilisantrangeTo() et sa forme d'opérateur est (..).

Dans l'exemple suivant, nous verrons comment Kotlin interprète cet opérateur de plage.

fun main(args: Array<String>) {
   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)
   }
}

Le morceau de code ci-dessus produit la sortie suivante dans le navigateur.

1234we found your number --2