Anda di halaman 1dari 10

Estructuras de control if ,case,for,while y do while if ,case,for,while y do while en java Hola a hora que ya conocemos que es java la forma de representar

un algoritmo y los tipos de dato y la declaraci n de variables estamos un paso ms cerca de programar nuestra primera aplicacin en java pero aun tenemos otros conceptos que tenemos que manejar antes de sentarnos frente a una computadora. Las estructuras de control son fundamentales a la hora de realizar un programa ya que son las que nos dicen que comportamiento tienen los datos, existen 5 estructuras bsicas que hay que aprender a manejar las cuales son el if else, case,for,while y do whil. IF y ELSE bsicamente un if funciona de 2 maneras la manera positiva y el negativo ejemplo if( a==4){ //si lo que contiene la variable a es igual a 4 muestra "el numero es un cuatro"// System.out.println("el numero es un cuatro"); } else{ //si no entonces muestra "el numero es diferente de 4"// System.out.println("el numero es diferente de cuatro"); } a grandes rasgos un if es una condicin en la cual si esto se cumple desencadena una accin y en caso de que no se cumpla la condicion desencadenara una accion distinta. el if no nesesariamente tiene que ir acompaado de un else,si solo se desea hacer una validacion se puede utilizar un solo if. Ejemplo if( a==4){ //si lo que contiene la variable a es igual a 4 muestra "el numero es un cuatro"// System.out.println("el numero es un cuatro"); } int b=0; int valor=a+b; System.out.println(valor); En este caso tenemos el mismo if pero sin su respectivo else, quiere decir que en caso de que a sea igual a 4 se mostrara en pantalla el mensaje pero en dado caso que a no contenga un 4 el programa continuara su flujo normal y realizara la suma de a+b que se guarda en la variable llamada "valor" y mostrara el contenido de valor en pantalla incluso si el contenido de a fuese igual a 4 la suma se llevara a cabo ya que se encuentra fuera del if y el programa es interpretado de manera descendente es decir de arriba asa abajo. Case El case es una estructura muy utilizada en la elaboraci n de mens de opciones y toma de decisiones donde se tienen bastantes nmero de opciones. La estructura del case es de la siguiente manera intopcion;// variable que controla// switch(opcion){// interruptor// case1://valor del interruptor o indice del caso// //aqui escribimos el codigo de la tarea a realizar (lo que quieres que haga) // break;//fin del caso// case 2: break; case3:

break; default:// en caso de que la opcion ingresada no sea ninguna de las anteriores// break; }//fin del switch// es decir se tiene una variable la cual guardara el valor de la opci n elegida por el usuario, despus se le indica al switch la variable que le va a decir que hacer en este caso la variable opci n es la encargada de decirle al switch que hacer una vez el switch recibe una orden este busca en sus ndices que van del 1 al 3 en este caso si opcin contiene un 1 el switch llevara acabo la tarea que est dentro del case 1,pero en caso de que el usuario le d un valor que no sea ninguno de los indices dentro del switch realizara lo que se encuentre dentro de default el default es utilizado para evitar la introduccin de opciones no validas. FOR El for es una estructura de repeticin que nos permite realizar operaciones cuantas veces necesitemos. El for consta de 3 partes para funcionar la variable de inicio la condici n y el incremento y su sintaxis es la siguiente. Ejemplo for(int i=0;i<=5;i++){ // variable de inicio =i, condici n i menor igual a 5,incremento i++ es igual que i+1// Syste.out.println("hola"); } //como resultado este for imprimira 6 veces la palabra hola ya que en java el siclo for siempre comienza en 0 as que si quisiramos 10 repeticiones la condicin debera de ser i<=9// WHILE El while al igual que el for es una estructura de repeticin con la nica diferencia de que el wile no requiere una variable de control ni un incremento solo requiere de una condici n para funcionar el while analiza la condicin si esta no se cumple realiza la accin y vuelve a preguntar cuando la condicin se cumpla el siclo parara y seguir el flujo normal del programa; Ejemplo int A=0 int B=5 while(A>B) {//repetir asta que a meyor que B// A=A+1; } Este while se detendr hasta que A sea meyor a B que vale 5 cada que el while hace un siclo A se incrementa en 1 cuan A sea igual a 6 el while se detendra. DO WHILE El do while es una estructura de control que nos permite ir a una parte del cdigo en caso de que se cumpla alguna condicin que hayamos programado en dado caso que la condicin se cumpla el programa volver al punto en el cual se declaro el "do" la sintaxis es la siguiente; do{ // cdigo al cual se quiere retornar// }while(condicion); Ejemplo: int x=5// el valor inicial de x es 5// do { System.out.println("x es " + x--);//la instruccin que se repetir// }while( x>0 );//si x mayor que 0 entonces ir a donde esta do//

concatenacion explicasion de la instruccion: System.out.println("x es "+x--); las""indican texto sea letras el signo ms+despus de unas comillas indica concatenacin la concatenacin es la unin de un texto con otro o el contenido de una variable con un texto as como el++indica incremento en 1 el--indica decremento en 1 Ejemplo String A="hola"; String B="juan"; int numero=3; System.out.println(A+B+numero);// tendr como resultado en pantalla holajuan3// System.out.println("el resultado es: "+numero);// en pantalla ser el resultado es: 3// 2.- Estructuras de control: IF, FOR, FOR EACH, WHILE Las estructuras de control nos permiten controlar el flujo del programa: tomar decisiones, realizar acciones repetitivas etc, dependiendo de unas condiciones que nosotros mismos establezcamos. As podemos hacer un script que nos salude cada da de la semana de una manera diferente. O por ejemplo hacer un script que nos pida la contrasea una y otra vez hasta que suministremos la opcin correcta. 1.- La toma de decisiones if-else: Quiz la estructura de control ms bsica y la ms utilizada sea if-else: if (condicion) { // instrucciones que hay que ejecutar si la condicin es verdadera } else { // Instrucciones que hay que ejecutar si la condicin es falsa } En castellano sera algo as: Si (Tal cosa es cierta) { // Haz esto } En caso contrario { // Haz esto otro } Veamos un ejemplo real: En un formulario preguntaremos al usuario como se llama, pasaremos las variables a la pgina saludos.php . En saludos.php mostraremos un saludo diferente en funci n de si el usuario soy yo o es cualquier otro Formulario <html> <head> <title> Ejemplo bsico de If </title> </head> <body> <form action="saludos.php" method="get"> Quin eres?<br /> <input type="text" name="nombre" /> <input type="submit" name="reset" value=" Enviar " />

</form> </body> </html> saludos.php <html> <head> <title> Ejemplo bsico de If </title> </head> <body> <h1> Pgina de bienvenida</h1> <?php // Empieza el cdigo php if ($nombre=="Coder") { // Si el nombre es Coder echo(" Hombre $nombre! Ya ests cotilleando por aqu otra vez!"); // saludo especial }else { echo("Hola, $nombre, gracias por visitarnos"); // saludo para los dem s } ?> </body> </html> La clusula else (la parte del if-else que indica lo que hay que hacer si la condici n es falsa) es opcional. No es necesario ponerla. Por ejemplo puedo querer un script que slo me salude a mi. En este caso, cambiara saludos.php de la siguiente manera: <html> <head> <title> Ejemplo bsico de If </title> </head> <body> <h1> Pgina de bienvenida</h1> <?php // empieza el cdigo php if ($nombre=="Coder") { // Si el nombre es Coder echo(" Hombre $nombre! Ya ests cotilleando por aqu otra vez!"); // Saludo para Coder } ?> </body> </html> NOTA:Cuidado con el operador ==, es importante recordar que hay que utilizar un doble signo igual. Si utilizas s lo =, estars utilizando el operador de asignacin, es decir estableciendo que $nombre es igual a Coder con lo que la condicin siempre sera cierta Las condiciones pueden complicarse mucho ms, supongamos que queremos dejarte pasar slo s adems de llamarte Coder, te sabes la contrasea, que en nuestro caso es foros: Formulario: <html> <head> <title> Ejemplo bsico de If </title>

</head> <body> <form action="saludos.php" method="get"> Quin eres?<br /> <input type="text" name="nombre" /><br /> Y tu Contrasea?<br /> <input type="text" name="pass" /> <input type="submit" name="reset" value=" Enviar " /> </form> </body> </html> saludos.php <html> <head> <title> Ejemplo bsico de If </title> </head> <body> <h1> Pgina de bienvenida</h1> <?php // Empieza el cdigo php if ($nombre=="Coder" and $pass =="foros") { // Si el nombre es Coder y la contrasea foros echo(" Hombre $nombre! Ya ests cotilleando por aqu otra vez!"); // saludo especial }else { echo("ahhhhhhhhhhh como no te sabes el nombre y la contrasea, no puedes pasar"); // saludo para los dems } ?> </body> </html> Adems tenemos la instruccin elseif, que como su nombre indica, es una combinacin de if y else. Aade una nueva condicin en el caso de que la primera fuera falsa y slo ejecuta las instrucciones si esta nueva condicin es verdadera. Es decir, Veamos un ejemplo: if ($a > $b) { // Ejecuta esto si a es Mayor que b echo("a es mayor que b"); } elseif ($a == $b) { // si a no es mayor que be, comprueba si a es igual a b echo("a es igual que b"); } else { // si no se cumplen las anteriores condiciones ejecuta sta echo ("a es menor que b"); } 2- Bucles: While If else nos permita decidir si queramos ejecutar o no una instruccin en funcin de una condicin, los bucles nos permiten utilizar una condicin para determinar cuantas veces queremos ejecutar una instrucci n.: While (condicion) {

// Instrucciones a ejecutar una y otra //vez mientras la condicin sea cierta } El funcionamiento es muy parecido al del if-else, la diferencia estriba en que si la condici n es cierta y se ejecuta la orden, la condicin vuelve a comprobarse una y otra vez mientras siga siendo cierta. En cambio en el cambio del ifelse slo se comprueba la condicin una vez, si es cierta se ejecuta la instruccin y se sigue con el programa. Veamos un ejemplo: $cantidad = 1; while ($cantidad < 10) { echo ("$cantidad "); $cantidad++; } Esto traducido a castellano sera: $cantidad = 1; $cantidad es igual a uno while ($cantidad < 10) Mientras el valor de la variable $cantidad sea menor que 10 echo ($cantidad ); Escribe el valor de cantidad $cantidad++ (suma 1 al valor que tenga $cantidad, tambi n podramos haber escrito $cantidad = $cantidad +1) Veamos como funciona el script paso a paso, $Cantidad es igual a 1 1 es menor que 10 Escribo 1 en pantalla $cantidad = 2 (1+1) 2 es menor que 10 Escribo 2 en pantalla $cantidad = 3 (2+1) Si ejecutamos este script, en pantalla veramos 1 2 3 4 5 6 7 8 9 3- Bucles: do While Los bucles do while, son muy parecidos a los bucles while, slo que comprobamos si la condicin es cierta al final del bucle en lugar de al principio. As nuestras instrucciones se ejecutan siempre al menos una vez, lo que no ocurre en las condiciones while si la condicin es falsa. $cantidad = 1; do { echo ($cantidad); } while ($cantidad<1); Traducido sera $cantidad = 1 do ( // ejecuta echo ($cantidad); escribe el valor de cantidad while ($cantidad<1); mientras cantidad sea mayor que 1 -> la condici n es falsa luego el programa sale del bucle, pero ha escrito una vez el valor de $cantidad. El resultado en pantalla ser a 1 4- Bucles: for Los bucles for funcionan exactamente igual que en C . Con una sola instrucci n controlamos todo el bucle, as que para los vaguetes est muy bien. for (valor inicial; condicion; ejecutar en cada blucle) { // Instrucciones a ejecutar mientras la condicin sea cierta

} Ejemplo for ($cantidad = 1; $cantidad <10; $i++) { echo("$cantidad"); } Traducido es igual a: Cantidad es igual a 1, mientras cantidad sea menor que 10 escribe cantidad en pantalla y despu s smale 1 al valor de cantidad. Es decir, es exactamente el mismo ejemplo que vimos en el bucle while pero de otra manera. 4- Swich/case Nos permite ejecutar un bloque de cdigo u otro dependiendo del valor de una variable. Veamos un ejemplo. Primero para asignar un valor a la variable, vamos a hacernos un formulario: <html> <head> <title> Ejemplo de switch </title> </head> <body> <form action="switch.php" method="get"> Quin eres?<br /> <input type="radio" name="quien" value="cgus" /> cgus<br /> <input type="radio" name="quien" value="xela" /> xela<br /> <input type="radio" name="quien" value="adanedhel" /> adanedhel<br /> <input type="radio" name="quien" value="jorgito" /> jorgito<br /> <input type="submit" name="reset" value=" Enviar " /> </form> </body> </html> Switch.php <html> <head> <title>Ejemplo de Swich</title> </head> <?php switch($quien) { case "cgus": // Primera posibilidad echo (" $quien es todo un leader "); break; case "adanedhel": // segunda posibilidad echo ("$quien es un elfo"); break; case "xela": // tercera posibilidad echo ("$quien es normal"); break; default: // Posiblidad si no es ninguna de las anteriores echo ("$quien es un desconocido"); } ?>

</body> </html> Tenis ms informacin sobre las estructuras de control en el manual de php http://www.php.net/manual/es/control-structures.php Sintaxis alternativa PHP ofrece una sintaxis alternativa para alguna de sus estructuras de control; a saber, if, while, for, y switch. Puede hace el cdigo ms legible en algunos casos, especialmente en las pginas multiuso que vamos a ver a continuacin: If con construccin alternativa <?php if ($a==5): ?> A es igual a 5 <?php endif; ?> if con elseif y else en el formato alternativo: if ($a == 5): print "a es igual a 5"; print "..."; elseif ($a == 6): print "a es igual a 6"; print "!!!"; else: print a no es ni 5 ni 6; endif; While utilizando la construccin alternativa $i = 1; while ($i <= 10): print $i; $i++; endwhile; For con la construccin alternativa for (expr1; expr2; expr3): sentencia; ...; endfor; Pginas Multiuso Pginas multiuso son aquellas que pueden mostrar un contenido completamente diferente dependiendo de alguna condicin. De esta forma, podemos hacer varias cosas en un solo documento. La estructura habitual de una pgina multiuso es: <html> <head> <title> Pgina Multiusos </title> </head> <body> <php? If (condicin) { ?> <!-- HTML que se mostar si la condicin es cierta --> <?php }else{ ?> <!-- html que se mostratar si la condicin es falsa --> <?php } ?> </body>

</html> O utilizando la sintaxis alternativa que acabamos de ver: <html> <head> <title> Pgina Multiusos </title> </head> <body> <php? if (condicin): ?> <!-- HTML que se mostar si la condicin es cierta --> <?php else: ?> <!-- html que se mostratar si la condicin es falsa --> <?php endif; ?> </body> </html> Esto puede parecer un poco confuso. Pero es precisamente una de las caractersticas que estn haciendo muy popular al PHP: su capacidad de pasar de php a html en cualquier momento y todas las veces que sea necesario. Ejemplo Para nuestro ejemplo vamos a utilizar el ejemplo que vimos para switch y utilizar una sola p gina (multiuso.php) para el formulario y las respuestas en lugar de las dos que tenamos antes <html> <head> <title> Pgina Multiusos </title> </head> <body> <?php if (!isset($quien)): ?> <html> <head> <title> Ejemplo de switch </title> </head> <body> <form action="multiuso1.php" method="get"> Quin eres?<br /> <input type="radio" name="quien" value="cgus" /> cgus<br /> <input type="radio" name="quien" value="xela" /> xela<br /> <input type="radio" name="quien" value="adanedhel" /> adanedhel<br /> <input type="radio" name="quien" value="jorgito" /> jorgito<br /> <input type="submit" name="reset" value=" Enviar " /> </form> </body> </html> <?php else: switch($quien) { case "cgus": // Primera posibilidad echo (" $quien es todo un leader "); break; case "adanedhel": // segunda posibilidad echo ("$quien es un elfo"); break; case "xela": // tercera posibilidad echo ("$quien es un normal"); break; default: // Posiblidad si no es ninguna de las anteriores echo ("$quien es un desconocido"); }

endif; ?> </body> </html> for each Es un tipo de bucle especial para matrices. Cmo no hemos visto el tema de las matrices todava, de momento no lo vamos a explicar. Tocaremos este tema al hablar de las matrices. EJERCICIO PRCTICO 1.- Haz un script que escriba todos los nmeros pares del 1 al 100 utilizando el bucle while 2.- Escribe un script utilizando un bucle que se ejecute una vez y en el cual la condici n sea imposible. 3.- Haz un script que escriba todos los nmeros impares del 1 al 100 utilizando el bucle for 4.- Reescribe el ejercicio del tema 2, de forma que utilicemos 2 documentos en lugar de 3. - En el primer documento utilizars una pgina multiuso. Si el usuario no ha enviado datos, le presentas el formulario. Si el usuario ya ha rellenado los datos ver la pgina con los enlaces. - En el segundo documento, utilizaremos las estructuras de control que hemos visto para que el usuario vea unos datos u otros en funcin del enlace que utilice. - Datos de contacto: Ver una tabla con slo los datos de contacto. - Datos de empresa: Ver una tabla con slo los datos de la empresa. - Datos de viaje: Ver una tabla con slo los datos del viaje. - Todo: ver las tres tablas. La solucin a los ejercicios del tema 3 se puede descargar desde: http://www.tomatoma.ws/php/ejercicio3/ejercicio.zip

Anda mungkin juga menyukai