Les variables et les constantes dans Dart
-
Avant de commencer
- Un code Dart s’exécute toujours en commençant par la fonction
main(){ }
. Alors il est important de placer votre code à exécuter dans cette fonction. - Une ligne complète en Dart se termine toujours par un point virgule ;
- Il est possible d’écrire des commentaires en Dart. Les commentaires sont des lignes qui ne n’exécutent pas. Pour faire un commentaire , il suffit de mettre deux
slash //
au début de la ligne. Pour un commentaire multiligne, le plus simple est d’écrire le commentaire entre/*
et*/
-
Les variables dans Dart
-
Comprendre la notion de variable
- Dans un programme, nous avons souvent besoin de manipuler bon nombre de données. Pour s’y retrouver, il est souvent nécessaire de nommer ces données, autrement dit de les stocker dans ce que nous appelons une « variable ».
- Une variable est ainsi composée de 3 éléments :
- Un type : une variable peut avoir tous types de valeurs. Par exemple, nous pouvons stocker aussi bien du texte dans une variable qu’un nombre.
- Un nom : une variable a obligatoirement un nom, choisi à la discrétion du programmeur.
- Une valeur : ce que contient la variable.
-
Définition
- une variable est un espace mémoire réservé pour stocker une valeur spécifique qui correspond à un type de données pris en charge par le langage de programmation dans lequel vous travaillez.
- Une variable est représentée et utilisée par un label (un nom symbolique) qui est attribué par un programmeur ou qui est déjà prédéfini dans le langage.
- Le nom d’une variable obéit à des impératifs ou règles changeant selon les langages. Toutefois, une règle absolue est qu’un nom de variable peut comporter des lettres et des chiffres, mais qu’il exclut la plupart des signes de ponctuation, en particulier les espaces.
- Une variable peut aussi commencer par ou comporter des underscores _ . Mais une variable qui commence par un underscore a une signification particulière que nous serons amenés à voir plus tard.
-
Déclaration d’une variable
- La déclaration des variables est obligatoire avant l’utilisation. Pour chaque nom, vous ne devez le déclarer qu’une seule fois.
- Voici quelques règles que nous devons suivre lors de la création d’une variable d’identifiant/dart.
- Une variable ne doit pas être des mots-clés
- La variable peut contenir des lettres et des chiffres.
- Une variable ne peut contenir aucun espace ou caractère spécial, à l’exception du trait de soulignement ( _ ) et du symbole dollar ( $ )
- Le nom de la variable ne doit pas commencer par un chiffre.
- Tous les types de données dans Dart sont des objets. Cela signifie que tout dans Dart est des objets et qu’il hérite des propriétés de l’objet. Cela signifie que la valeur par défaut de tous ces types de données est nulle.
-
Déclarer une variable avec le mot-clef
var
- La façon la plus simple de déclarer une variable est d’utiliser le mot-clef var :
- La syntaxe pour déclarer une variable dans le langage Dart est très simple.
- le mot clé
var
permet de signifier que nous sommes entrain de déclarer une variable. - Exemple
- Il est strictement interdit de déclarer des variables ayant le même nom. C’est une erreur qui empêchera votre programme d’être exécuté.
- exemple
-
Déclarer une variable avec le mot-clef
dynamic
- Le mot-clef
dynamic
est également utilisé pour déclarer une variable, ce qui est assez similaire au mot-clef var. - La différence est que le type de données de cette variable peut être modifié.
-
Déclarer une variable avec le type de
data spécifique
- Vous pouvez déclarer une variable avec un type de données spécifique au lieu de demander à Dart de détecter automatiquement son type de données.
-
Déclarer la variable avec le mot-clef
final
- Le mot-clef
final
est également utilisé pour déclarer une variable, et vous ne pouvez affecter une valeur à cette variable qu’une seule fois. - «
final
» signifie à affectation unique : une variable ou un champfinal
doit ont un initialiseur. Une fois qu’une valeur lui est attribuée, la valeur d’une variable finale ne peut pas être modifiée. - Le type de données de cette variable sera déterminé par Dart lors de la première affectation.
-
Connaitre le type d’une variable
- Le langage Dart offre la possibilité de récupérer le type d’une variable à l’aide de la méthode
runtimeType
-
Interpolation et évaluation d’une variable dans Dart
- En Dart, l’interpolation et l’évaluation de variables permettent d’inclure des valeurs de variables dans des chaînes de caractères de manière dynamique. Cela permet de créer des chaînes de caractères composées de texte statique ainsi que de valeurs de variables.
- En Dart, vous pouvez effectuer l’interpolation de variables dans des chaînes de caractères en utilisant la syntaxe
${variable}
. Cela vous permet d’incorporer la valeur d’une variable dans une chaîne de caractères de manière propre et lisible. - En ce qui concerne l’évaluation d’une variable, cela dépend du contexte. Dart est un langage de programmation fortement typé, ce qui signifie que le type de données d’une variable doit être connu à l’avance.
- En condition normal les variables ne sont pas précédés d’un dollar ‘
$
‘ sauf à l’intérieur d’une chaine de caractère pour permuter avec le contenu de la variable. - Il peut être intéressant de rajouter des guillemets si l’on désire avant interpolation faire une évaluation de la valeur de ce qui est entre guillemet.
- Vous pouvez concaténer String avec d’autres types d’objets. Tout ce que vous avez à faire est de convertir l’autre type d’objet Dart en String en utilisant la méthode
object.toString()
. - Exemple
- Application
- Ecrire un programme en Dart qui demande à l’utilisateur de saisir son nom et son âge, puis affiche ces informations dans une phrase en utilisant l’interpolation de variables.
- Instructions :
- Demandez à l’utilisateur son nom en utilisant
stdin.readLineSync()
et stockez la valeur dans une variable. - Demandez à l’utilisateur son âge en utilisant
stdin.readLineSync()
et stockez la valeur dans une variable. - Utilisez l’interpolation de variables pour créer une phrase qui affiche un message de salutation en incluant le nom et l’âge de l’utilisateur.
- Affichez la phrase à l’écran.
- Exemple d’affichage :
- Entrez votre nom : Mohamed
- Entrez votre âge : 25
- Bonjour, Mohamed ! Vous avez 25 ans.
-
Les constantes dans Dart
-
Définition
- Une constante est une variable dont l’état reste inchangé durant toute l’exécution du programme et dont la valeur ne peut être modifié par le programme une fois définie
-
Déclaration d’une constante
- Pour déclarer une constante, on utilise le mot clé
const
oufinal
. On utiliseconst
pour déclarer des constantes à la compilation mais dans l’ensemble ces deux mots clés permettent de faire la même chose (déclarer une constante). -
Définir la constante à l’aide du mot-clé final
- Nous pouvons définir la constante en utilisant le mot-clé
final
. La syntaxe est le suivant:final const_name; ou
.final
data_type const_name - Souvent, vous savez que vous voudrez une constante dans votre programme, mais vous ne savez pas quelle est sa valeur au moment de la compilation. Vous ne connaîtrez la valeur qu’après le démarrage du programme. Ce type de constante est appelé constante d’exécution .
DateTime.now()
est une fonction Dart qui vous indique la date et l’heure actuelles d’exécution du code.- L’ajout
hour
à cela vous indique le nombre d’heures qui se sont écoulées depuis le début de la journée. - Étant donné que ce code produira des résultats différents selon l’heure de la journée, il s’agit très certainement d’une valeur d’exécution.
- Donc, pour faire hoursSinceMidnight une constante, vous devez utiliser le mot-clé final au lieu de const.
-
Définir la constante à l’aide du mot-clé const
- Nous pouvons définir la constante en utilisant le mot-clé
const
. La syntaxe est le suivant:const const_name; ou
.const
data_type const_name -
Exercices d’application en Dart
-
Exercice 01
- Enoncé
- Déclarez une constante de type int appelé myAge et réglez-la sur votre âge.
- Déclarez une variable de type double appelée averageAge. Initialement, définissez la variable sur votre propre âge. Ensuite, réglez-le sur la moyenne de votre âge et de l’âge de votre meilleur ami.
- Créez une constante appelée testNumber et initialisez-la avec l’entier de votre choix. Ensuite, créez une autre constante appelée evenOdd et définissez-la égale à testNumber modulo 2. Passez maintenant testNumber à différents numéros. De quoi remarquez-vous evenOdd?
- Solution
-
Exercice 02
- Enoncé
- Déclarez une constante appelée pi et initialisez-la avec la valeur de π (environ 3.14159). Ensuite, demandez à l’utilisateur de saisir le rayon d’un cercle. Calculez la circonférence du cercle en utilisant la formule 2 * pi * rayon et affichez le résultat.
- Solution
-
Exercice 03
- Enoncé
- Demandez à l’utilisateur de saisir trois notes (nombres à virgule flottante). Calculez la moyenne de ces trois notes et affichez la moyenne.
- Solution
var nom_de_la_variable = la_valeur;
var nom = 'Jean Luc';
var age = 16;
var isPremium = true;
var langages = ['Python', 'Javascript', 'Java', 'Kotlin'];
Le type de données de la variable sera déterminé dès la première fois qu’elle se verra attribuer une valeur. Si vous déclarez une variable mais ne lui attribuez jamais de valeur, son type de données est Null.
dynamic v1 = 123;// v1 est de type int.
v1 = 456; // modification de la valeur de v1 de 123 à 456.
v1 = 'abc'; // changer le type de v1 de int à String.
var v2 = 123; // v2 est de type int.
v2 = 456; // modification de la valeur de v2 de 123 à 456.
v2 = 'abc'; // ERREUR : impossible de modifier le type de v2 de int à String.
String myVariable1 = "My Text";
int myVariable2 = 1000;
Exemple
void main(){
String s = "Hello";//variable du type String
print(s.runtimeType); // affiche String
}
Exemple (type dynamic)
void main(){
dynamic s = "Hello";//variable du type String
print(s.runtimeType); // affiche String
//la variable s est du type dynamique, on peut donc changer son type
s = 17;
print(s.runtimeType); // affiche int
}
Exemple (type var)
void main(){
var s = "Hello";//variable du type String
var n = 20; // variable du type int
//le type de variable crée avec l'instruction var ne peut être changé !!!
s = 17; // renvoie un message d'erreur !
}
main() {
int age = 36;
String text = "36";
print("Cette année j'ai " + age.toString() + " ans");
print("Cette année j'ai age ans");
print("Cette année j'ai $age ans");
print("L'année prochaine j'aurais $age +1 ans ");
print("L'année prochaine j'aurais ${age + 1} ans ");
print("L'année prochaine j'aurais ${text + 1.toString()} ans ");
}
var nom_de_la_constante = la_valeur;
Exemple:
final hoursSinceMidnight = DateTime.now().hour;
Les mots clés
final
etconst
sont utilisés pour déclarer des constantes. Dart empêche de modifier les valeurs d’une variable déclarée à l’aide du mot-cléfinal
ouconst
. Ces mots-clés peuvent être utilisés conjointement avec le type de données de la variable ou à la place du mot-clé var.
Solution
void main() {
// Déclarez une constante de type int appelée myAge et réglez-la sur votre âge.
const int myAge = 25; // Remplacez 25 par votre âge
// Déclarez une variable de type double appelée averageAge.
double averageAge = myAge.toDouble(); // Convertissez l'âge en double
// Imaginez que l'âge de votre meilleur ami est de 30
int bestFriendAge = 30; // Remplacez 30 par l'âge de votre meilleur ami
// Réglez averageAge sur la moyenne de votre âge et de l’âge de votre meilleur ami.
averageAge = (myAge + bestFriendAge) / 2;
print('Mon âge est $myAge');
print('L’âge moyen est $averageAge');
// Créez une constante appelée testNumber et initialisez-la avec l’entier de votre choix.
const int testNumber = 7; // Remplacez 7 par l'entier de votre choix
// Créez une autre constante appelée evenOdd et définissez-la égale à testNumber modulo 2.
const int evenOdd = testNumber % 2;
// Affichez les valeurs
print('testNumber est $testNumber');
print('evenOdd est $evenOdd'); // evenOdd sera 0 pour les nombres pairs et 1 pour les nombres impairs.
}
Solution
import 'dart:io';
void main() {
// Déclarez une constante appelée pi et initialisez-la avec la valeur de π.
const double pi = 3.14159;
// Demandez à l'utilisateur de saisir le rayon du cercle.
print("Veuillez entrer le rayon du cercle :");
double rayon = double.parse(stdin.readLineSync());
// Calculez la circonférence du cercle en utilisant la formule.
double circonférence = 2 * pi * rayon;
// Affichez le résultat.
print("La circonférence du cercle est : $circonférence");
}