Le flux d'exécution d'une application peut être contrôlé conditionellement grâce aux instructions if et else:
if (a == 5){
writeln("La condition est remplie !");
} else if (a > 10) {
writeln("Une autre condition est remplie !");
} else {
writeln("Aucune condition n'est remplie !");
}
Quand un bloc if ou else ne contient qu'une instruction,
les accolades sont optionnelles.
D a les mêmes opérateurs que C/C++ et Java pour comparer des variables:
== et != pour tester l'égalité et l'inégalité
<, <=, > et >= pour tester l'infériorité (ou l'égalite) et la supériorité (ou l'égalité)
On peut combiner plusieurs conditions, l'opérateur || représente la OU logique
et && représente le ET logique.
D a également une structure switch..case qui exécute un cas en fonction
de la valeur d'une variable. switch fonctionne avec les types fondamentaux
comme avec les chaînes de caractères !
Il est même possible de définir des intervalles pour les types entiers en utilisant
la syntaxe case START: .. case END:. N'oubliez pas de jeter un coup d'œil au code source d'exemple.
switch et les case dans Programming in D