ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Sentencias De Control De Flujo En Java


Enviado por   •  25 de Febrero de 2013  •  2.522 Palabras (11 Páginas)  •  535 Visitas

Página 1 de 11

1. CONCEPTOS BÁSICOS EN JAVA

1.1. Sentencias de Control de Flujo en Java

Las sentencias de control de flujo determinan el orden en que se ejecutarán las otras sentencias dentro del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo.

Sentencias palabras clave

toma de decisiones if-else, switch-case

bucles for, while, do-while

La sentencia if-else

La sentencia if-else de java proporciona a los programas la posibilidad de ejecutar selectivamente otras sentencias basándose en algún criterio.

Por ejemplo, supón que tu programa imprime información de depurado basándose en el valor de una variable booleana llamada DEBUG. Si DEBUG fuera verdadera true, el programa imprimiría la información de depurado, como por ejemplo, el valor de una variable como x. Si DEBUG es false el programa procederá normalmente. Un segmento de código que implemente esto se podría parecer a este.

. . .

if (DEBUG)

System.out.println("DEBUG: x = " + x);

. . .

Esta es la versión más sencilla de la sentencia if: la sentencia gobernada por if se ejecuta si alguna condición es verdadera. Generalmente, la forma sencilla de if se puede escribir así.

if (expresión)

sentencia

Pero, ¿y si quieres ejecutar un juego diferente de sentencias si la expresión es falsa? Bien, puedes utilizar la sentencia else. Echemos un vistazo a otro ejemplo. Supon que tu programa necesita realizar diferentes acciones dependiendo de que el usuario pulse el botón OK o el botón Cancel en una ventana de alarma. Se podría hacer esto utilizando una sentencia if.

. . .

// Respuesta dependiente del botón que haya pulsado el usuario

// OK o Cancel

. . .

if (respuesta == OK) {

. . .

// Código para la acción OK

. . .

} else {

. . .

// Código para la acción Cancel

. . .

}

Este uso particular de la sentencia else es la forma de capturarlo todo.

Existe otra forma de la sentencia else, else if que ejecuta una sentencia basada en otra expresión. Por ejemplo, supón que has escrito un programa que asigna notas basadas en la puntuación de un examen, un Sobresaliente para una puntuación del 90% o superior, un Notable para el 80% o superior y demás. Podrías utilizar una sentencia if con una serie de comparaciones else if y una sentencia else para escribir este código.

int puntuacion;

String nota;

if (puntuacion >= 90) {

nota = "Sobresaliente";

} else if (puntuacion >= 80) {

nota = "Notable";

} else if (puntuacion >= 70) {

nota = "Bien";

} else if (puntuacion >= 60) {

nota = "Suficiente";

} else {

nota = "Insuficiente";

}

Una sentencia if puede tener cualquier número de sentencias de acompañamiento else if.

Podrías haber observado que algunos valores de puntuacion pueden satisfacer más una de las expresiones que componen la sentencia if. Por ejemplo, una puntuación de 76 podría evaluarse como true para dos expresiones de esta sentencia: puntuacion >= 70 y puntuacion >= 60. Sin embargo, en el momento de ejecución, el sistema procesa una sentencia if compuesta como una sola; una vez que se ha satisfecho una condición (76 >= 70), se ejecuta la sentencia apropiada (nota = "Bien";), y el control sale fuera de la sentencia if sin evaluar las condiciones restantes.

La sentencia switch

La sentencia switch se utiliza para realizar sentencias condicionalmente basadas en alguna expresión. Por ejemplo, supón que tu programa contiene un entero llamado mes cuyo valor indica el mes en alguna fecha. Supón que también quieres mostrar el nombre del mes basándose en su número entero equivalente. Podrías utilizar la sentencia switch de Java para realizar esta tarea.

int mes;

. . .

switch (mes) {

case 1: System.out.println("Enero"); break;

case 2: System.out.println("Febrero"); break;

case 3: System.out.println("Marzo"); break;

case 4: System.out.println("Abril"); break;

case 5: System.out.println("May0"); break;

case 6: System.out.println("Junio"); break;

case 7: System.out.println("Julio"); break;

case 8: System.out.println("Agosto"); break;

case 9: System.out.println("Septiembre"); break;

case 10: System.out.println("Octubre"); break;

case 11: System.out.println("Noviembre"); break;

case 12: System.out.println("Diciembre"); break;

}

La sentencia switch evalúa su expresión, en este caso el valor de mes, y ejecuta la sentencia case apropiada.

Decidir cuándo utilizar las sentencias if o switch depende del juicio personal. Puedes decidir cuál utilizar basándose en la buena lectura del código o en otros factores.

Cada sentencia case debe ser única y el valor proporcionado a cada sentencia case debe ser del mismo tipo que el tipo de dato devuelto por la expresión proporcionada a la sentencia switch.

Otro punto de interés en la sentencia switch son las sentencias break después de cada case. La sentencia break hace que el control salga de la sentencia switch y continúe con la siguiente línea.

La sentencia break es necesaria porque las sentencias case se siguen ejecutando hacia abajo. Esto es, sin un break explícito, el flujo de control seguiría secuencialmente a través de las sentencias case siguientes.

En el ejemplo anterior, no se quiere que el flujo vaya de una sentencia case a otra, por eso se han tenido que poner las sentencias break.

Sin embargo, hay ciertos escenario en los que querrás que el control proceda secuencialmente a través de las sentencias case. Como este código que calcula el número de días de un mes.

int mes;

int numeroDias;

. . .

switch (mes) {

case 1.

case 3.

case 5.

case 7.

case 8.

case 10.

case 12.

numeroDias = 31;

break;

case 4.

case 6.

case 9.

case 11.

numeroDias = 30;

break;

case 2.

if (((anio % 4 == 0) && !(anio % 100 == 0)) || anio % 400 == 0))

numeroDias = 29;

else

numeroDias = 28;

break;

}

Finalmente, puede

...

Descargar como (para miembros actualizados) txt (15 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com