Condicionales

condicionales en java

son la serie de instrucciones o reglas que se necesitan para ejecutar un programa en cualquier lenguaje de programacion. Las sentencias son las pautas para que un ejercicio a un programa pueda ser leido o interpretado por un ordenador ya que este interpreta los datos que el usuario ingresa.

la estructura basica de una sentencia esta compuesta por cuatro partes importantes que son:

1) la propia instruccion condicional en si = es nuestro problema original del cual partiremos para generar nuestro programa.

2) la condicion: es la que nos dictamina la forma de desarrollarla e interpretarla a la vez.

3) el grupo cierto de instrucciones: es parte de la sentencia que se puede cumplir.

4) el grupo falso de instrucciones: es la segunda parte si no se cumple la sentencia.

recordemos un caso tipico en el cual la toma de decisiones esta condicionada, en el momento de tomar una decision cuando vamos a tomar un transporte:

1) decidir el tipo de ruta que vamos a emplear

2) disponibilidad monetaria para efectuar dicha decision

3) analizar la capacidad del medio de transporte

4) pensar en los probables incidentes que haya en el transcurso de la ruta

ademas de estos hay muchos mas factores que nos haran tomar dicha decision.

todo esto con el fin de hacer un preambulo, basado en la vida real e ingresar al lado de la programacion.

el lenguaje java soporta 3 estructuras de control:

sentencia clave

toma de decision if-else,switch-case

bucle for,while,do-while

miscelaneo break,continue,return,goto

nota: aunque goto es una palabra reservada, actualmente el lenguaje java no soporta esta sentencia se pueden utilizar las sentencias de bifurcacion en su lugar.

Una de las mas poderosas características de cualquier computador es la capacidad que tienen de tomar decisiones.

Es decir al comparar dos alternativas diferentes el computador puede tomar una desición, basándose en la evaluación que hace de alguna condición.

Ejemplos de instrucciones condicionales:

a) si sueldo > 3000
desplegar “rico”
si no
desplegar “pobre”
fin-si

b) si sexo = 'm'
imprime mujer
si no
imprime hombre
fin-si

De los ejemplos observar que los caminos que tome el computador dependerán de la evaluación que el computador hace con y de la condición.

Todo lenguaje de programación como java debe tener instrucciones que permitan formar condiciones e instrucciones que pueden evaluar esas condiciones.

Pero recordar que lenguajes visuales de igual forma tienen componentes que permiten del mismo modo al usuario tomar decisiones, incluso directamente en pantalla, es decir existen los llamados componentes de selección y decisión.

El formato general de una instrucción condicional es:

Como se observa son cuatro partes bien diferenciadas entre si;

La propia instrucción condicional en si
La condición
El grupo cierto de instrucciones
El grupo falso de instrucciones

Cuando el computador evalúa una condición, el resultado de esa evaluación solo es evaluado de dos maneras o la condición es CIERTA o la condición es FALSA.

Esto dependerá del valor que tenga asignado o que se haya capturado para la variable que está en la condición, por ejemplo si se capturo 6000 en sueldo en el ejemplo a) entonces el computador indicaría que la condición es CIERTA pero en otro caso, si a la variable sueldo primero se le asigno un valor de 250 entonces el computador indicaría que la condición, es FALSA.

Ya dependiendo del resultado de la evaluación, el computador ejecuta las instrucciones contenidas en la parte CIERTA o en la parte FALSA de la condición.

Para nuestros primeros programas en java empezamos el análisis por la CONDICION.

LA ESTRUCTURA DE CONTROL CONDICIONAL IF:

las sentencia if nos permite elegir si se ejecuta o no un bloque de instrucciones.

SINTAXIS

if (condicion)
sentencia ;

if (condicion){
bloque
}

LA ESTRUCTURA IF / ELSE:

una sentencia if cuando incluye una clausula else permite ejecutar un codigo de bloque si se cumple la condicion y otro codigo de bloque si no se cumple.

SINTAXIS

if (condicion)
sentencia;
else
sentencia2;

if (condicion){
bloque 1}
else {
bloque 2}

EJEMPLO:

public class Condicional {
static int analisis(int prueba, int objetivo) {
      int resultado = 0;
      if(prueba > objetivo)
            resultado = +1;
      else if(prueba <> objetivo)
                  resultado = -1;
            else
                  resultado = 0; // Prueba igual a Objetivo
      return resultado;
}

public static void main(String[] args) {
    System.out.println(analisis(7, 3));
    System.out.println(analisis(3, 7));
    System.out.println(analisis(7, 7)); }
}

aqui podemos observar un claro ejemplo de una sentencia de condicionales.

Se pueden escribir los if en las mismas líneas que los else, pero desde este tutorial se insta a utilizar la forma indentada (como se ha podido ver en el ejemplo), pues es más clara para el lector.

Este sistema de programación (else if) no es demasiado recomendable, y por ello el lenguaje Java incluye la sentencia switch, que veremos a continuación, para dirigir el flujo de control de variables con múltiples valores.

b.) La sentencia switch
Mediante la sentencia switch se puede seleccionar entre varias sentencias según el valor de cierta expresión.

La forma general de switch es la siguiente:switch ( expresionMultivalor ) {
    case valor1 : conjuntoDeSentencias; break;
    case valor2 : conjuntoDeSentencias; break;
    case valor3: conjuntoDeSentencias; break;
    default: conjuntoDeSentencias; break;
}

La sentencia switch evalúa la expresiónMultivalor y ejecuta el conjuntoDeSentencias que aparece junto a la cláusula case cuyo valor corresponda con el de la expresiónMultivalor.

Cada sentencia case debe ser única y el valor que evalúa debe ser del mismo tipo que el devuelto por la expresiónMultivalor de la sentencia switch.

Las sentencias break que aparecen tras cada conjuntoDeSentencias provocan que el control salga del switch y continúe con la siguiente instrucción al switch. Las sentencias break son necesarias porque sin ellas se ejecutarían secuencialmente las sentencias case siguientes. Existen ciertas situaciones en las que se desea ejecutar secuencialmente algunas o todas las sentencias case, para lo que habrá que eliminar algunos break.

Finalmente, se puede usar la sentencia default para manejar los valores que no son explícitamente contemplados por alguna de las sentencias case. Su uso es altamente recomendado.

Por ejemplo, supongamos un programa con una variable entera meses cuyo valor indica el mes actual, y se desea imprimir el nombre del mes en que estemos. Se puede utilizar la sentencia switch para realizar esta operación:int meses;

switch ( meses ){
    case 1: System.out.println( "Enero" ); break;
    case 2: System.out.println( "Febrero" ); break;
    case 3: System.out.println( "Marzo" ); break;
    //Demas meses
    // . . .
    case 12: System.out.println( "Diciembre" ); break;
    default: System.out.println( "Mes no valido" ); break;
}

Por supuesto, se puede implementar esta estructura como una sentencia if else if:int meses;

if ( meses == 1 ) {
   System.out.println( "Enero" );
}
else
     if ( meses == 2 ) {
          System.out.println( "Febrero" );
     }
// Y así para los demás meses

El decidir si usar la sentencia if o switch depende del criterio de cada caso. Se puede decidir cuál usar basándonos en la legibilidad, aunque se recomienda utilizar switch para sentencias con más de tres o cuatro posibilidades.



ALEXANDER GIL TAFUR



OSCAR JAVIER DIAZ