Bonjour à tous,
J'aimerai savoir la signification du code for(;, de même il y a aussi le code while(true). Au premier abord on a tendance à penser que cela va générer une boucle infinie ! Donc quelle est leur signification ?
Merci
Bonjour à tous,
J'aimerai savoir la signification du code for(;, de même il y a aussi le code while(true). Au premier abord on a tendance à penser que cela va générer une boucle infinie ! Donc quelle est leur signification ?
Merci
- Marquer explicitement que le code de la boucle suit le cycle de vie de l'application
- La flemme de créer/gérer des booléens de contrôle de fin de boucle (invariants)
- L'expression booléenne de sortie serait trop complexe
- Gérer des booléens de contrôle avec une multitude de structure conditionnelle alourdie le code
Il faut garder à l'esprit qu'il existe des instructions qui "cassent" les structures de contrôle (if, while, etc.) : break (while et for uniquement), return et les exceptions.
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 main: for(;;) { List<String> list = readList(); // Récupère des list en continue if (list == null) break; if (list.isEmpty()) break; for (String item : list) { if ("EOF".equalsIgnoreCase(item)) break main; try { treatItem(item); } catch (ParseException e) { Logger.getLogger(MyClass.class).warn(e.getMessage(), e); throw new InvalidArgumentException("'" + item + "' is an invalid item", e); } } }
Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
Ceylon : Installation - Concepts de base - Typage - Appels et arguments
ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
Une solution vous convient ? N'oubliez pas le tag
Signature par pitipoisson
Partager