5.instrucciones de control en java parte2

24
Instrucciones de control: parte 2 Ramiro Estigarribia Canese

Upload: ramiro-estigarribia-canese

Post on 20-Jul-2015

53 views

Category:

Technology


5 download

TRANSCRIPT

Instrucciones de control:parte 2

Ramiro Estigarribia Canese

Objetivos del Capítulo➔ Conocer los fundamentos acerca de la repetición

controlada por un contador.➔ Utilizar las instrucciones de repetición for y do...

while para ejecutar instrucciones de manera repetitiva en un programa.

➔ Comprender la selección múltiple utilizando la instrucción de selección switch.

➔ Utilizar las instrucciones de control de programa break y continue para alterar el flujo de control.

➔ Utilizar los operadores lógicos para formar expresiones condicionales complejas en instrucciones de control.

Introducción➔ El capítulo 4 nos introdujo a los tipos de bloques de

construcción disponibles para solucionar problemas.

➔ Utilizamos dichos bloques de construcción para emplear las técnicas, ya comprobadas, de la construcción de programas.

➔ En este capítulo continuaremos nuestra presentación de la teoría y los principios de la programación estructurada, presentando el resto de las instrucciones de control en Java.

Repetición whileEl ciclo while requiere 4 partes:1. Una variable de control.2. El valor inicial de la variable de control.3. El incremento (o decremento) .4. La condición, que determina si el ciclo debe continuar

o no.

Contador Whilepackage contadorwhile;public class ContadorWhile {public static void main( String args[] ){int contador = 1; //declara y asigna 1while ( contador <= 10 ) //condición de continuación{System.out.print( contador + " " );++contador; // incrementa en 1} // fin de while} // fin de main }

Instrucción de repetición for➔ La instrucción for, especifica los detalles de la

repetición en una sola línea de código.➔ Se incrementa el contador de forma automática, y

finalmente se ejecuta la prueba de control.

Ejemplo:ContadorForpackage contadorfor;public class ContadorFor {public static void main( String args[] ){for ( int contador=1; contador <= 10; contador++ ){System.out.print( contador + " " );} // fin de for} }

Diagrama UML: Contador

Ejemplos sobre el uso de la instrucción for➔ De 1 a 100 en incrementos de 1.for ( int i = 1; i <= 100; i++ )

➔ De 100 a 1 en decrementos de 1.for ( int i = 100; i >= 1; i-- )

➔ De 7 a 77 en incrementos de 7.for ( int i = 7; i <= 77; i+= 7 )

➔ De 20 a 2 en decrementos de 2.for ( int i = 20; i >= 2; i-= 2 )

➔ La siguiente secuencia: 55, 44, 33, 22, 11, 0.for ( int i = 55; i >= 0; i -= 11 )

Sumar Números Pares: del 2 al 10package sumapares;public class SumaPares {public static void main( String args[] ){int total = 0; // inicializa el totalfor ( int numero = 2; numero <= 10; numero += 2 )total += numero;System.out.printf( "La suma es "+total ); } // fin de main} // fin de la clase Suma

Ejemplo:Cálculo de InteresesUna persona invierte $1000 en una cuenta de ahorro que produce el 5% de interés. Calcule el dinero en la cuenta al final de cada año, durante 10 años, usando la fórmula:m = p(1 + r) ^ n ............ en donde:➔ p es el monto que se invirtió originalmente.➔ r es la tasa de interés anual (0.05)➔ n es el número de años➔ m es el monto obtenido.

package intereses;public class Intereses {public static void main( String args[] ){double monto; // monto final de cada añodouble principal = 1000; // monto inicialdouble tasa = 0.05; // tasa de interésSystem.out.println( "Año Monto" ); //Títulosfor ( int anio = 1; anio <= 10; anio++ ) { monto = principal * Math.pow( 1.0 + tasa, anio ); System.out.println( +anio + "\t" +monto );} // fin de for} }

Cálculo de Intereses➔ Utilizamos el método pow de la clase Math para

realizar el cálculo del interés.➔ Math.pow( x, y ) calcula el valor de x elevado a la y-

ésima potencia. El método recibe dos argumentos double y devuelve un valor double .

➔ Después de cada cálculo, se imprime en pantalla el año y el monto depositado al final de ese año.

Instrucción de repetición do...while➔ La instrucción de repetición do...while

evalúa la condición de continuación después de ejecutar el cuerpo del ciclo.

➔ Por lo tanto, el cuerpo siempre se ejecuta por lo menos una vez.

➔ Cuando termina una instrucción do...while , la ejecución continúa con la siguiente instrucción en la secuencia.

Imprimir del 1 al 10.package dowhile;public class DoWhile {public static void main( String args[] ){int contador = 1; // inicializa contadordo{ System.out.printf( " " +contador ); ++contador; // incrementa en 1} while ( contador <= 10 ); // fin de do...whileSystem.out.println(); // imprime una nueva línea} }

Instrucción de selección múltiple switch➔ En el capítulo 4 hablamos de la instrucción if. ➔ La instrucción switch permite seleccionar para

muchos valores de una variable. Ejemplo:switch ( valor ){case 999: // valor=999 System.out.print( "999" ); break; //corta el switchcase 777: // valor=777 System.out.print( "777" ); ......}

package calificacion;public class Calificacion { public static void main(String[] args) {int calificacion = 75;switch ( calificacion/10 ){case 9: // calificación está entre 90 y 100System.out.print( "Cinco" ); break; case 8: // calificación está entre 80 y 89System.out.print( "Cuatro" ); break;case 7: // calificación está entre 70 y 79System.out.print( "Tres" ); break;case 6: // calificación está entre 60 y 69System.out.print( "Dos" ); break;default: // todos los demás casosSystem.out.print( "Uno" ); } } }

Instrucciones break ➔ Además de las instrucciones de selección y

repetición, Java cuenta con las instrucciones break y continue.

➔ La instrucción break para terminar la ejecución de una instrucción switch.

➔ Cuando break se ejecuta en una instrucción while , for , do...while , o switch , ocasiona la salida inmediata de esa instrucción.

➔ Los usos comunes de break son para escapar anticipadamente del ciclo.

package pruebabreak;public class PruebaBreak { public static void main(String[] args) {int valor;for ( valor = 1; valor <= 10; valor++ ) // itera 10 veces{if ( valor == 5 ) // si valor es 5,break; // corta el ciclo} // fin de forSystem.out.println( "\nCortó en: " +valor );} // fin de main} // fin de la clase PruebaBreak

Instrucción continue➔ La instrucción continue omite las instrucciones

restantes de un ciclo y continúa con la siguiente iteración del ciclo.

➔ En las instrucciones while y do...while , la aplicación evalúa la prueba de continuación de ciclo justo después de que se ejecuta la instrucción continue .

➔ En una instrucción for se ejecuta la expresión de incremento y después el programa evalúa la prueba de continuación de ciclo.

package pruebacontinue;public class PruebaContinue { public static void main( String args[] ){for ( int valor = 1; valor <= 10; valor++ ) // itera 10 veces{if ( valor == 5 ) // si valor es 5,continue; // omite el resto del cicloSystem.out.printf( valor + " " );} // fin de for} }

Resultado: 1 2 3 4 6 7 8 9 10

Operador AND && ➔ if, while y for requieren una condición.

Hasta ahora hemos estudiado condiciones simples.➔ Suponga que deseamos asegurar que dos

condiciones sean ambas verdaderas.En este caso, podemos utilizar el operador && (AND condicional) de la siguiente manera:

➔ if ( genero == ‘FEMENINO’ && edad > 65 )La cual es verdadera si ambas son verdaderas.

Operador OR || Ahora deseamos que cualquiera o ambas condiciones sean verdaderas. En este caso, utilizamos el operador ||.if ( ( promedio >= 90 ) || ( examenFinal >= 90 ) )System.out.print ( “Materia Aprobada” );

La única vez que no se imprime el mensaje: “Materia Aprobada” es cuando ambas condiciones son falsas.

Operador de negación !El operador !, también conocido como negación lógica “invierte” el significado de una condición.Este operador se coloca antes de una condición.

Puede escribirse de estas 2 maneras:

if (!( nota == 5 )) //si nota es distinto a 5.

if ( nota != 5 ) //si nota es distinto a 5.