> 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-repetivas/saidas-anticipadas.md).

# Saídas anticipadas

Dependendo da lóxica dun programa, pode ser interesante rematar un bucle con anterioridade ou non esperar a que finalice a condición realizando todas as iteracións.

{% hint style="warning" %}
**A boa práctica e controlar a permanencia do programa no bucle mediante as condicións do mesmo.** Sen embargo, hai certos casos de algoritmos que queremos programar nos que interromper a execución do bucle e a solución mais óptima e sinxela
{% endhint %}

## Break

A sentencia break finaliza completamente un bucle:

```java
public class BreakEjemplo {
    public static void main(String[] args) {
        int numero = 0;
        while (numero < 10) {
            numero++; / Incrementamos ao comezo
            // Se o número é 8, saímos do bucle
            if (numero == 8) {
                System.out.println("Saíndo do bucle en 8");
                break; // Rompe o bucle inmediatamente
            }
        }
        System.out.println("Bucle rematado.");
    }
}
```

Esta sentencia é útil especialmente:

* **Representar condicións de saída complexas:** É dificil expresar nunha única condición no bucle todos os casos de parada
* **Búsquedas:** O encontrar un elemento finalizamos o bucle

## Continue

A sentencia continue salta a iteración actucual do bucle

```java
public class ContinueEjemplo {
    public static void main(String[] args) {
        int numero = 0;
        while (numero < 10) {
            numero++; / Incrementamos ao comezo
            // Se o número é 8, saltamos a iteración
            if (numero == 8) {
                continue;
                // Escribe todos os números do 1 o 10 excepto o 8
            }
            System.out.println(numero);
        }
        System.out.println("Bucle rematado.");
    }
}
```

Esta sentencia é útil especialmente:

* **Saltar iteraciones específicas:** Ignorar certos casos sen ter que anidar condicionales
* **Filtrar elementos:** Procesar solo alguns elementos de unha colección
* **Optimización:** Evitar procesamento inecesario para certos casos


---

# 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-repetivas/saidas-anticipadas.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.
