miércoles, 1 de enero de 2014

Tutorial Java en Linux Basico 4

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.