Variables & Types

Une variable, c'est une boîte étiquetée pour stocker des données.

Deux boîtes, deux valeurs

a et b sont deux cases mémoire. Affecte une valeur à chacune, puis clique Échanger pour voir le swap en action.

a b 5 9 a = 5, b = 9

Le swap échange le contenu des boîtes, pas les étiquettes.

C'est quoi une variable ?

Imagine la mémoire RAM comme un grand meuble avec des tiroirs. Chaque tiroir peut contenir UNE donnée.

Une variable = une étiquette sur un tiroir. Au lieu de dire "tiroir #4587", tu dis "age" ou "nom".

👆 Clique sur les boîtes pour changer leurs valeurs

🧠 Mémoire RAM
nom
"Alice"
age
25
estMajeur
true
#4587
vide
#4588
vide
#4589
vide

Les Types de données

Le type indique QUEL GENRE de donnée la variable peut contenir. C'est comme la forme du tiroir : un tiroir pour chaussettes ne peut pas contenir un manteau.

🔢
Entier
int / Integer
42
Nombres sans virgule
🔣
Décimal
float / double
3.14
Nombres à virgule
📝
Texte
string / str
"Hello"
Chaînes de caractères
Booléen
bool / boolean
true
Vrai ou Faux

💡 Astuce
En Python et JavaScript, le type est détecté automatiquement (typage dynamique). En Java et C#, tu dois déclarer le type explicitement (typage statique).

Même concept, différents langages

Voici comment déclarer des variables dans différents langages :


                

Déclaration vs Affectation

📦 Déclaration

Créer la variable (réserver le tiroir)

int age;

→ "Je veux un tiroir pour un entier, je l'appelle age"

✏️ Affectation

Mettre une valeur dedans

age = 25;

→ "Je mets 25 dans le tiroir age"

💡 En Python et JavaScript, on fait souvent les deux en même temps :

age = 25 # Python : déclaration + affectation

Bien nommer ses variables

✅ Bonnes pratiques

  • Noms explicites : userAge au lieu de x
  • camelCase : firstName
  • En anglais (convention internationale)
  • Commencer par une lettre

❌ À éviter

  • 1variable (commence par un chiffre)
  • mon-nom (tirets interdits)
  • class, if, for (mots réservés)
  • x, y, temp (noms cryptiques)

Où sont stockées les variables ?

Quand tu crées une variable, elle doit être rangée quelque part dans la mémoire de l'ordinateur. Imagine un entrepôt géant avec deux zones de rangement...

📚

La Stack (Pile)

Comme une pile d'assiettes : on pose dessus, on prend dessus. Rapide mais petite taille fixe.

Contient :
  • • Variables simples (int, float, bool)
  • • Paramètres de fonction
  • • Adresses de retour
🏪

Le Heap (Tas)

Comme un grand entrepôt libre : tu ranges où tu veux. Plus lent mais taille flexible.

Contient :
  • • Objets et instances de classes
  • • Tableaux dynamiques
  • • Strings (souvent)
Exemple concret :
int age = 25;           // 👈 Stack (valeur simple)
String name = "Alice";   // 👈 Heap (objet String)
int[] scores = new int[100]; // 👈 Heap (tableau)
💡
Pourquoi c'est important ?

La Stack est ultra-rapide mais limitée. Si tu fais trop de récursions, tu auras un Stack Overflow ! Le Heap est plus lent mais peut stocker des données énormes.

Teste tes connaissances

📦

Mode Survie

10 questions sur les variables, zéro erreur autorisée.
Le temps départage les meilleurs !

📝 Ce qu'il faut retenir

Prog 1 Prog 3
🎬

Pour aller plus loin

Les excellentes vidéos de Graven sur les variables :

Java Variables
Apprendre le Java #2 - Les Variables
Graven • ☕ Java
Python Variables
Apprendre le Python #2 - Variables
Graven • 🐍 Python
Glisser pour continuer vers Prog 3 : Conditions
⬇️
Débutant