IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Quand est-ce qu'on utilise for(;;) ?


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 56
    Points
    56
    Par défaut Quand est-ce qu'on utilise for(;;) ?
    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

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    C'est ça, ce sont des boucles infinies.

  3. #3
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Points : 7 083
    Points
    7 083
    Par défaut
    • 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

Discussions similaires

  1. Quand est ce qu'on utilise le mot clé "static"
    Par FatmaFafa dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 05/06/2012, 17h10
  2. Quand est-ce qu'on utilise Class.forName ?
    Par andrianiaina dans le forum Langage
    Réponses: 1
    Dernier message: 21/09/2011, 13h06
  3. Réponses: 0
    Dernier message: 09/12/2010, 12h32
  4. quand est ce qu'on utilise (do..while)
    Par nitch01 dans le forum Débuter
    Réponses: 2
    Dernier message: 22/12/2009, 21h18
  5. Réponses: 3
    Dernier message: 28/11/2009, 13h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo