11
votes

Bloc de déclaration étiqueté en Java?

Je plaisante à travers certains des objets de base Java lorsque j'ai trouvé une section de code entourée d'un Scan: {} code> bloc. Le code suivant provient de la méthode tolowercase () à l'intérieur de la classe de cordes.

scan: {
            for (firstUpper = 0 ; firstUpper < len; ) {
                char c = value[firstUpper];
                if ((c >= Character.MIN_HIGH_SURROGATE)
                        && (c <= Character.MAX_HIGH_SURROGATE)) {
                    int supplChar = codePointAt(firstUpper);
                    if (supplChar != Character.toLowerCase(supplChar)) {
                        break scan;
                    }
                    firstUpper += Character.charCount(supplChar);
                } else {
                    if (c != Character.toLowerCase(c)) {
                        break scan;
                    }
                    firstUpper++;
                }
            }
            return this;
        }


0 commentaires

4 Réponses :


2
votes

C'est un bloc étiqueté . Scan: est une étiquette . Il est couramment utilisé lors de la rupture / continuez au cas où vous auriez plusieurs boucles. Dans ce cas Break Scan; Il suffit de casser tout simplement le bloc marqué (numérisation) lorsqu'il est exécuté.


0 commentaires


2
votes

Vous pouvez définir une étiquette pour casser / ou continuer dans plusieurs boucles profondes.

Exemple P>

 outer:
 for(int i=...){
   for(int j=..){
     ...
     break outer; // leaves both loops   

   } 

 }


0 commentaires

1
votes

C'est une étiquette code> code>. Il s'agit d'un indicateur de contrôle de flux.

Si vous regardez votre code, vous voyez ci-dessous P>

 break scan;


0 commentaires