Erreur de compilation de code Java si les accolades ne sont pas utilisées avec if [dupliquer]


Cette question a déjà une réponse ici:

Pourquoi le code suivant donne une erreur de compilation?

if (true)
    int p=10;

Le code similaire suivant fonctionne si j'utilise block:

if (true) {
    int p=10;
}

J'utilise Eclipse ID. Veuillez me faire savoir la raison exacte pourquoi nous ne pouvons pas faire le premier.

Author: Eran, 2014-10-30

1 answers

Vous ne pouvez pas déclarer une variable sans portée. Par conséquent, vous avez besoin des accolades pour déclarer p.

Si p a été déclaré en dehors de l'instruction if, vous auriez pu lui attribuer une valeur dans l'instruction if sans utiliser d'accolades.

int p;
if (true)
     p = 10;
 9
Author: Eran, 2014-10-30 06:59:47