> 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/if-else-if-e-else.md).

# If, else if e else

A instrución `if` proporciona control sobre un conxunto de instrucións que poden executarse ou non dependendo da avaliación dunha condición. Se a condición é verdadeira executase o bloque de instrucións.

```java
if (condicion) {
    // Bloque de instrucións que se executa se se cumpre a condición
}
```

Cando debemos realizar múltiples comprobacións, podemos podemos utilizar a estrutura **else if**.

```java
if (condicion1) {
    // instrucions...
}
else if (condicion2) {
    // instrucions
}
```

A condición por defecto en Java utiliza a palabra reservada `else`. O bloque de código só se executa se non se cumpre ningunha das condicións anteriores dos bloques `if` ou `else if`<i class="fa-copy">:copy:</i>:

```java
if (condicion) {
    // Bloque de instrucións que se executan se se cumpre a condición
}
else if (condicion2) {
    // instrucions
}
else {
    //bloque de instrucións que se executan se non se cumpre ningunha das condicións anteriores
}
```

if con tan só unha instrución

{% hint style="warning" %}
**if con tan só unha instrución**

En Java, se desexas usar unha declaración `if` que só ten unha instrución asociada, podes escribir a condición seguida da instrución sen necesidade de usar chaves `{}`. Esta é unha práctica común para simplificar o código cando a instrución a executar é unha única liña.

```java
if (condición)
    instrucción;
```

Exemplo onde se usa un `if` con só unha instrución:

```java
int numero = 10;

// Comprobamos se o número é positivo
if (numero > 0)
    System.out.println("O número é positivo.");
```

É importante ter en conta que, mesmo que a sintaxe permita omitir as chaves para instrucións únicas, usar chaves pode mellorar a lexibilidade do código. É recomendable usar chaves sempre que sexa posible, especialmente en bloques de código que poden ser modificados no futuro.

Un erro común é supoñer que varias instrucións pertencen ao `if` cando en realidade só a primeira é parte del. Se necesitas engadir máis instrucións, debes usar chaves.
{% endhint %}

#### Operador ternario<i class="fa-link">:link:</i> <a href="#id-311-operador-ternario" id="id-311-operador-ternario"></a>

O operador ternario permite seleccionar un valor entre dous posibles, dependendo da avaliación dunha expresión, segundo sexa `true` ou `false`.

```java
// Operador ternario
variable = expr ? valor1 : valor2;

// Expresión if-else equivalente ao operador ternario
if (expr){
    variable = valor1;
}
else{
    variable = valor2;
}

```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://educacion.gitbook.io/programacion/ud2-programacion-estructurada/estructuras-condicionais/if-else-if-e-else.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
