Maison > Java > javaDidacticiel > le corps du texte

L'utilisation légale des balises d'instruction JAVA et quelle est l'utilité des blocs d'instructions {} ?

高洛峰
Libérer: 2017-01-22 16:42:24
original
1503 Les gens l'ont consulté

Par exemple, écrivez un morceau de code comme celui-ci :

int i; 
{ 
int j=1; 
i=j; 
}
Copier après la connexion

Si ce code existe dans la zone de définition de classe, alors nous savons qu'il s'agit d'un bloc d'instructions ordinaire utilisé pour initialiser le contenu de la classe attributs.Il sera appelé lorsque la classe est instanciée et certaines méthodes peuvent y être exécutées.
Dans de nombreux cas, il sera utilisé dans les modes singleton et autres. Ajoutez un statique avant pour initialiser le contenu des classes complexes, ce qui peut éviter certaines exceptions d'exécution causées par la séquence de chargement.
Mais que se passe-t-il si ce code apparaît dans une méthode ?
Cela n’a fondamentalement aucun sens. Dans mes réflexions précédentes, il s'agissait simplement d'un format pour inclure du code, rien d'autre.
Aujourd'hui, j'ai écrit du code lié à "l'étiquette de déclaration" :

label17: int i; 
int j; 
ThreadGroup[] arrayOfThreadGroup; 
if (flag) 
break label17; 
return 0;
Copier après la connexion

Une exception "Erreur de syntaxe sur le jeton ":", { attendu après ce jeton" s'est produite à la position : :.
C'est-à-dire que lorsque le code ne peut pas exister sur une seule ligne (int je dois avoir une position d'affectation d'instanciation claire à l'intérieur du corps de la méthode), label17 doit être marqué avec un bloc d'instructions.
Le format correct est :

label17: { 
int i; 
int j; 
ThreadGroup[] arrayOfThreadGroup; 
if (flag) 
break label17; 
return 0; 
} 
或者: 
   label17: 
int i; 
int j; 
ThreadGroup[] arrayOfThreadGroup; 
if (flag){ 
break label17; 
return 0;}
Copier après la connexion

Regardons l'utilisation incorrecte :

label13: int x = 0;
Copier après la connexion

De toute évidence, il y a un bloc d'instructions par défaut sur une seule ligne après l'étiquette, et ceci x est dans Aucun emplacement futur ne peut être utilisé, erreur. L'invite est la suivante :
Plusieurs marqueurs sur cette ligne
- x ne peut pas être résolu en variable
- Erreur de syntaxe sur le jeton "int", supprimez ce jeton
Il existe deux formats corrects :

int x = 0; 
label13: x = 0; 
或者 
label13:{ int x = 0;}
Copier après la connexion

Je suppose donc qu'un malentendu précédent était que dans des usages tels que for(){} et if(){}, le if() logique et le bloc d'instructions {} devraient être deux syntaxes indépendantes.

Pour des utilisations plus légales des balises d'instruction JAVA et à quoi servent les blocs d'instructions {}, veuillez prêter attention au site Web PHP chinois pour les articles connexes !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!