Condicionales y Bucles



Ya conocimos en la entrada anterior la sentencia condicional IF simple, ahora la veremos compuesta, es decir veremos que hacer en caso de que la condición del if no se cumpla. La sintaxis es la Sgte:

if (si se cumple esto )
{
realizar estas acciones
}else
{
realizar acciones
}

la sentencia else que va inmediatamente después del if se realizara siempre y cuando el if no se cumpla, es decir, si la condición del if no se cumple automáticamente se realizara el else.

EJ;

int num1 = 3;
int num2 = 8;

if(num1 >=num2)
{
System.out.println("num1 es mayor o igual a num2");
}else //se ejecuta solo si la condicion del if es false.
{
System.out.println("num1 es menor que num2 ");
}

La salida de este pequeño código seria:    num1 es menor que num2

La tercera forma de utilizar el if es atraves de sentencias if -else if.  acá un ejemplo.

int num1 = 10,
int num2 = 15;

if(num1==num2) //si num1 es igual a num2
{
   System.out.println("num1 es igual a num2");
}//fin del if
else if (num1 < num2)  //si num1 es menor a num2
{
  Systemout.println("num1 es menor que num2");
}//fin del primer else if
else if(num1 > num2)  //si num1 es mayor a num2
{
  System.out.println("num1 es mayor que num2");
}

La salida seria la del primer else if, ya que es la única condición que se cumple, hay que hacer notar que cuando se cumple la condición el programa continua después de la ultima llave del ultimo else if. es decir apenas se cumple una condición, se ejecuta lo que este entre {} y después no continua verificando ningún else if mas.


La sentencia switch


Al igual que la sentencia if, switch es una sentencia condicional que evalúa alguna variable.
a diferencia del if el switch evalua un tipo de dato. por ejemplo.


Scanner entrada = new Scanner(System.in);  //instancia de la clase Scanner la cual nis deja ingresar datos en                                                                       la consola
System.out.println(" ingrese un mes :");  //pide datos al usuario

String nombre = entrada.nextLine();   //almacena los datos ingresados en un String

switch (nombre) //revisa el valor de nombre
{
case "enero": //en caso de que nombre sea "enero"
        {
        System.out.println("enero tiene 31 dias");
        }break;
case "febrero": //en caso de que nombre sea febrero
        {
        System.out.println("febrero tiene 28 dias");
        }break;
 default:{
         System.out.println("no ingreso un mes valido")
         }
}//fin del switch

como puedes ver en el encabezado del switch usamos ( ) y dentro le pasamos un sentencia a evaluar. en este caso nombre. *el cuerpo de un switch va delimitador por llaves {}

-Primero se escribe el nombre se la sentencia y le sigen unos parentesis y llaves

switch ( valor_a_comparar) {

} //fin del switch

-en el cuerpo se ponen los denominados case podriamos decir que significa "en caso de"
se compara lo que pongamos a continuacion de case con lo que escribimos en el valos_a_comprar en la declaracion del switch, en este caso comparamos el valor de la variable nombre (que es String) con el String del case. podriamos leer el primer case de la seguiente manera

-En caso de que la variable nombre sea igual a "enero" ejecutar lo siguiente.

-Después del valor del case, se ponen dos puntos :  ¡¡¡no punto y coma!!!

-Entre las llaves van las acciones en caso de que esa comparación sea verdadera.

-inmediatamente después de la llave de cierre } del case debemos poner un break; //esta vez si con punto y coma.  El break hace que la ejecución del switch se termine y deje de comprobar. en caso de no poner el break una vez que la ejecución encuentre un case verdadero, ejecutara todas las acciones de los case siguientes.independiente de si son verdaderos o no. por eso es importante colocar break.

al finalizar los case (aun dentro del switch) se pone la sentencia default: {    }  las acciones dentro de los paréntesis se realizaran en caso de que ningun case se cumpla.

El ciclo for

for Es una sentencia de ciclo, bucle o repeticion, que nos permite iterar un numero determinado de veces sobre algunos elementos especificos. la sintaxis en seudocodigo de for es la siguiente

for(contador ; mientras se cumpla esto; contador++)
{
acciones
}

contador es una variable de control que se utilizara para controlar las veces que iterara el ciclo.
mientras es la condición para que el ciclo se mantenga o se detenga
contador++ vendría a ser el incrementador que le da un nuevo valor a contador por cada iteracion del ciclo.

*Notese que en el encabezado del for las declaraciones están separadas por ; y que el cuerpo del for al igual que las sentencias if y switch esta delimitado por  { }
* el operador de incremente ++ (variable++) le añade 1 a un numero despues de usarlo alguna vez, para añadirle un numero antes de utilizarlo el ++ se le pone antes (++variable)
Ej:

for(int i = 0; i < 5; i++)
{
System.out.println("El valor de i es  ="+ i);
}

primero creamos una variable int i = 0, luego especificamos la condición del ciclo, mientras i sea menor a 5, por cada vuelta sumale 1 a i.

¿cuantas vueltas daría este ciclo?
R: 5.   pese a que especificamos que el ciclo solo se repetirá mientras i sea menor que 5 ( i < 5) recuerden que el i esta inicializado como 0, así que los valores de i son.
//esta seria la salida del código
El valor de i es  = 0
El valor de i es  = 1
El valor de i es  = 2
El valor de i es  = 3
El valor de i es  = 4

cuando intenta evaluar nuevamente el i, la condición deja de cumplirse ya que no seria menor a 4. por ende se sale del ciclo y continua el código normalmente.

ahora utilizaremos  for para sumar el valor de las i

class Suma{

public static void main(String[] arg){
int suma = 0;

for(int i = 0; i < 5; i++)
{
suma = suma + i;
}

System.out.println("el total de la suma es :+"suma );
}//fin main
}//fin clase Suma

 la salida de este programa seria:    el total de la suma es 10

veamos, en la primera vuelta suma vale 0 e i también osea la ecuación seria
                                       suma = suma + 0
                                       0       = 0       + 0
En la segunda vuelta i vale 1 por lo tanto:

                                      1 = 0 + 1 //con lo que suma queda con valor 1.
en la tercera vuelta i vale 2 por lo tanto
       
                                     3 = 1 + 2; //con lo que suma queda en 3
en la cuarta vuelta i vale 3 por lo tanto

                                    6 = 3 + 3; //con lo que suma queda en 6
en la quinta vuelta i vale 4 por lo tanto:

                                    10 = 6 + 4; //con lo que suma queda en 10

for intenta dar la 6ta vuelta pero la condición de que i tiene que ser menor que 4 se cumple así que sale del bucle y devuelve el resultado


Falta la sentencia while, que también es un bucle. la veremos de forma fragmentada en los siguientes videos ya que por ahora con las acá presentadas no es suficiente. (*while es una poderosa herramienta de ciclo)

No hay comentarios:

Publicar un comentario

Alguna consulta, dato, reclamo o donacion1313?