Mis à jour le mardi 7 mars 2017
  • Facile

Ce cours est visible gratuitement en ligne.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Mots-clés

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Tout langage possède un certain nombre de mots-clés (ou pas), ces mots ne peuvent pas être utilisés en tant qu'identificateurs dans vos programmes et ils sont colorés par toute coloration de code adéquate.

Liste des mots-clés

Mot

Signification

Exemple d'utilisation

val

Déclaration d'une constante

val x = "Bonjour"

var

Déclaration d'une variable

var y = 0

def

Déclaration d'une méthode

def f = (x:Int) => 2*x

return

Arrêt de l'exécution de la méthode en retournant la valeur donnée

def f(x: Any) = return 8

class

Définition d'une classe

class Pokemon(val type: String)

trait

Déclaration d'un trait

trait Animal

object

Objet singleton/compagnon

object Main extends SimpleSwingApplication {}

private

Classe / méthode / variable privée

private val pi = 3.1415

protected

Classe / méthode / variable protégée

protected val f = "Hi, " + _

this

Désigne l'instance actuelle ou un constructeur de la classe

this.x = 2
def this(x: Int) = this(x, x)

super

Classe mère

super.paintComponent(g)

extends

Héritage d'une classe / trait

class A extends B

with

Héritage multiple

class A extends B with C with D

abstract

Classe abstraite

abstract class A

final

Classe non héritable / champs non redéfinissables

final val pi = 3.1415

new

Instanciation d'une classe non abstraite

new Calculatrice

override

Redéfinition d'un champ

override def toString = l.mkString

if-else

Structure conditionnelle, else est facultative

if (x > 0) x else -x

while | do-while

Structures itératives à condition d'arrêt

while(true) println("Boucle infinie !")

for

Structure itérative complète, aucune valeur retournée

for(x <- 1 to 10) println(2 * x)

for-yield

Structure itérative complète avec retour

for(x <- 1 to 10) yield (2 * x)

match-case

Filtrage de motifs (Pattern Matching)

x match {case _: Int | _: Long => println("X est entier")
case _ => println("Autre chose")}

case

Classe cas (case class)

case class Personne(val nom: String)

sealed

Annonce au compilo que les classes filles sont toutes dans le même fichier

sealed abstract class Arbre

lazy

Variable à évaluation paresseuse

lazy val v = Stream.Range(1,100,2).sum

null

Valeur nulle, peut être affectée à tous les AnyRef, à éviter

if(x == null)

true-false

Valeurs booléennes

if(x.isEmpty) return false

try-catch-throw-finally

Gestion des exceptions

try{sc.nextInt/0}catch{case _: ArithmeticException => throw new Exception("Division par Zéro")} finally{sc.close}

type

Déclaration de type

type mappable = {def map}

forSome

Représentation des types existentiels

List[T] forSome { type T <: Number }

import

Importation de classes / membres

import collection.mulatble.{Map => MMap}

package

Déclaration d'un module

package com.siteduzero.www

Vous pouvez faire des recherches sur les mots-clés que vous ne connaissez pas. ^^
Bon Scala.

Avant de vous laisser, je veux remercier quelques Zéros qui m'ont aidé à écrire ce tutoriel :

  • iPoulet, pour ses relectures et ses encouragements sans lesquels ce tutoriel n'aurait jamais vu le jour ;

  • Til0u, pour ses corrections orthographiques ;

  • Neowillow, Nodens, tony3107, Vynile et chrisJamesC pour leurs relectures, corrections et suggestions ;

  • Et enfin le SdZ, parce qu'il m’a permis de devenir un Zéro avec un grand « Z » ! ^^

Exemple de certificat de réussite
Exemple de certificat de réussite