Kotlin : variable, opérateur, condition

Temps : 60 min.
Diffiulté : *

L'objectifs est de se familiariser avec les bases du langage Kotlin, autour de l'univers de la plage, en 6 étapes :

  1. Déclaration de variable et type de base
  2. Opérateur et condition
  3. Collection et boucle

1. Déclaration de variable et type de base

En Kotlin, une variable est soit mutable soit immuable. De plus, il n'est pas nécéssaire de préciser le type, il est déduit implicitement.

  1. Ouvrez le compilateur en ligne : Kotlinlang.org: Play
  2. Dans la fonction main(), créez une variable immuable :
  3.     
        val beach = "Bocca"
        
        
  4. Changez sa valeur :
  5.     
        beach = "Barceloneta"
        
        
  6. Qu'indique la console après exécution ?
  7. Changez la variable immuable en variable mutable :
  8.     
        var beach = "Bocca"
        
        
  9. Affichez la variable beach dans la console :
  10.     
        println(beach)
        
        

Le code complet est :


  fun main() {
   var beach = "Bocca"
   beach = "Barcelonetta"
   println(beach)
  }

En Kotlin, tous les types commencent par une majuscule.
Voici les types primitifs nombres :

Remarque : Il est mentioné, entre parenthèses, la taille en bits.
  1. Placez-vous dans la fonction main(), du compilateur en ligne
  2. Déclarez un Double :
  3.     
        val lOfBridge1 = 9.99
        
        
  4. Déclarez un Float :
  5.     
        val lOfBridge2 = 13F
        
        
  6. Faites l'addition :
  7.     
        val bridgeLength = lOfBridge1.toFloat() + lOfBridge2
        
        
  8. Déclarez un Int avec de la visibilité :
  9.     
        val oneMillion = 1_000_000
        
        
  10. Affichez ces variables :
  11.     
        println("The length of the bridge is ${bridgeLength.toInt()} and $oneMillion grain of sand, on the $beach beach!")
        
        

Le code complet est :


  fun main() {
     var beach = "Bocca"
     beach = "Barcelonetta"
     val oneMillion = 1_000_000
     val lOfBridge1 = 9.99
     val lOfBridge2 = 13F
     val bridgeLength = lOfBridge1.toFloat() + lOfBridge2
     println("The length of the bridge is ${bridgeLength.toInt()} and $oneMillion grain of sand, on the $beach beach!")
  }

2. Opérateur et condition

Les opérateurs Kotlin indispensables sont similaires à ceux de Java ou tout autre langage de programmation. Les opérateurs sont catégorisés selon :

Les opérateurs Kotlin ne sont pas originaux à l'exception du rang .. et du in.

  1. Placez-vous dans la fonction main(), du compilateur en ligne
  2. Déclarez un int :
  3.     
        val nbTowel = 10
        
        
  4. Écrivez la condition if suivante :
  5.     
        if (nbTowel in 0..10)
          println("There is not so much towel at the beach.")
        else
          println("The number of towel is not suitable for a beach.")
        
        
  6. Exécutez le code.

Le code complet est :


  fun main() {
   val nbTowel = 10
   if (nbTowel in 0..10)
     println("There is not so much towel at the beach.")
   else
     println("The number of towel is not suitable for a beach.")
  }

La condition when en Kotlin est équivalente au switch case.

  1. Placez-vous dans la fonction main(), du compilateur en ligne
  2. Déclarez un Int :
  3.     
        val temp = 30
        
        
  4. Déclarez un String :
  5.     
        var message = "It's cold"
        
        
  6. Écrivez la condition when suivante :
  7.     
        when (temp) {
          in 0..10 -> message = "It's very cold"
          in 10..20 -> message = "The temperature is kind of correct"
          in 20..30 -> message = "It's hot"
          else -> message = "It's very hot"
        }
        
        
  8. Affichez le message :
  9.     
             println(message)
        
        
  10. Exécutez le code.

Le code complet est :


  fun main() {
   val temp = 30
   var message = "It's cold"
   when (temp) {
       in 0..10 -> message = "It's very cold"
       in 10..20 -> message = "The temperature is kind of correct"
       in 20..30 -> message = "It's hot"
       else -> message = "It's very hot"
   }
   println(message)
  }

3. Collection et boucle

Les différents types de collection en Kotlin sont :

  1. Placez-vous dans la fonction main(), du compilateur en ligne
  2. Initialisez une liste avec des valeurs définitives, connues à l'avance :
  3.     
        val beaches = listOf("Plage des Rochers", "Praia de Carcavelos", "Playa de la Barceloneta")
        
        
  4. Affichez là :
  5.     
        println(beaches)
        
        
  6. Déclarez une liste pouvant évoluer au cours du temps, puis affichez-là :
  7.     
        val fishes = mutableListOf("tuna", "salmon", "shark")
        
        
  8. Enlevez un élément de la liste, puis affichez-là :
  9.     
        fishes.remove("shark")
        
        
  10. Ajoutez un élément, puis affichez la liste
  11.     
        fishes.add("yellowfish")
        
        

Le code complet est :


  fun main() {
     val beaches = listOf("Plage des Rochers", "Praia de Carcavelos", "Playa de la Barceloneta")
     println(beaches)

     val fishes = mutableListOf("tuna", "salmon", "shark")
     println(fishes)
     fishes.remove("shark")
     println(fishes)
     fishes.add("yellowfish")
     println(fishes)
  }

Les tableaux en Kotlin sont indiqués pour les collections de taille fixe. En effet, même s'il est possible de faire évoluer leur taille, l'espace alloué est fixe.

  1. Placez-vous dans la fonction main(), du compilateur en ligne
  2. Déclarez un tableau de différents éléments :
  3.     
        val  beachParty = arrayOf("Plage des Rochers", true, 7)
        
        
  4. Affichez le tableau :
  5.     
        println(java.util.Arrays.toString(beachParty))
        
        
  6. Déclarez un tableau d'un seul type d'éléments, puis affichez-le :
  7.     
        val deckArray = intArrayOf(3, 7, 13, 21)
        
        
  8. Déclarez un autre tableau d'un seul type d'éléments, additionnez-le avec le précédent, puis affichez l'élément à l'index 5 :
  9.     
         val bridgeArray = intArrayOf(1, 5, 9)
         val deckAndBridge = deckArray + bridgeArray
         println(deckAndBridge[5])
        
        
  10. Initialisez un tableau avec une boucle sur l'index, puis affichez-le :
  11.     
        val deckLabelArray = Array(21) { i -> "Deck nº$i" }
        
        

Le code complet est :


  fun main() {
     val beachParty = arrayOf("Plage des Rochers", true, 7)
     println(java.util.Arrays.toString(beachParty))

     val deckArray = intArrayOf(3, 7, 13, 21)
     println(java.util.Arrays.toString(deckArray))

     val bridgeArray = intArrayOf(1, 5, 9)
     val deckAndBridge = deckArray + bridgeArray
     println(deckAndBridge[5])

     val deckLabelArray = Array(21) { i -> "Deck nº$i" }
     println(java.util.Arrays.toString(deckLabelArray))
  }

En Kotlin, la boucle for s'utilise de différentes façons.

  1. Placez-vous dans la fonction main(), du compilateur en ligne
  2. Reprenez les listes et tableaux précédemment déclarées
  3. Parcourez le tableau deckLabelArray pour l'afficher différemment :
  4.     
        for (item in deckLabelArray)
          println(" #" + item)
        
        
  5. Parcourez le tableau deckAndBridge pour afficher l'indexation :
  6.     
          for ((index, item) in deckAndBridge.withIndex())
           println("The number of the deck located at $index is $item ")
        
        

Le code complet est :


  fun main() {
     val deckArray = intArrayOf(3, 7, 13, 21)
     val bridgeArray = intArrayOf(1, 5, 9)
     val deckAndBridge = deckArray + bridgeArray
     val deckLabelArray = Array(9) { i -> "Deck nº$i" }

     for (item in deckLabelArray)
       println(" #" + item)

     for ((index, item) in deckAndBridge.withIndex())
       println("The number of the deck located at $index is $item ")
  }

  1. Placez-vous dans la fonction main(), du compilateur en ligne
  2. Faites une boucle for pour afficher des nombres :
  3.   
      for (i in 1..5) print("-> nº $i ")
      
      
  4. Faites une boucle for pour afficher un compte à rebours :
  5.   
      for (i in 5 downTo 0) print("$i ... ")
      
      
  6. Faites une boucle for pour afficher par palier :
  7.   
      for (i in 0..10 step 2) print("|_ $i ")
      
      
  8. Faites une boucle for pour afficher l'alphabet :
  9.   
      for (a in 'a'..'z') print("$a ")
      
      

Il y a aussi les boucles do while et repeat.

  1. Placez-vous dans la fonction main(), du compilateur en ligne
  2. Faites une boucle while do pour afficher des bulles :
  3.   
      var bubbles = 0
      while (bubbles < 5) {
        bubbles++
        println(". º 0")
      }
      
      
  4. Faites une boucle do while pour enlever les bulles :
  5.   
      do {
        bubbles--
      } while (bubbles > 0)
      println("$bubbles bubbles in the water\n")
      
      
  6. Faites une boucle repeat pour faire des bulles :
  7.   
      repeat(3) {
        println("Making bubbles . ººº 0")
      }
      
      

Le code complet est :


  fun main() {
    var bubbles = 0
    while (bubbles < 5) {
      bubbles++
      println(". º 0")
    }

    do {
      bubbles--
    } while (bubbles > 0)
    println("$bubbles bubbles in the water\n")

    repeat(3) {
        println("Making bubbles . ººº 0")
    }
  }

Finalement, il a été vu :

Références

developer.android.com: Write conditionals in Kotlin
developer.android.com: Kotlin basics
chillcoding.com: Initialiser un tableau en Kotlin