Maison >Java >javaDidacticiel >L'utilisation légale des balises d'instruction JAVA et quelle est l'utilité des blocs d'instructions {} ?
Par exemple, écrivez un morceau de code comme celui-ci :
int i; { int j=1; i=j; }
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;
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;}
Regardons l'utilisation incorrecte :
label13: int x = 0;
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;}
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 !