No tienes acceso a esta clase

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

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

Ciclos For anidados

38/39
Recursos

Los ciclos FOR nos ayudan a ejecutar una parte de nuestro c贸digo todas las veces que sean necesarias hasta que una condici贸n se cumpla, por ejemplo, que un n煤mero supere o iguale cierta cantidad.

Eso es exactamente lo que necesitamos para trabajar con 铆ndices. En vez de escribir todos los n煤meros a mano, vamos a utilizar un ciclo para imprimir el valor de cada posici贸n de nuestros arreglos, incluso si estos son multidimensionales:

// Array de una sola dimensi贸n:
for (int i = 0; i <= 3; i++) {
  System.out.println(i);
}
// El resultado ser谩: 0, 1, 2, 3

// Array de dos dimensiones:
for (int row = 0; row < cities.length; row++) {
  for (int col = 0; col < cities[row].length; col++) {
    System.out.println(cities[row][col]);
  }
}
// El resultado ser谩:
// Colombia
// Bogot谩
// M茅xico
// Guadalajara
// Espa帽a
// Madrid

El ciclo FOREACH tambi茅n nos ayuda a recorrer los elementos de un array posici贸n por posici贸n, solo que no tenemos control sobre el 铆ndice, el ciclo se encarga de recorrer todo el array autom谩ticamente:

for (TipoDato elemento : coleccion) {
  // Instrucciones
}

Aportes 97

Preguntas 8

Ordenar por:

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

o inicia sesi贸n.

Gracias anahi, eres de las mejores profesoras de Platzi.驴Por qu茅 te nos fuiste? 馃槮

As铆 podemos evitar que se impriman esos 鈥渘ull鈥 en los arreglos:

for (int i = 0; i < androidVersions.length; i++) {
            if (androidVersions[i] == null){
                continue;
            }
            System.out.println(androidVersions[i]);
        }

        for (String androidVersion: androidVersions) {
            if (androidVersion == null){
                continue;
            }
            System.out.println(androidVersion);
        }

Como pueden ver, si le indicamos que, si la posici贸n del arreglo est谩 vac铆a, que se la salte para as铆 pasar a la siguiente.
No me sali贸 con el monkey jaja 馃槮


excelente seguimos en tomando de esta taza de caf茅, algunas veces ser谩 amarga y en otros muy dulce, al final ser谩 muy saludable es su justa medida.

Dure bastante tiempo intentando entender como imprimir arreglos en dos dimensiones en Python鈥 Y en una clase aprend铆 con JAVA! Esto en verdad es genial!!!

馃攩 No debes tener muchas anidaciones, el c贸digo debe ser lo m谩s lineal posible.

Un ejemplo en C#. Que lindo se ve ordenado

Les comparto este repositorio que sirve de gu铆a para el examen final, pues contiene las preguntas que se encuentran en el examen, la justificaci贸n y el video del curso donde se habla sobre eso. Espero y les sea de utilidad 馃槃.
Platzi-Test

Muy elegante utilizar el foreach en arrays multidimensionales.

Gran curso, no cre铆 que me iba a gustar Java, pero me sigo quedando con COBOL 馃槂
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
Es broma, ya quisiera saber COBOL, pero me quedo con Javascript

Tambi茅n podemos inferir el tipo de variable (usando var) cuando usemos el foreach

for (var pair : cities)
	for (var name : pair)
		System.out.println(name);

En C# ser铆a:

foreach (var pair in cities)
	foreach (var name in pair)
		Console.WriteLine(name);

Otro dato es que puedes obviar el uso de las llaves {} si existe una sola instrucci贸n dentro del bucle

Ciclos For anidados
.
Bucle For: 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.
Ciclo Foreach: nos ayuda a recorre los elementos de un arreglo, pero no tenemos control sobre el 铆ndice.

Me esta explotando la cabeza con todo esto鈥 muy muy confuso para un noobie como yo 鈥 pero esperemos que con la practica todo esto se vuelva mas facil 鈥 x_____x



Excelente clase!

Para el segundo lo mejor para mi fue este:

for(int i=0;i<cities.length;i++)
            for(int j=0;j<cities[i].length;j++)
            System.out.println(cities[i][j]);

En el ultimo ejemplo creo que es m谩s f谩cil de entender si se hace de la siguiente forma (mencionando country y city en vez de pair y name) ->

for (String[] country : cities) {
            for (String city : country) {
                System.out.println(city);
            }
        }

En el caso de que definamos una variable y no le demos ning煤n valor, por defecto llevar谩n los siguientes valores:

Ese **foreach **esta brutal. Me cuesta trabajo dijerirlo. :S

que buen contenido y explicaci贸n acerca del tema de arreglos, esta parte del curso me gusto mucho.

me gusto mucho el manejo de los for en java

Aqu铆 les dejo un c贸digo con el que podr谩n rellenar los d铆as de la semana de manera sencilla con JOptionPane!!!

import javax.swing.*;

public class Main {
    public static void main(String[] args) {
        String[] androidVersions = new String[7];
        for (int i = 1; i < androidVersions.length+1; i++) {
            androidVersions[i] = JOptionPane.showInputDialog("DIme el dia de la posici贸n "+i);
        }
        JOptionPane.showMessageDialog(null, androidVersions);
    }
}

Quiero compartir este ejemplo cl谩sico de ciclos for anidados,
para mandar a imprimir un tri谩ngulo de dos formas diferentes

//Tri谩ngulo solo con "prints"
        System.out.println("*");
        System.out.println("**");
        System.out.println("***");
        System.out.println("****");
        System.out.println("*****");
        System.out.println("******");

Y la soluci贸n con for anidados

//Tri谩ngulo con "prints" y ciclos for anidados
        for(int i=0; i<=5; i++){
            for(int j=0; j<=i; j++){
                System.out.print("*");
            }
            System.out.println();
        }```

La forma mas eficiente de hacer el for para mi fue asi. F铆jence que como es de una l铆nea cada sentencia inferior, no fue necesario poner las llaves

for(int i=0;i<androidVersions.length;i++)
            if(androidVersions[i]!=null)
                System.out.println(androidVersions[i]);```

Fue muy r谩pido en esta clase, muchos temas en un solo v铆deo.

Gracias, muy bien explicado!

que quiere decir con pair ?

En un for normal, tienes el control de los 铆ndices, en un foreach no lo tienes.
for(inicializar contador; comparaci贸n; incremento){
//instrucciones
}
for(TipoDato elemento : coleccion){
//instrucciones
}

Excelente explicaci贸n de los Ciclos For anidados

Ahora comprend铆 la diferencia entre vac铆o y valor null.

Jsajajajs la clase anterior hice el aporte sin saber que en esta clase ver铆amos esto, me quem茅 el cerebro casi 20 minutos y Anah铆 lo explic贸 todo ahorita jajaja.

Como aporte, Si quieren imprimir el array completo

Para un array de 1 dimension :

System.out.println(Arrays.toString(nombre_de_tu_array));

Para un array de 2 dimensiones o mas:

System.out.println(Arrays.deepToString(nombre_de_tu_array));

鈥淎rrays鈥 viene de la libreria 鈥渏ava.util.Arrays鈥 asi que sera nesesario colocar esta linea al comienzo de tu archivo .java

import java.util.Arrays;

Documentacion

Sin terminar de ver el video hice mi propio cilco anidados para el arreglo de paises鈥
//ACCEDIENDO A VALORES DE UN ARREGLO DE DOS DIMENCIONES.
for (int i = 0; i <= 3; i++) {
for (int j = 0; j <= 1 ; j++) {
System.out.println(paisesYCiudades[i][j]);
}
}

Hace mucho no venia un for aninado

Array de 2 a m谩s dimensionesn en For anidados

Me habia confundido bastante cuando imprime el array Animals, es porque usa los parametros de la posicion en que est谩, no de la cantidad de espacio de cada dimensi贸n, como a continuaci贸n

for (int i = 0; i < 2; i++) {
    for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 2; k++) {
            for (int l = 0; l < 2; l++) {
                System.out.println(animals[i][j][k][l]);
            }
        }
    }
}

As铆 s铆 muestra al changuito en la posicion que est谩 entre todos los nulls

2do metodo

    List<String> androidList = new ArrayList<>();
    for (int i = 0; i < androidVersions.length; i++) {
      String str = androidVersions[i];
      if (str != null) {
        androidList.add(str);
      }
    }

    androidList.forEach((n) -> System.out.println("2Method -> "+n));


Muy buena clase. Gracias.

    androidVersions[0] = "Apple Pie";
    androidVersions[1] = "Bannana Bread";
    androidVersions[2] = "Cupcake";
    androidVersions[3] = "Donut";

    for (int i = 0; i < androidVersions.length; i++) {
        if (androidVersions[i] == null){
            continue;
        } else {
            System.out.println(androidVersions[i]);
        }
    }

Una forma m谩s de imprimir tu arreglo

System.out.println("Country:\tCity");
        for (String[] city : cities) {
            for (int j = 0; j < city.length; j++) {
                System.out.print(city[j]);
                if (j == 0) {
                    System.out.print(":\t\t");
                } else {
                    System.out.println();
                }
            }
        }

Para imprimir el array por completo podemos usar:

        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 2; j++) {
                System.out.println(country[i][j]);
            }
        }

Tambi茅n se podr铆a imprimir todo un array completo para evitar los println dentro de for each

int[][][] numerous = new int[3][3][3];

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
            numerous[i][j][k] = i + j + k;
        }
    }
}

System.out.println(Arrays.deepToString(numerous));

Output:

[[[0, 1, 2], [1, 2, 3], [2, 3, 4]], [[1, 2, 3], [2, 3, 4], [3, 4, 5]], [[2, 3, 4], [3, 4, 5], [4, 5, 6]]]

Versi贸n foreach:

 for (String[] city : cities) {
            System.out.println ();
            for (String s : city) {
                System.out.print (s);
            }
        }

Hay una pagina que se llama python tutor la cual muestra de manera grafica la asignacions de los datos en los arrays.

/**
 * Descripci贸n: Creaci贸n de arrays y recorridos con bucles for i y for each
 */
public class Arrays {
    public static void main(String[] args) {
        String[] androidVersions = new String[17];
        int days[] = new int[7];

        String[][] cities = new String[4][2];   //4 * 2 = 8

        int [][][] numbers = new int [2][2][2];
        int [][][][] numbers4 = new int [2][2][2][2];

        androidVersions[0] = "Apple Pie";
        androidVersions[1] = "Bannana Bread";
        androidVersions[2] = "Cupcake";
        androidVersions[3] = "Donut";

        for (int i = 0; i < androidVersions.length; i++) {
            System.out.println(androidVersions[i]);
        }

        for (String androidVersion : androidVersions) {
            System.out.println(androidVersion);
        }

        /*
        System.out.println(androidVersions[0]);
        System.out.println(androidVersions[1]);
        System.out.println(androidVersions[2]);
        System.out.println(androidVersions[3]);
        */
        /*
        for (int i = 0; i < days.length; i++) {
            System.out.println(days[i]);
        }
        */

        cities[0][0] = "Colombia";
        cities[0][1] = "Medell铆n";
        cities[1][0] = "Colombia";
        cities[1][1] = "Bogot谩";
        cities[2][0] = "M茅xico";
        cities[2][1] = "Guadalajara";
        cities[3][0] = "M茅xico";
        cities[3][1] = "CDMX";

        //Bucle for i anidado
        /*for (int i = 0; i < cities.length; i++) {
            for (int j = 0; j < cities[i].length; j++) {
                System.out.println(cities[i][j]);
            }
        }*/

        //Bucle for each anidado
        for (String[] pair : cities) {
            for ( String name : pair) {
                System.out.println(name);
            }
        }

        /*
        System.out.println(cities[0][0]);
        System.out.println(cities[0][1]);
        System.out.println(cities[1][0]);
        System.out.println(cities[1][1]);
        System.out.println(cities[2][0]);
        System.out.println(cities[2][1]);
        System.out.println(cities[3][0]);
        System.out.println(cities[3][1]);
        */

        String[][][][] animals = new String[2][3][2][2];
        animals[1][0][0][1] = "Monkey";

        System.out.println();
        System.out.println();
        System.out.println(animals[1][0][0][1]);

        for (int i = 0; i <= 1 ; i++) {
            for (int j = 0; j <= 0 ; j++) {
                for (int k = 0; k <= 0 ; k++) {
                    for (int l = 0; l <= 1 ; l++) {
                        System.out.println(animals[1][0][0][1]);
                    }
                }
            }
        }
    }
}```

Gran curso鈥 Muchas Gracias!!!

[1][0][0][1] arreglo de 4 dimenciones

excelente curso鈥 me sirvio para reforsar

Muchas gracias, por todos los conocimientos compartidos y por la forma de llevar el curso

Ahora tengo claro la forma de utilizar los ciclos Foreach y c贸mo aprovechar al m谩ximo la anidaci贸n de ciclos for para manipular datos en los arreglos, muchas gracias instructora Anah铆.

Volv铆 a tomar el curso porque me encant贸, gracias Anahi!!

Excelente curso 鉁
Siguente curso a tomar 鈥淧rogramaci贸n Orientada a Objetos鈥.

Gracias, el curso fue bastante entretenido y productivo!

Genial!! Me encanto!

for (int i = 0; i <=3 ; i++) {
for (int j = 0; j <=1 ; j++) {
System.out.println(cities[i][j]);

        }

{
for (int i = 0; i <=3 ; i++) {
for (int j = 0; j <=1 ; j++) {
System.out.println(cities[i][j]);
}

Excelente explicaci贸n

excelente informaci贸n, muchas gracias.

Uf, pens茅 que iba a ser m谩s f谩cil el foreach! 馃槃

excelente clase!

Sin parang贸n, excelente!!

Uy no conoc铆a ese foreach, bastante interesante.

Me han quedado m谩s claros los For anidados, me hubiera servido haber visto este video antes de mi clase de l贸gica de programaci贸n

excelente curso

Excelente explicacion de los for each no los tenia muy claro.

Muy bueno, nunca habia visto un for each para arreglos jajaja no se me habia ocurrido

Eres una gran Docente Anahi!

Excelente explicaci贸n de los ciclos foreach thanks!!

Me fue un poco complicado entender el For anidados debi贸 detallar un poco mas como funciona.

Ciclos For anidados

Oh super explicado For Each 馃槂

super 煤til el for each

En el for anidado que imprime el arreglo de 4 dimensiones, se imprime 3 nulls antes de monkey?.

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

    String [] androidVersions = new String[17];
    System.out.println("Versiones Android\n");
    androidVersions[0] = "Apple Pie";
    androidVersions[1] = "Banana Bread";
    androidVersions[2] = "Cupcake";
    androidVersions[3] = "Donut";

    for (int i = 0; i <4; i++){
        System.out.println("Version "+(i+1)+" "+androidVersions[i]);
    }
    System.out.println("\n************************\n");

    System.out.println("Cities\n");
    String [][] cities = new String[4][2];
    cities[0][0] = "Colombia";
    cities[0][1] = "Medellin";
    cities[1][0] = "Colombia";
    cities[1][1] = "Bogot谩";
    cities[2][0] = "Mexico";
    cities[2][1] = "Ciudad de Mexico";
    cities[3][0] = "Mexico";
    cities[3][1] = "Leon";

    for (int x = 0; x<4; x++){
        for(int y = 0; y<2; y++){
            System.out.print(cities[x][y]+"\t\t");
        }
        System.out.println(" ");
    }
}

}


-

Genial.

public class Arrays {
    public static void main(String[] args) {
        String[] androidVersions = new String[17];
        String days[] = new String[7];

        String[][] cities = new String[4][2]; //4*2 = 8
        int [][][] numbers = new int[2][2][2];
        int [][][][] numbers4 = new int [2][2][2][2];

        androidVersions[0] = "Apple Pie";
        androidVersions[1] = "Bannana Bread";
        androidVersions[2] = "Cupcake";
        androidVersions[3] = "Donut";

       /* for(int i = 0; i <= 3; i++) {
            System.out.println(androidVersions[i]);
        }*/

        for (String androidVersion : androidVersions) {
            System.out.println(androidVersion);
        }
        System.out.println("\n\n");

        cities[0][0] = "Colombia";
        cities[0][1] = "Medellin";
        cities[1][0] = "Colombia";
        cities[1][1] = "Bogota";
        cities[2][0] = "Mexico";
        cities[2][1] = "Guadalajara";
        cities[3][0] = "Mexico";
        cities[3][1] = "CMDX";

        /*for(int j = 0; j < 4; j++){
            for(int k =0; k < 2; k++){
                System.out.println(cities[j][k]);
            }
        }*/
        for (String[] pair: cities) {
            for (String name: pair) {
                System.out.println(name);
            }
            
        }

        System.out.println("\n\n");

        String[][][][] animals = new String[2][3][2][2];
        animals[1][0][0][1] = "Monkey";
        System.out.println(animals[1][0][0][1]);

        for (int i = 0; i < 1; i++) {
            for (int j = 0; j <= 0; j++) {
                for (int k = 0; k <= 0; k++) {
                    for (int l = 0; l <=1 ; l++) {
                        System.out.println(animals[i][j][k][l]);
                    }
                }
            }
        }
    }
}```

Super clase 馃槂

 /*for (int i=0; i<androidVersions.length; i++){
            System.out.println(androidVersions[i]);
        }*/

        for (String androidVersion : androidVersions) {
            System.out.println(androidVersion);
        }
public class Arrays {
    public static void main(String[] args) {
        String[] androidVersion = new  String[17];
        String days[] = new String[7];

        String[][] cities = new String[4][2];

        int [][][] numbers = new int[2][2][2];
        int [][][][] nubers4 = new int[2][2][2][2];

        androidVersion[0] = "Apple pie";
        androidVersion[1] = "Banana bread";
        androidVersion[2] = "cupcake";
        androidVersion[3] = "Donut";
        cities[0][0] = "Colombia";
        cities[0][1] = "Medellin";
        cities[1][0] = "Colombia";
        cities[1][1] = "Bogota";
        cities[2][0] = "Mexico";
        cities[2][1] = "Guadalajara";
        cities[3][0] = "Mexico";
        cities[3][1] = "CDMX";

        for (int i = 0;i < androidVersion.length ; i++)
        {
            System.out.println(androidVersion[i]);
        }
        for (int i = 0;i < cities.length ; i++)
        {
            for (int j = 0; j <cities[i].length; j++) {


            System.out.printf(cities[i][j]);
            if (j== 0) {
                System.out.printf(" -------> ");
            }
            else if (j==1)
                {
                    System.out.println("");
                }
            }
        }
        String[][][][] animals = new String[2][3][2][2];
        animals[1][0][0][1] = "monkey";

        System.out.println(animals[1][0][0][1]);
        //foreach
        for (String android:androidVersion             ) {
            System.out.println(android);
        }
        for (String[] pair:cities ) {
            int n = 0;
            for (String names:pair      ) {

                System.out.printf(names);
                if (n == 0) {
                    System.out.printf("--------->");
                    n = n+1;
                }else if (n==1){
                    System.out.println();
                }
              
            }

        }
    }
}

muy clara la explicaci贸n de los ciclos for each

For each; no lo hab铆a visto antes;

No se si estoy pecando de ignorante, pero al ser de 4 dimensiones, la capacidad del array es de 24, al no ingresar los valores de tama帽o del array, anahi obtuvo solo 4 espacios, aqui a lo que me refiero.

String [][][][] animals = new String[2][3][2][2];
        animals[1][0][0][1] = "Monkey";

(2*3)(2*2)=24

for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 3 ; j++) {
                for (int k = 0; k < 2 ; k++) {
                    for (int l = 0; l < 2 ; l++) {
                        System.out.println(animals[i][j][k][l]);
                    }
output :null
null
null
null
null
null
null
null
null
null
null
null
null
Monkey
null
null
null
null
null
null
null
null
null
null

Alguien me podr铆a responder si me estoy equivocando? porfa!

Profe Ann como siempre impecables sus clases y me encanta la manera como nos ense帽a por primera ves digo que amo esta carrera y es gracias al m茅todo de ense帽anza bueno tambi茅n me quede con la duda del monkey en el Foreach le adjunto mis codigos para saber si estoy bien o no!!!

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

        // Los arreglos siempre van a ser en plural ya que son coleccion de datos
        /**
         * Descripci贸n: [] Arreglo de una dimensi贸n
         * @param [] Arreglo de una dimension
         * */
        String[] androidVersions = new String[17];

        //Arreglo de una dimension
        androidVersions[0] = "Apple Pie";
        androidVersions[1] = "Bannana Break";
        androidVersions[2] = "Cupcake";
        androidVersions[3] = "Donut";

        System.out.println(androidVersions[0]);
        System.out.println(androidVersions[1]);
        System.out.println(androidVersions[2]);
        System.out.println(androidVersions[3]);
        System.out.println();

        String days[] = new String[7];
        //Arreglo de una dimension


        days[0]= "Lunes";
        days[1]= "Martes";
        days[2]= "Miercoles";
        days[3]= "Jueves";
        days[4]= "Viernes";
        days[5]= "Sabado";
        days[6]= "Domingo";

        System.out.println(days[1]);
        System.out.println(days[2]);
        System.out.println(days[3]);
        System.out.println(days[4]);
        System.out.println(days[5]);
        System.out.println(days[6]);
        System.out.println(days[7]);
        System.out.println();

        /**
         * Descripci贸n: [] Arreglo de dos dimensi贸nes
         * @param [][] Arreglo de dos dimensiones
         * */
        String[][] cities = new String[4][2]; //4*2 estas son matrices que le caben 8 elementos
        /*
         * +------------------------+
         * | Country  |    City     |
         * --------------------------
         * |Ecuador   |  Quito      |
         * |BieloRusia|  Grodno     |
         * |Colombia  |  Bogot谩     |
         * |Mexico    |  CDMX       |
         * +------------------------+
         **/

        //Arreglo de dos dimensiones

        cities[0][0] = "Mexico";
        cities[0][1] = "CDMX";
        cities[1][0] = "Colombia";
        cities[1][1] = "Bogota";
        cities[2][0] = "BieloRusia";
        cities[2][1] = "Grodno";
        cities[3][0] = "Ecuador";
        cities[3][1] = "Quito";

        System.out.println(cities[0][0]);
        System.out.println(cities[0][1]);
        System.out.println(cities[1][0]);
        System.out.println(cities[1][1]);
        System.out.println(cities[2][0]);
        System.out.println(cities[2][1]);
        System.out.println(cities[3][0]);
        System.out.println(cities[3][1]);
        System.out.println();


        /**
         * Descripci贸n: [] Arreglo de tres dimensi贸nes
         * Cuando se define arreglo de 3 elementos es mejor
         * llevar a una base de datos.
         * Se los maneja mas con calculos numericos matrices o graficos en tres dimensiones
         * @param [][][] Arreglo de tres dimensiones
         * */

        int [][][] numbers = new int[2][2][2];
        int [][][][] numbers4 = new int[2][2][2][2];

        //Arreglo de 4 dimensiones

        //Changuito buscar en que posicion se encuentra

        String[][][][] animals = new String[2][3][2][2];
        animals[1][0][0][1] = "Monkey";

        System.out.println();
        System.out.println();
        System.out.println(animals [1][0][0][1]);

        





    }
}
public class ArraysCiclosForAnidados {
    public static void main(String[] args) {
        /**
         * Descripci贸n: [] Arreglo de una dimensi贸
         * @param [] Arreglo de una dimension
         * */
        String[] androidVersions = new String[17];
        //Arreglo de una dimension
        androidVersions[0] = "Apple Pie";
        androidVersions[1] = "Bannana Break";
        androidVersions[2] = "Cupcake";
        androidVersions[3] = "Donut";
        //Bucles de ciclos FOR anidados
        //Aqui tenemos con la variante <  en enght
        for (int i = 0; i < androidVersions.length; i++) {//17
            System.out.println(androidVersions[i]);
        }
        System.out.println();
        //Aqui tenemos con la variante -1 en lenght
        System.out.println();
        for (int i = 0; i <= androidVersions.length-1; i++) {//17
            System.out.println(androidVersions[i]);
        }
        System.out.println();
        String days[] = new String[7];
        //Arreglo de una dimension
        days[0]= "Lunes";
        days[1]= "Martes";
        days[2]= "Miercoles";
        days[3]= "Jueves";
        days[4]= "Viernes";
        days[5]= "Sabado";
        days[6]= "Domingo";

        for (int i = 0; i < days.length ; i++) {
            System.out.println(days[i]);
        }
        System.out.println();
        int days1[] = new int[7];
        for (int i = 0; i <days1.length ; i++) {
            System.out.println(days1[i]);
        }
        System.out.println();
        /**
        * Descripci贸n: [] Arreglo de dos dimensi贸nes
        * @param [][] Arreglo de dos dimensiones
         * */
         String[][] cities = new String[4][2]; //4*2 estas son matrices que le caben 8 elementos
        /*
         * +------------------------+
         * | Country  |    City     |
         * --------------------------
         * |Ecuador   |  Quito      |
         * |BieloRusia|  Grodno     |
         * |Colombia  |  Bogot谩     |
         * |Mexico    |  CDMX       |
         * +------------------------+
         **/
         //Arreglo de dos dimensiones
        cities[0][0] = "Mexico";
        cities[0][1] = "CDMX";
        cities[1][0] = "Colombia";
        cities[1][1] = "Bogota";
        cities[2][0] = "BieloRusia";
        cities[2][1] = "Grodno";
        cities[3][0] = "Ecuador";
        cities[3][1] = "Quito";
        for (int i = 0; i < cities.length; i++) {
            for (int j = 0; j < cities[i].length; j++) {
                System.out.println(cities[i][j]);
            }
        }
        System.out.println();
        /**
         * Descripci贸n: [] Arreglo de tres dimensi贸nes
         * Cuando se define arreglo de 3 elementos es mejor
         * llevar a una base de datos.
         * Se los maneja mas con calculos numericos matrices o graficos en tres dimensiones
         * @param [][][] Arreglo de tres dimensiones
         * */
        int [][][] numbers = new int[2][2][2];
        int [][][][] numbers4 = new int[2][2][2][2];
        //Arreglo de 4 dimensiones
        String[][][][] animals = new String[2][3][2][2];
        animals[1][0][0][1] = "Monkey";
        System.out.println(animals [1][0][0][1]);
        System.out.println();
        //Changuito buscar en que posicion se encuentra
        for (int i = 0; i <= 1; i++) {
            for (int j = 0; j <= 0; j++) {
                for (int k = 0; k <= 0; k++) {
                    for (int l = 0; l <= 1; l++) {
                        System.out.println(animals[i][j][k][l]);
                    }
                }
            }
        }
    }
}
public class ArraysCiclosForForeach {
    public static void main(String[] args) {
        /**
         * Descripci贸n: [] Arreglo de una dimensi贸
         * @param [] Arreglo de una dimension
         * */
        String[] androidVersions = new String[17];
        //Arreglo de una dimension
        androidVersions[0] = "Apple Pie";
        androidVersions[1] = "Bannana Break";
        androidVersions[2] = "Cupcake";
        androidVersions[3] = "Donut";
        for (String androidVersion:androidVersions) {
            System.out.println(androidVersion);
        }
        System.out.println();
        String days[] = new String[7];
        //Arreglo de una dimension
        days[0]= "Lunes";
        days[1]= "Martes";
        days[2]= "Miercoles";
        days[3]= "Jueves";
        days[4]= "Viernes";
        days[5]= "Sabado";
        days[6]= "Domingo";
        for (String day:days) {
            System.out.println(day);
        }
        System.out.println();
        int days1[] = new int[7];
        for (int day:days1) {
            System.out.println(day);
        }
        System.out.println();
        /**
         * Descripci贸n: [] Arreglo de dos dimensi贸nes
         * @param [][] Arreglo de dos dimensiones
         * */
        String[][] cities = new String[4][2]; //4*2 estas son matrices que le caben 8 elementos
        /*
         * +------------------------+
         * | Country  |    City     |
         * --------------------------
         * |Ecuador   |  Quito      |
         * |BieloRusia|  Grodno     |
         * |Colombia  |  Bogot谩     |
         * |Mexico    |  CDMX       |
         * +------------------------+
         **/
        //Arreglo de dos dimensiones
        cities[0][0] = "Mexico";
        cities[0][1] = "CDMX";
        cities[1][0] = "Colombia";
        cities[1][1] = "Bogota";
        cities[2][0] = "BieloRusia";
        cities[2][1] = "Grodno";
        cities[3][0] = "Ecuador";
        cities[3][1] = "Quito";
        for (String[] pair :cities) {
            for (String name :pair) {
                System.out.println(name);
            }
        }
        System.out.println();
        /**
         * Descripci贸n: [] Arreglo de tres dimensi贸nes
         * Cuando se define arreglo de 3 elementos es mejor
         * llevar a una base de datos.
         * Se los maneja mas con calculos numericos matrices o graficos en tres dimensiones
         * @param [][][] Arreglo de tres dimensiones
         * */
        //Arreglo de 4 dimensiones
        String[][][][] animals = new String[2][3][2][2];
        animals[1][0][0][1] = "Monkey";
        for (String[][][] i: animals) {
            for (String[][] j:i) {
                for (String[]k:j) {
                    for (String l: k) {
                        System.out.println(l);
                    }
                }
            }
        }
    }
}

Y de igual manera mucha gracias por todo y a los compa帽eros de clase igual me sacaron todas esas dudas que tenia

Todo clar铆simo. Gracias

Para los array List

List<String> days = new ArrayList<>();
days.add("Monday");
days.add("Tuesday");

for (int i = 0; i < days.size() ; i++) {
	System.out.println(days.get(i));
}
for (String day: days) {
            System.out.println(day);
}


Gracias profe, muy buen curso de iniciaci贸n.

Me quedo completamente claro el bucle for eco se lo utiliza mas a menudo para obtener un dato de un <List> de objetos cuando haces una consulta a una base de datos .

explicas bien anahi

cities[0][0]="Peru";
        cities[0][1]="Mexico";
        cities[1][0]="Bolivia";
        cities[1][1]="Corea delSur";

        for (int i = 0; i <cities.length ; i++) {
            for (int j = 0; j <cities[i].length ; j++) {
                System.out.println(cities[i][j]);
            }
        }

El bucle foreach es m谩s que nada para arrays unidimensionales (bajo mi punto de vista)

Para no imprima los elementos nulos

for(int i=0; i<androidVersions.length;i++){
           if(androidVersions[i] !=null){
               System.out.println(androidVersions[i]);
           }
       }```

incre铆ble clase, con practica se domina mucho mas

Excelente clase de for

Muy bien explicado gracias profesora.
con la practica se asimila este conocimiento.

Pueden iterar mejor los arrays de 2 dimensiones as铆 para que se vea m谩s est茅tico.

for (int i = 0; i < arreglo.length; i++) {
	for (int j = 0; j < arreglo[i].length; j++) {
        	System.out.println(arreglo[i][j] + "\t");
	}
	System.out.println();
}

Esto imprimir谩 el arreglo por reglones como si fuera una especie de tabla

Excelente anahi no sabia que podia usar de esa forma el foreach. Graciaas.

que vaina tan dura despu茅s de las dos dimensiones jajaja