No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

3D
23H
43M
14S
Curso de Introducci贸n a Java SE

Curso de Introducci贸n a Java SE

Anah铆 Salgado D铆az de la Vega

Anah铆 Salgado D铆az de la Vega

Bucle For

33/39
Recursos

El Ciclo For tambi茅n nos ayuda a ejecutar una parte de nuestro c贸digo las veces que sean necesarias para que se cumpla una condici贸n. De hecho, el ciclo FOR nos da muchas ayudas para lograr este resultado de la forma m谩s f谩cil posible:

// Estructura:
for (inicializaci贸n; condici贸n; incremento o decremento;) {
  // Instrucciones
}

// En este ejemplo el mensaje de printSOS se
// ejecutar谩 10 veces:
for (int i = 1; i <= 10; i++) {
  printSOS();
}

Aportes 68

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

En este momento todos los miembros de esta clase son estaticos por que estan siendo compartidos con el metodo main y este necesita metodos estaticos por ser el punto de entrada de la app cuando se aborde la POO veras que al tener una clase normal no es necesario colocar static gracias a la instanciacion de los objetos

Excelente, solo que no se esta verificando la condicion si esta oh no encendida la lampara, pero genial la explicaci贸n

Practicando bucle for

El **While **se suele llamar 鈥渂ucle de condici贸n鈥, es decir, el programador no sabe cuantas veces se va a ejecutar el bucle y este simplemente continuar谩 cuando acabe la condici贸n impuesta en el bucle.

Por otro lado el **For **se trata de un bucle de control con el que el desarrollador repite el bucle un determinado n煤mero de veces en el que el desarrollador sabe cuantas o al menos aproximadamente cuantas veces se va a ejecutar.

Un cl谩sico:

import java.util.Scanner;

public class BucleFor {

  public static void main(String[] args) {
    int lineas = 0;

    System.out.println("\n\t Indica el n煤mero de l铆neas del dibujo:");

    Scanner sc = new Scanner(System.in);
    lineas = Integer.valueOf(sc.nextLine());

    System.out.println("\n\t DIBUJO:");

    imprimirDibujo(lineas);
  }

  public static void imprimirDibujo(int n) {

    for (int i = n; i >= 0; i--) {
      for (int j = 1; j <= i; j++) {
        System.out.print("*");
      }
      System.out.print("\n");
    }
  }
}

El bucle for nos permite controlar la cantidad de veces que queremos que se ejecute nuestro c贸digo.

隆Hola!
Este seria el c贸digo que verifica constantemente que la luz este encendida 馃槂

for (int i = 1; i<= 10 && isTurnOnLight; i++){
            System.out.println(isTurnOnLight);
            printlSOS();
        }

鉁 Puedes transformar o migrar un ciclo while a un ciclo for.

static boolean isTurnOnLight=false;
public static void main(String[] args) {
isTurnofLight();
for (int i=1;i<=10;i++){
printsos();
}
}
public static void printsos(){
System.out.println("鈥鈥");
}
public static boolean isTurnofLight(){
//operador ternario鈥擫os operadores ternarios son otra forma de
//evaluar condiciones, as铆 como los condicionales IF y ELSE`:
isTurnOnLight=(isTurnOnLight)? false:true;
return isTurnOnLight;
}
}

Genial!!

No se por que me gusta mucho el ciclo for

No sabia lo sel fori. me encanta porque he aprendido mucho ne pocas clases

El ciclo o bucle For y el bucle while pueden funcionar para resolver el mismo interrogante la diferencia esta en que usamos **For **cuando sabemos la cantidad de iteraciones que se desean ejecutar.

Otro cl谩sico es hacer la tabla de multiplicar de un n煤mero, as铆:

int numero;
        Scanner sc = new Scanner(System.in);
        System.out.println("Digite el n煤mero: "); numero = Integer.valueOf(sc.nextLine());

        for (int i = 0; i <= 10; i++) {

            System.out.println(numero + " X " + i + "=" + (numero*i));

        }

Este es uno de los ciclos m谩s utilizados en especial al leer arreglos o vectores, mi recomendaci贸n es que recuerden que existen otros ciclos, ya que me ha sucedido que al crear una aplicaci贸n cuando pienso en ciclos solo se me viene a la mente el ciclo for hasta ver que otros me son m谩s eficientes no lo cambio.

jajajaja cuando la profe da spoiler de un tema :V 馃槀
Apuntes de clases

static boolean isTurnOnLight = false;

public static void main(String[] args) {
    turnOnOffLight();

    for (int i = 1; i <= 10; i++) {
        printSOS();
        
    }
}

public static void printSOS(){
    System.out.println(". . . _ _ _ . . .");
}

public static boolean turnOnOffLight(){
    isTurnOnLight = (isTurnOnLight)?false:true;
    return isTurnOnLight;
}

Aqui si esta validando si esta encendido o apagado:

public class ForLoop {
    //Variable Global
    static boolean isTurnOnLight = false;

    public static void main(String[] args) {


        for (int i = 0; i < 10 ; i++) {

            if(turnOnOffLight()) {
                printSOS();
            }
        }
    }

    //Imprime el mensaje de SOS
    public static void printSOS(){
        System.out.println("...___... ");
    }
    //Cambia el estado
    public static boolean turnOnOffLight(){
        isTurnOnLight = !isTurnOnLight;
        return isTurnOnLight;
    }
}

geniaaaal

En la universidad te ense帽an el for en diagramas de flujo que complicado que era. y En c贸digo es mucho mas f谩cil su conceptualizacion .


public class ForLoop {
    static boolean isTurnOnLight = false;
    /**
     * Descripci贸n: Funci贸n que emite diez se帽ales de SOS usando un bucle For
     */
    public static void main(String[] args) {
    turnOnOffLight();
        for (int i = 1; i <= 10; i++) {
            printSOS();
        }
    }
    /**
     * Descripci贸n: Se帽al SOS
     */
    public static void printSOS(){
        System.out.println(". . . _ _ _ . . .");
    }
    /**
     * Descripci贸n: Operador ternario que valida si la linterna est谩 encendida
     * @return isTurnOnLight
     */
    public static boolean turnOnOffLight(){
        isTurnOnLight = (isTurnOnLight) ? false : true;
        return isTurnOnLight;
    }
}

excelente ya casi terminamos los comandos basicos que usan todos los lenguajes de programaci贸n

El ciclo for redujo mucho el bucle.

Segundo bucle:
for( inicializaci贸n; condici贸n; incremento){
}
eje
for(int i = 0; i < 10; i++){
System.out.println(鈥淩epetici贸n鈥);
}

muy corto para aprender for

El bucle for es 煤til cuando tienes una cantidad conocida de iteraciones. Por ejemplo, si quieres imprimir los n煤meros del 1 al 10, puedes usar un bucle for:

for (int i = 1; i <= 10; i++) {
    System.out.println(i);
}

Por otro lado, el bucle while es 煤til cuando no sabes con certeza cu谩ntas iteraciones ser谩n necesarias. Por ejemplo, si quieres leer una entrada del usuario hasta que ingrese 鈥渟alir鈥, puedes usar un bucle while:

Scanner scanner = new Scanner(System.in);
String input = "";
while (!input.equals("salir")) {
    System.out.print("Ingrese una entrada: ");
    input = scanner.nextLine();
}

En este ejemplo, el bucle while se ejecutar谩 mientras la entrada del usuario no sea 鈥渟alir鈥. Cada vez que el bucle se ejecuta, se lee una entrada del usuario y se almacena en la variable input. La condici贸n !input.equals(鈥渟alir鈥) determina si el bucle debe continuar o no.

En resumen, usa un bucle for cuando conozcas con certeza la cantidad de iteraciones y quieras controlar cuidadosamente el proceso de iteraci贸n, y usa un bucle while cuando no sepas con certeza cu谩ntas iteraciones ser谩n necesarias y necesites evaluar una condici贸n en cada iteraci贸n.

Hay 3 formas de usar un for, tradicional, for each y con break


El comando break es una instrucci贸n de control de flujo en Java que se utiliza para salir de un bucle o de una estructura de control condicional.

En un bucle, como un for o un while, el comando break detendr谩 la ejecuci贸n del bucle en el momento en que se encuentre y continuar谩 la ejecuci贸n del c贸digo despu茅s del bucle.

Curiosidades del for en Java:

El bucle for es un bucle controlado por contador. Esto significa que se sabe con antelaci贸n cu谩ntas veces se ejecutar谩 el bucle. Esto lo hace diferente de otros tipos de bucles, como el bucle while, que es un bucle controlado por condici贸n y puede ejecutarse un n煤mero desconocido de veces.

La expresi贸n inicial del bucle for se ejecuta antes de la primera iteraci贸n del bucle. Esto significa que es posible inicializar variables o ejecutar otras operaciones antes de comenzar a iterar.

La expresi贸n de actualizaci贸n del bucle for se ejecuta al final de cada iteraci贸n. Esto significa que es posible incrementar o decrementar contadores o realizar otras operaciones despu茅s de cada iteraci贸n.

Es posible usar m谩s de una variable contadora en un bucle for. Esto puede ser 煤til cuando se necesita iterar a trav茅s de dos o m谩s dimensiones.

Gracias por la explicacion.

Mi c贸digo de la clase:

public class ForLoop {
    
    static boolean isTurnOnLight = false;
    
    public static void main(String[] args) {
        turnOnOffLight();
        for (int i = 1; i <= 10; i++) {
            printSOS();           
        }
    }
    public static void printSOS() {
        System.out.println(". . . _ _ _ . . .");    
}
    public static boolean turnOnOffLight(){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    } 
}

Creo que al hacerlo de la forma que la profesora ense帽o, se esta dejando de lado la variable global que creamos por que el bucle solo esta usando el m茅todo que imprime el mensaje.

Se puede agregar un if que evalue la variable como en el bucle while.

if (isTurnOnLight) {
	for (int i = 1; i <= 10; i++) {
                printSOS();
	}
}

Ciclo For

<public class ForLoop {
    static boolean isTurnOnLight = false;

    public static void main(String[] args) {

        turnOnOffLight();

        for (int i = 1; i <= 10 ; i++) {
            printSOS();
        }

    }
    public static void printSOS(){
        System.out.println("...___...");
    }
    public static boolean turnOnOffLight (){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}> 

Muy bien explicado

Buena clase.

Comparto mi codigo de esta clase

public class forLoop
{
static boolean isTurnTheLight = false;

//MAIN
public static void main(String[] args)
{
    turnOnOffTheLight();
    for (int i = 1; i <=10 ; i++) {
        printSOS();
    }
}

public static void printSOS ()
{
    System.out.println(". . . _ _ _ . . .");
}

public static boolean turnOnOffTheLight()
{
    isTurnTheLight = (isTurnTheLight) ? false : true;
    return isTurnTheLight;
}

}

//Les comparto mi linea de codigo que hace ense帽a en n煤mero cada vez que se env铆o el mensaje morse

public class ForLoop {
static boolean isTunrOnLight = false;

public static void main(String[] args) {
    int z=1;
    turnOnOffLight();
    for (int i = 1; i <= 10 ; i++) {
        System.out.println(z);
        printSOS();
        z++;
    }
}
public static void printSOS(){
    System.out.println(". . . _ _ _ . . .");
}

public static boolean turnOnOffLight(){
    isTunrOnLight = (isTunrOnLight)?false:true;
    return isTunrOnLight;
}

}

Les dejo mi solucion.

public class ForLoop {

    static boolean isTurnLight = false;
    public static void main(String[] args) {
        turnOffLight();
        for(int i = 0; i <= 10; i++){
            printSOS();
        }
    }

    public static void printSOS() {
        System.out.println("...__...");
    }

    public static boolean turnOffLight() {
        isTurnLight = (isTurnLight) ? false : true;
        return isTurnLight;
    }
}

super claro y simple

Se simplifica todo el c贸digo con el For!

ciclo o sentencia for
Tiene tres secciones separadas por ;(Punto y Coma) en la primera secci贸n de define e inicializa una variable, a menudo se conoce como variable de control , en la segunda secci贸n se especifica una condici贸n l贸gica, que frecuentemente estar谩 en funci贸n de esta variable , en la tercera secci贸n se define el incremento o raz贸n de cambio de la variable de control.
Sintaxis

class ForDemo {
    public static void main(String[] args){
         for(int i=1; i<11; i++){
              System.out.println("Count is: " + i);
         }
    }
}

Super 馃槂

public class For {

    static boolean isTurnOnLight = false;

    public static void main(String[] args) {
        turnOnOffLight();
        for(int aux = 0;aux<=10;aux++){
            printSOS();
        }
    }
    public static void printSOS(){
        System.out.println(". . . _ _ _ . . .");
    }
    /**
     * Descripcion: mediante un operador ternera decide el valor de isTurnOnLight
     * @return regresa verdadero o falso seg煤n sea el caso.
     * */
    public static boolean turnOnOffLight(){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}

Interesante el fori, no sab铆a de este comando.

esto mismo me preguntaba por qu茅 no se hac铆a en el anterior ejemplo xd

Perfecto 馃槂

Excelente presentaci贸n del Bucle For

Gracias por ense帽arnos como funciona un bucle For.
Se podr铆a simplificar el c贸digo del ejemplo as铆:

public class ForLoop {
    public static void main(String[] args) {
        for (int i = 1; i < 10 ; i++) {
            printSOS();
        }
    }

    public static void printSOS(){
        System.out.println(". . . _ _ _ . . .");
    }
}

Ahora que sabemos los tipos de ciclos en java queda de nuestra parte escoger cual es el mejor para cada caso, porque cada uno tiene su caso de uso ideal, siempre se podra adaptar cualquiera de estos ciclos a nuestras necesidades pero tenemos que hacer que nuestro codigo sea lo mas simple y legible posible.

forever for

//MI codigo @Omar Alban
`publicclassForLoop {
    static boolean isTurnOnLight = false;

    publicstaticvoidmain(String[] args) {

        turnOnOffLight();
        for(int i=1;i<=10;i++) {
            printSOS();
        }

    }
    publicstaticvoidprintSOS(){
        System.out.println(". . . _ _ _ . . .");
    }

    //Verifica si esta prendido o apagado la luz
    publicstatic boolean turnOnOffLight(){

        isTurnOnLight = (isTurnOnLight)?false:true;
/**
        if(isTurnOnLight){  //Si esta prendido lo apago
            isTurnOnLight=false;
        }else{              //Si no esta prendido lo prende con "true"
            isTurnOnLight=true;
        }*/
        return isTurnOnLight;
    }
}```

`

Excelente 馃槂

public class ForLoop {
    static  boolean isTurnOnLight = false;
    public static void main(String[] args) {
        turnOnOffLight();
        for (int j = 1; j <=10 ; j++) {
            printSOS();
        }
    }
    public static void printSOS(){
        System.out.println("...___...");
    }
    public static boolean turnOnOffLight(){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}

Bucle For
.
Bucle for: es una estructura repetitiva para ejecutar un mismo segmento de c贸digo una cantidad de veces deseada; debes de saber su valor de inicializaci贸n, su condici贸n y su incremento.
.

Tambien se puede agregar la condici贸n de isTurnOnLight al interior de for

public class ForLoop {
    static boolean isTurnOnLight = false;

    public static void main(String[] args) {

        turnOnOffLight();

        for (int j = 0; j <= 10 && isTurnOnLight; j++ ) {
            printSOS();
        }
    }
    public static void printSOS(){
        System.out.println("...---...");
    }
    public static boolean turnOnOffLight(){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}```

Genial.

public class ForLoop {

    static boolean isTurnOnLight = false;

    public static void main(String[] args) {

        isTurnOffLight();
        for (int i = 1; i <= 10; i++) {
            printSOS();
        }
    }

    public static void printSOS(){
        System.out.println("...___...");
    }

    public static boolean isTurnOffLight(){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}```
public class WhileLoop {


    static boolean isTurnOnLight = false;

    public static void main(String[] args) {

        isTurnOffLight();
        int i = 1 ;

        for (int j = 1; j <=10; j++) {
            printSOS();

        }


        while(isTurnOnLight && i<=10){
            printSOS();

            i++;
        }

    }

    public static void printSOS()
    {
        System.out.println(". . . _ _ _ . . .");
    }

    public static boolean isTurnOffLight(){
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}

Muy claro.

Mucho mas facil.

public class foorLoop {
    static boolean isTurnOnLight = false;
    public static void main(String[] args) {
        turnOnOffLight();
        for (int i = 1; i <= 10 ; i++) {
            printSOS();
        }
    }```

Le agregue un sleep para que se pueda ver mejor las repeticiones.

public class ForLoop {

    static boolean isTurnOnLight = false;

    public static void printSOS() throws InterruptedException {
        System.out.println(". . . _ _ _ . . .");
        Thread.sleep(300);
    }

    public static boolean turnOnOffLight() {
        /* Operador ternario */
        isTurnOnLight = (isTurnOnLight) ? false : true;
        return isTurnOnLight;
    }

    public static void main(String[] args) throws InterruptedException {
        /* Foor Loop */
        for (int i = 0; i <= 10; i++) {
            printSOS();
        }
    }
}

Usa while si no sabes cuantas veces debes de repetir la instrucci贸n y for si lo sabes.

Todo muy claro. Gracias

El ciclo for unifica el contador que se ve铆a en la clase anterior.

public class ForLoop {

    static  boolean isTurnOnLight = false;

    public static void main(String[] args) {

        TurnOnOFFLight();

        for (int i = 1; i <= 10; i++) {
            PrintSOS();
        }

    }

    public  static  void PrintSOS(){
        System.out.println(" ...___...");
    }

    public  static  boolean TurnOnOFFLight(){
        //operador terniario, esta sintaxis  se usa para cambiar el valor de la variable.
        isTurnOnLight = (isTurnOnLight)?false:true;
        return isTurnOnLight;
    }
}

Muy buenoo.

for(i=1; i<=10; i++){
printSOS();
}

i=1 => inicio
i<= 10 => fin hasta que punto
i ++ => incremento de cuanto en cuanto