Estructuras selectivas Condicionales
Algo muy muy básico en los lenguajes de programación son las estructuras selectivas,de ahora en adelante condicionales,en java me tarde un poco en hablar de esto,pero es que primero debíamos conocer lo que hasta ahora he escrito(según mi enseñanza).Las condicionales deciden que camino tomar en nuestro código,esto puede cambiar totalmente el funcionamiento del mismo,ya que depende a que nivel ejecutemos una sentencia selectiva.
En Java las condicionales se definen con las palabras:
if
else
y
else if
Las estructuras tienen una sintaxis tipo Perl con la condición entre paréntesis y el bloque entre llaves:
1 2 3 4 5 6 7 8 9 10 11 | if (condicion) { /* Un bloque grande */ } else { /* Otro bloque Grande */ } |
O bien si es una pequeña ejecución no necesita bloque y se puede usar con la sintaxis de terminación de una linea (punto y coma):
1 2 3 4 | if (condicio) /* a ejecutar */; else /* a ejecutar */; |
Primero que nada devemos saber que la condicion a la que responde el if es un valor boleano,el cual si es true se ejecuta,por ejemplo:
1 2 | if (true) System.out.println("Es true"); |
Aquí cabe clarar que esto es inútil:
1 2 3 4 | if (true) System.out.println("Es true"); else System.out.println("Es false"); |
Ya que true es un valor inmutable y el else sale sobrando.
Algo mas acorde seria:
1 2 3 4 5 6 | void ver(boolean x){ if (x) System.out.println("Es true"); else System.out.println("Es false"); } |
Ya que podriamos hacer en el main o donde llamaramos esa funcion:
ver(true);
o
ver(false);
Bien esto no solo va a valores falsos o verdaderos ya definidos,podemos crear nuestra logica boleana,por ejemplo:
Es cierto que 1 es mayor que 0,si.
Es cierto que 10 es menor a 100,si.
Es cierto que 10 es igual a 10,si.
Es cierto que 10 no es igual a 10,no.
Como se ve eso en Java?
Lo primero es comprender los operadores de condición:
Simbolo | Significado | Ejemplo | Resultado |
== | Igual que | 0 == 0 | true |
=! | No igual que | 1 =! 1 | false |
< | Menor que | 10 < 2 | false |
> | Mayor que | 3 > 2 | true |
<= | Menor o igual que | 2 <= 2 | true |
>= | Mayor o igual que | 2 >= 1 | true |
Esa tabla representa las comparaciones,si quisiéramos comparar Strings podríamos usar equals,pero lo vemos mas abajo:
Vamos a ver un ejemplo de como trabaja la comparación numérica con dos caminos a tomar:
1 2 3 4 5 6 7 | int x = 10; int y = 1; if (x > y) System.out.println("x es mayor"); else System.out.println("y es mayor"); |
O
1 2 3 4 | if (x < y) System.out.println("y es mayor"); else System.out.println("x es mayor"); |
Vamos a ver un ejemplo que a la vez ayude al aprendizaje:
Enlace
Solo copien y ejecuten:
El código no es lo importante solo la ejecución en próximos tutoriales comprenderemos bien ese código.
Para comparación de cadenas usamos una función de cadena llamada equals o compareTo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | String s = "Hola"; if (s.compareTo("Hola")) System.out.println("Verdadero"); if (s.equals("Hola")) System.out.println("Tambien verdadero"); if (s.compareTo("hola")) System.out.println("Verdadero"); else System.out.println("Falso"); // esta vez se ejecuta esto if (s.compareToIgnoreCase("hola")) // No importan las mayusculas o minusculas System.out.println("Verdadero"); else System.out.println("Falso"); // esta vez no se ejecuta esto |
Si no sabemos el resultado de una comparación basado en dos posibles resultados podemos usar else if:
1 2 3 4 5 6 7 8 9 10 11 | int x = 10; if (x == 1) { System.out.println("Se ejecuta esto si x es 1"); } else if (x < 10) { System.out.println("Se ejecuta esto si x es menor a 10"); } else if (x == 10) { System.out.println("Se ejecuta esto si x es igual a 10"); } else { System.out.println("Se ejecuta esto si no es ninguno de los anteriores"); } |
Si se ejecuta uno ya no pasa al siguiente.
De momento eso es todo :D.
No hay comentarios.:
Publicar un comentario
Los comentarios serán revisados antes de ser publicados.