Programación

1º DAM/DAW - Curso 2024-2025

User Tools

Site Tools


apuntes:estructuras_bucle

This is an old revision of the document!


Las estructuras de bucle

\part*{Las estructuras de bucle}

Las estructuras de bucle o repetición permite ejecutar de forma repetida estructuras de código. Existen diferentes tipos de bucle de forma que, como programador, podrás elegir la que más se adecue a cada situación.

Además, como veremos al final de esta parte, siempre se puede interrumpir repentinamente la repetición de estas estructuras cuando se produzcan situaciones excepcionales que lo requieran.

\section{Estructura for}

La estructura \verb for es adecuada en los casos en que conocemos el número de veces que se debe ejecutar la estructura. Al definir el bucle podemos elegir los valores inicial y final para los que se repetirá y de cuanto en cuanto (valor de paso) iremos incrementando la variable de control que gestiona el número de iteraciones que se deben realizar.

\begin{lstlisting}[language=java] for (inicio; condicion; incremento) {

  sentencias;

} \end{lstlisting}

\begin{lstlisting}[language=java] for (int i = 0; i < 10; i++} {

  System.out.println(i);

} \end{lstlisting}

\section{Estructura while}

La estructura \verb while es adecuada para los casos en los que tengamos que repetir una estructura de código hasta que se produzca una situación determinada. No nos importa el número de veces que se tenga que ejecutar el bucle, sino que éste permanecerá hasta que ocurra algo.

\begin{lstlisting}[language=java] while (condicion) {

  sentencias;

} \end{lstlisting}

\begin{lstlisting}[language=java] String mensaje = “”; while (!mensaje.equals(“.”) {

  System.out.println("Introduce el nombre de un producto");
  mensaje = entrada.readLine();

} \end{lstlisting}

\section{Estructura do .. while}

La estructura \verb do \verb .. \verb while es muy similar al bucle while pero garantiza que siempre se ejecutará al menos una iteración del mismo. La condición se evalúa al final de cada iteración asi que, al menos, se garantiza que la primera iteración siempre se ejecutará.

\begin{lstlisting}[language=java] do {

  sentencias;

} while (condicion) \end{lstlisting}

\begin{lstlisting}[language=java] int i = 10; do {

  System.out.println(i);
  i++;

} while (x < 10); \end{lstlisting}

\section{Interrupción de una estructura de bucle}

Todas las estructuras de bucle puede ser interrumpidas utilizando la instrucción \verb break . Cuando se encuentra dicha instrucción, se corta la ejecución completa de todo el bucle (la iteración actual y todas las que puedieran quedar) y el código continua su ejecución inmediatamente después del final de la estructura de bucle.

Existe también una instrucción que permite interrumpir una estructura de bucle pero sólo actúa para la iteración actual. La instrucción \verb continue corta la ejecución de la iteración actual y vuelve al inicio del bucle para continuar su ejecución justo en la iteración siguiente a la interrumpida.

\subsection{Break} \begin{lstlisting}[language=java] while (condicion1) {

  sentencia1;
  sentencia2;
  // Si se cumple condicion2, se rompe el bucle
  // y la ejecución del programa seguirá en sentencia4
  if (condicion2)
      break;
  sentencia3;

}

sentencia4; \end{lstlisting}

\subsection{Continue}

\begin{lstlisting}[language=java] do {

  sentencia1;
  sentencia2;
  // Si se cumple la condición no se ejecutarán 
  // sentencia3 y sentencia4 para esa iteración
  // Pero el bucle continuará con la siguiente iteración
  if (condicion2)
      continue;
  sentencia3;
  sentencia4;

} while (condicion1) \end{lstlisting}

%\lstinputlisting{partes/varios/Persona.java}


© 2019 Santiago Faci

apuntes/estructuras_bucle.1550182220.txt.gz · Last modified: 2019/02/14 22:10 by Santiago Faci