A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

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 83

Preguntas 6

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta 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!!!

Un ejemplo en C#. Que lindo se ve ordenado

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

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

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

Muy elegante utilizar el foreach en arrays multidimensionales.



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

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.

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
}

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

Excelente explicaci贸n de los Ciclos For anidados

Muy buena clase. Gracias.

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

    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.

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

/**
 * 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, muy bien explicado!

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

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);
            }
        }

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