jueves, 16 de agosto de 2012

(JAVA)Loops For ,while,do while, ejercicios





Como se usa un loops  ?
 supongamos que  necesitamos repetir cantidad de objetos con el mismo nombre pero de números distinto no podremos programar uno a uno seria empleo de tiempo innecesario.  Con la aplicación de este loop bastaría con construir una clase

y son de tres  tipos.

For  Son  repeticiones por medio de un ciclo  ( loop ) que repetirá cantidad de veces determinadas, tiende  hacer un poco mas complejo y puede incluir  mas de una  variable  de inicialización siempre y cuando estén estrictamente separadas por  ; punto y coma

while este loops  puede que  no se ejecute nunca podría estar  rodando por muchas oras y sin  que se cumpla la condición por eso  aparase el bucle

do while  para asegurarse que se ejecute el contenido del loops una vez ..

ejemplo del loops  for

 for (int i=1; i<=7; i++){    

este es  el  loops
estructurado por
for (            inicialización;      expresión;          actualización) { 
 for (int       i=1;                                  i<=7;                             i++){    


inicialización su mismo nombre lo indica inicia desde el 1 , 
expresión  evalúa  el valor de la  variable en este caso menor o igual que 7 y actualización decide si sera infinito , en  incremento o e decremento .

la i  es simplemente el  numero de  la variable pero  puedes darle el nombre que tu quieras  x , z, m   etc.

veamos  el  primer ejercicio.

 public class practica3
{
  
    public static void main (String [] args )
    {
        for (int i=1; i<=7; i++){   


         System.out.print (i  +"  día  ");                   
          
        }
        System.out.print("   termino el recorrido ");
    }

}

compilamos
1  día  2  día  3  día  4  día  5  día  6  día  7  día     termino el recorrido





sin necesidad de programar tanto obtuvimos gran cantidad de resultados con   el
 for (int i=1;      i<=7; i++){
          desde        hasta


     System.out.print                          (i  +"  día  ");                    
cadena de impresion                         
i       indicación a imprimir la secuencia del
                                                                   del numero que le acompañe



 2




import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class practica3
{
   
    public static void main (String [] args ) throws IOException
    {
       
        System.out.println("  trabajemos con este  carácter    *    ");
       
       
        BufferedReader br=
        new BufferedReader(new InputStreamReader (System.in));
       
        String str = br.readLine();
        int num = Integer.parseInt(str);
       
        for (int i=1; i<=num; i++){
            System.out.print ("  * ");
           
        }
        System.out.println("  gracias ");
    }

}
compilamos

trabajemos con este  carácter    *
7


  *   *   *   *   *   *   *   gracias






---------------------------------------------------------------------------------------------------------------------------


el programas multiplico el  caracter 
partiendo del 1 hasta el numero que yo introdujese

  for (int i=1; i<=num; i++){
            System.out.print ("  * ");




---------------------------------------------------------------------------------------------------------------------------------

recordemos la entrada y salida de datos


throws IOException


BufferedReader br=
        new BufferedReader(new InputStreamReader (System.in));
       
       

 Construyendo la cadena de entrada

 String str = br.readLine();
        int num = Integer.parseInt(str);




int  es mi varible para un numero entero 
num nombre de la variable 






 import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class while2
{
    public static void main (String [] args )  throws IOException{
      
        System.out.println(" introducir un  numero del uno al diez ");
      
      
        BufferedReader  br=
        new BufferedReader(new InputStreamReader(System.in));
      
 String str = br.readLine();
        int res = Integer.parseInt(str);
      
            for (int i=1;  i<=10; i++){
            System.out.println(i+"numeros");
            if (i== res)
            break;
        }
            }
      
      
    }
compilamos
       introducir un  numero del uno al diez
4
1numeros
2numeros
3numeros
4numero




este ejercicio partirá del numero que yo escriba
si digite el 4 partirá desde el 4

  if (i== res)


si i  fuera igual a  res

res es la variable creada en la cadena de entrada y salida de datos


         String str = br.readLine();
        int res = Integer.parseInt(str);




mientras que el      for (int i=1;  i<=10; i++){
 indica que el numero sera del 1 al 10
partiendo del numero introducido   if (i== res)


por que                i              indica el conteo desde donde partirá




Uso del break o continue ,se usan para modificar el flujo del loops
para  entender su diferencia 
 si quiero que el loops  finalicé inmediata mente o que pare en el momento uso el brak si no le doy un poco  mas a la  larga con continue para que  salte  a  la sigiente .

su uso en indiferente y es posible ejecutarlos con los tres tipos de bucle for, while, do.

a continuación  el mismo ejercicio pero en ves de usar break   colocare continue 





import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class while2
{
    public static void main (String [] args )  throws IOException{
       
        System.out.println("numero del uno al diez ");
       
       
        BufferedReader  br=
        new BufferedReader(new InputStreamReader(System.in));
       
        String str = br.readLine();
        int res = Integer.parseInt(str);
       
       
       
        for (int i=1;  i<=10; i++){
            System.out.println(i+"numeros");
            if (i== res)
            continue ;
        }
       
       
       
       
           
           
        }
       
       
    }



compilamos
numero del uno al diez
4
1numeros
2numeros
3numeros
4numeros
5numeros
6numeros
7numeros
8numeros
9numeros
10numeros






esta el la diferencia de continue y  break!

hagamos un ejercicio  con el ciclo for  que solo me de números pares


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class while2
{
    public static void main (String [] args )  {
       
        System.out.println("numero pares ");
       
       
       
               
       
       
        for (int i=1;  i<=10; i++){
            if((i % 2)==0)
           
            System.out.println(i);
           
        }
       
       
       
       
           
           
        }
       
       
    }
compilamos
numero pares
2
4
6
8
10




Bucle while ,do




 su función es repetir mientras su condición se mantenga en verdadera

 ejemplos 


public class bucle {
    public static void main(String [] args ){
       
        int i=1;
       
        while (i<=7){
            System.out.print(" día " + i );
            i++;
       
       
}
        System.out.print("        son 7  ");
    }

}


compilamos 

 día 1 día 2 día 3 día 4 día 5 día 6 día 7        son 7 

------------------------------------------------------------------------------------------------------------------------------


  Bucle  do



public class bucle {
    public static void main(String [] args ){
      
        int i=1;
      
      
        do {
          
            System.out.print(" día " + i );
            i++;
          
        }while (i<=7);
            System.out.print(" mi semana es ocupada  ");
          
      
      
}
      
    }

compilamos 

 día 1 día 2 día 3 día 4 día 5 día 6 día 7 mi semana es ocupada 

---------------------------------------------------------------------------------------------------------------------------------

otro ejercicio


public class while1
{
    public static void main (String[] args ){

       
        int i = 1;
        while(i<= 5 ){
            System.out.println(i+" dia ");
            i++;
        }
        System.out.println("fin del ciclo ");
}
    }

compilamos


1 dia
2 dia
3 dia
4 dia
5 dia
fin del ciclo

----------------------------------------------------------------------------------------------------------------------------------

mismo ejercicio estructurado distinto 


public class while2
{
    public static void main (String [] args ){
       
        int i = 1;
        do{
            System.out.println(i+"dia ");
            i++;
        }
        while(i<= 5 );
            System.out.println("fin ");
       
           
           
        }
       
       
    }

compilamos 

1dia
2dia
3dia
4dia
5dia
fin
-----------------------------------------------------------------------------------------------------------------------------------

este ejercicios sumara los números que entren por el teclado indicándole con un cero  realizar la cuenta

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class while2
{
    public static void main (String [] args ) throws IOException {
       
        System.out.println("suma de cantidades   ");
       
       
       
       
        BufferedReader br =
                new BufferedReader (new InputStreamReader(System.in));       
       
       
       
       
       
        int num=0;
        int sum=0;
       
       
        do {
            String str= br.readLine();
            num = Integer.parseInt(str);
            sum +=  num;
        }while(num != 0);
       
        System.out.print("La cantidad total es  "+ sum);
       
           
        }
       
       
       
       
           
           
        }
       

compilamos

3
4
5
0
La cantidad total es  12


----------------------------------------------------------------------------------------------------------------------

pasos del programa 

paso 1

declaramos las variables 

       
        int num=0;
        int sum=0;

 paso 2

dentro del ciclo do 

 

do {
            String str= br.readLine();
            num = Integer.parseInt(str);
            sum +=  num;

        }while(num != 0);

 

estructuramos la cadena de entrada y salida de datos

String str= br.readLine();
            num = Integer.parseInt(str);


que haga la suma 

sum +=  num;


que pare al  resivir el numero 0

  }while(num != 0);

----------------------------------------------------------------------------------------------------------------------------------



 Espero  sea  de utilidad  . Saludos !





Tal vez te interese 

Una clase en java , Objeto , Instancia ,Comportamiento , Atributos,Métodos y Argumentos