Páginas

miércoles, 6 de marzo de 2013

El IF, el mejor amigo del programador

If:

La sentencia "if" es una de las sentencias mas sencillas y a la vez mas importantes en el mundo de la programación, esta expresión permite evaluar una condición y terminar si es verdadera o falsa, en caso de que sea verdadera permite la ejecución de más código.

Ejemplo:

                 if(5 > 3){
System.out.print("El numero 5 es mayor que que numero dos.");
}


Como le aprecia la estructura del if es muy simple, el nombre de la sentencia seguida de unos paréntesis donde va la condición que debe cumplirse para que se ejecute el código que esta encerrador por los corchetes.

Para poder sacarle provecho al if es necesario revisar los operadores relacionales y lógicos.

Operadores relacionales: permiten evaluar expresiones numéricas y en caso de "igual a" y "diferente de" también expresiones booleanas, recordando una expresión booleana solo puede tener dos valores "True" o "False", en java para evaluar la expresión "igual a" se usa "==" y para la expresión  "diferente de" se usa "!=".

Operador   Definición
<                menor que
>                mayor que
=                igual a
<>             diferente de
<=             menor que o igual a
>=             mayor que o igual a

Operadores lógicos: son operadores que permiten evaluar expresiones a nivel lógico son muy usados cuando se intenta evaluar un conjunto de expresión o para reducir la complejidad del código.

Operador   Definición
AND          Y (en java &&)
OR             O (en java ||)
NOT           No (en java !)

Ejemplo:

int numero = 10;
if(numero > 5 && numero < 15){
System.out.print("El numero es mayor que 5 y menor que 15.");
}

Como se aprecia se evaluar dos condiciones para el mismo elemento y se unieron con operador AND, para hacer que las dos se tengan que cumplir.

Else:

Adicional al operador if simple existe un complemento llamado else que evalúa el caso contrario, en este momento hay que resaltar que como se había mencionado el if solo tiene dos opciones, o la condición se cumple o no se cumple, el else entra en caso de que la condición no se cumpla y permite ejecutar código para este caso. 

Ejemplo:

int edad = 10;
if(edad >= 18){
System.out.print("Ud es mayor de edad");
}else {
System.out.print("Ud es menor de edad");
}

En este caso solo existen dos opciones, que el numero sea mayor o igual a 18 o que sea menor, gracias al else podemos trabajar con la segunda opción.

Else if:

Como se vio anteriormente, el else es muy útil en el caso de que solo queramos evaluar dos opciones, sin embargo nos vamos a encontrar con casos donde queremos evaluar más posibilidades, para ello podemos usar una combinación del if con el else llamada else if, esta va a seguir la misma estructura explicada anteriormente pero de una forma que va permitir evaluar más opciones.

Ejemplo:

int semestre = 10;
if(semestre == 1){
System.out.print("Ud esta en primer semestre. bienvenido.");
}else if(semestre == 10) {
System.out.print("Ud esta en décimo semestre, buena suerte.");
}else{
System.out.print("Ud no esta ni en primer ni  en décimo semestre, siga estudiando.");
}

Como se aprecia, se evalúan tres opciones, la primera si el estudiante esta en primer semestre, la segunda si esta en décimo y la tercera abarcaría el resto de semestres.

Ifs anidados

En muchas ocasiones nos encontramos con la necesidad de evaluar una expresión habiendo evaluado previamente una condición anterior, la solución es ordenar los ifs, uno dentro de otro.

Ejemplo:

int semestre = 10;
if(semestre < 4){
System.out.print("Ud tiene clase de programación: ");
if(semestre == 1){
System.out.print("I");
}else if (semestre == 2) {
System.out.print(" II");
}else {
System.out.print("III");
}
}

Como se aprecia, primero se evalúa si es semestre es inferior a cuarto, así podemos tomar un grupo especial, los estudiantes con semestre menor a cuarto, ahora a ese grupo le vamos a dejar un mensaje común o general para todos "Ud tiene clase de programación: ", eso quiere decir que ya evaluamos la primera condición, ahora dependiendo del semestre podemos ser más específicos con el mensaje.

Al tener un if dentro de otro podemos armar estructuras complejas y optimizar nuestro código.

Optimizar los if

Como programadores nuestro deber es optimizar nuestro código para ello podemos hacer cosas muy sencillas, incluso desde el uso de los if.

  • Evaluar primero las opciones más probables, en nuestro programa siempre tendremos varias opciones y depende cual evaluamos primero el programa puede rendir más, en ocasiones sera más eficiente el uso de sentencias como el Switch, un ejemplo se esto lo vemos en el if anidado, primero se evaluó una condición grande, así no fue necesario evaluar otras condiciones innecesarias.
  • No sobrecargar el if, aunque usando operadores lógicos podemos crear condiciones grandes, esto no es bueno para el rendimiento del programa, lo ideal es usar la técnica divide y vencerás para evaluar expresiones.
  • Usar expresiones lógicas pude ayudar a simplificar nuestro código y a optimizarlo si estas se usan correctamente.
If simple

Existe una forma simple de escribir un if, es la siguiente: (condición) + ? + sentencia si es verdadero + : + sentencia si es falso + ; .

Ejemplo:

String respuesta = (5 > 3) ? "El numero 5 es mayor que 3." : "Error"; 

Eso fue todo, por esta entrega, recuerden aprender a usar el if pues esta sentencia tan simple se va a convertir en su aliada a la hora de resolver problemas de programación.

No hay comentarios:

Publicar un comentario