> For the complete documentation index, see [llms.txt](https://educacion.gitbook.io/programacion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://educacion.gitbook.io/programacion/ud2-programacion-estructurada/estructuras-condicionais/ambito-das-variables-dentro-dunha-estructura-if.md).

# Ámbito das variables dentro dunha estructura if

En Java, as variables definidas dentro dun bloque de código, como un bloque `if`, teñen o seu ámbito limitado ao bloque no que foron declaradas. Isto significa que as variables creadas dentro dun bloque `if` **só existen dentro dese bloque** e non son accesibles fóra del.

```java
if (true) {
    int x = 5;
    System.out.println("O valor de x dentro do if é: " + x);
}

System.out.println("O valor de x fóra do if é: " + x); // Error: non se pode atopar a variable x
```

* **Dentro dun bloque `if`**: Calquera variable declarada dentro do bloque só é válida e accesible mentres o control da execución estea dentro dese bloque.
* **Fóra do bloque `if`**: A variable deixa de existir cando o control sae do bloque, e non pode ser referenciada nin usada fóra del.

A continuación temos un exemplo con dúas estruturas diferentes:

```java
if (true) {
    int a = 10;
    System.out.println("Dentro do primeiro if: " + a);
}

if (true) {
    int a = 20; // Esta é unha nova variable a, independente da anterior, por iso hai que volvela definir
    System.out.println("Dentro do segundo if: " + a);
}
```

Aquí, a variable `a` no primeiro `if` non afecta á variable `a` no segundo `if`, porque cada unha ten o seu propio ámbito limitado ao bloque onde se declarou.
