‫Muy bien, ahora que sabes cómo usar una raza y vestirte tan bien como para cada tropa, combinemos esos
‫conceptos, combinemos los conceptos en un video y un ejemplo.
‫Pero también echemos un vistazo a los foros anidados.
‫En este video, vamos a repasar estas diferentes características y luego veremos cuándo usar un bucle for anidado y
‫cuáles son las ventajas de un bucle for anidado sobre un bucle for cada bucle cuando se trata de, por
‫ejemplo, un bucle multidimensional. matrices.
‫Bien, comencemos.
‫Lo primero que tengo aquí es, como pueden ver, tengo esta matriz, que
‫es una matriz bidimensional, que tiene tres elementos en cada dimensión.
‫Bien, tres filas y tres columnas, por así decirlo.
‫Así que voy a usar para cada ciclo usando para cada palabra clave aquí.
‫Éste y DTAP.
‫Y esto me permitirá básicamente escribir muy rápido qué tipo es, cómo quiero llamar al
‫elemento de la colección que estoy iterando y la colección.
‫Así que este es un pequeño truco si quieres ser una codificación más rápida.
‫Entonces, el elemento será de tipo entero porque queremos iterar a través de esta matriz, que tiene
‫un montón de números enteros, y el elemento podemos seguirlo.
‫Podríamos llamarlo NUM porque es un número al que podríamos llamarlo elemento.
‫Estos serían los nombres normales que vería aquí, pero el elemento estará bien por ahora.
‫Y luego, la colección por la que quiero iterar será mi matriz que preparé aquí.
‫Y esa también es la razón por la que necesitaba hacer esta matriz estática porque
‫la estoy usando dentro de mi método principal estático y no puede usar elementos no estáticos que son variables dentro del método principal estático o
‫dentro de métodos estáticos en general.
‫Bien, entonces para iterar a través de esto para cada grupo y mostrar los elementos de la matriz, podemos seguir
‫adelante y usar la consola.
‫Declaración de la línea derecha aquí.
‫Entonces S. W. doble pestaña y aquí solo voy a decir mostrar el elemento y luego hacer un espacio vacío.
‫O cree un espacio vacío y en realidad no usemos la línea roja, pero sí, así que esto solo lo escribirá en
‫una línea y no creará una nueva línea todo el tiempo.
‫Ahora, ejecutemos esto muy rápido.
‫Y veremos que tenemos uno, dos, tres, cuatro, cinco, seis, siete, ocho, nueve.
‫Bien, entonces se muestran todos los elementos que tenemos aquí en nuestra matriz.
‫Entonces estamos usando esto para cada ciclo para pasar por cada elemento dentro de esta matriz.
‫Y simplemente va de izquierda o de arriba a la izquierda a abajo a la derecha, por así decirlo, en nuestro ejemplo aquí.
‫Bien, para cada dos hay una herramienta poderosa.
‫Nos permite pasar por una colección y una matriz 2D, una matriz 3D, sin importar cuántas dimensiones desee
‫tener, todas esas son al final solo colecciones, porque aquí estamos usando una matriz y una matriz es
‫un tipo de Una colección.
‫De acuerdo, y esto es lo que necesitábamos dar para que cada bucle se repita.
‫Así que itera a través de nuestra matriz de colección.
‫Así que ahora podemos seguir adelante y usar esto para mostrarle cómo podría haberlo logrado usando un bucle for
‫anidado.
‫Bien, entonces el para cada grupo es muy útil si solo desea revisar cada
‫elemento en él, pero tiene ciertas desventajas en términos de ciertas situaciones.
‫Entonces, en el caso de que desee cambiar ahora el elemento, no puede hacerlo porque está protegido.
‫Por lo tanto, no puede continuar y decir que el elemento ahora debería sobrescribirse con tres, por ejemplo, como puede ver
‫aquí.
‫Entonces, si intenta eso, dice que no se puede asignar al elemento porque es para cada variable de iteración.
‫Bien, entonces no es el artículo real, en realidad es solo el almacenamiento de valor, por así decirlo.
‫Así que almacenamos cualquier valor que estemos viendo actualmente de nuestra colección y lo que almacenamos aquí, el valor de
‫la misma.
‫Entonces, en la primera iteración es una, en la segunda iteración son dos, pero en realidad nunca es el valor
‫en sí.
‫Es solo una referencia al valor.
‫OK, entonces esto realmente no nos ayuda.
‫Entonces, si realmente queremos ajustar, necesitaríamos algo como un bucle for anidado.
‫Bien, aquí, sigamos adelante y creemos un nido.
‫Voy a agregar una pequeña declaración de línea roja aquí, diciendo que esto está imprimiendo nuestra matriz usando una carpeta anidada.
‫Entonces, ¿qué es un volumen anidado?
‫Bueno, es básicamente una carpeta con otro bucle for dentro.
‫Bien, aquí vamos a utilizar cuatro y podemos volver a pulsar dos veces.
‫Entonces vamos de cero a la longitud.
‫Entonces aquí necesitamos ingresar la longitud de la iteración.
‫Entonces, lo que voy a hacer aquí es usar mi matriz, pero, por supuesto, podría usar la longitud aquí
‫y esto me daría la longitud de toda la matriz.
‫Básicamente, la cantidad de elementos que tengo dentro de esta matriz, pero eso no es lo que quiero.
‫Quiero pasar por cada dimensión, así que quiero pasar por fila por fila y columna por columna.
‫Entonces, la primera dimensión serán las filas.
‫Entonces puedo usar un método que ofrece matrices.
‫Entonces, la clase de matriz tiene este método de gran longitud donde necesito analizar la dimensión.
‫Bien, esto me dará el número representado o simplemente puede ver aquí que representa el número de elementos
‫en la dimensión especificada de la matriz.
‫Entonces, en mi caso, si ingreso cero, esto ahora devolverá el cero con una dimensión que básicamente significa las
‫filas.
‫Bien, esto me dará las filas.
‫Entonces, ahora, si quiero iterar a través de cada columna individual, necesito usar otro bucle for aquí.
‫Así que este será mi volumen interno, como el bucle for interno.
‫De acuerdo, y este de aquí, será el bucle for externo.
‫OK entonces.
‫Lo que ahora necesitamos cambiar, por supuesto, será el nombre de la variable de iteración, así que aquí usaremos Jay
‫en lugar de I.
‫Esta es una práctica común.
‫Entonces, si tiene un en una foto, generalmente usa Jay aquí como el nombre de la variable de contador.
‫Pero ahora queremos comparar a Jay no con la longitud de la primera dimensión, sino con la segunda dimensión.
‫Entonces ingresamos uno aquí.
‫Así que esto ahora me permitirá revisar todas y cada una de las columnas.
‫Entonces, este trabajo de Falu será pasar por las columnas individuales y esto sigue.
‫Jope pasará por las filas individuales.
‫Eso significa que ahora podemos seguir adelante.
‫Y simplemente haga nuestra declaración correcta aquí, pero luego, por supuesto, no tenemos un elemento aquí, entonces,
‫¿qué tenemos?
‫Bueno, tenemos la matriz, la variable estática que creamos aquí.
‫Pero esta matriz, necesita saber qué elementos debe mostrar.
‫Así que voy a decir simplemente mostrar I j.
‫Lo que significa que mostró eso si.
‫Tira en la columna de Jeff, lo que básicamente significa que en la primera iteración, este será cero.
‫Y luego comenzamos con este volumen y este volumen lo atravesará hasta que esté listo.
‫Y luego solo irá a la siguiente iteración del bucle.
‫Entonces, solo entonces seré incrementado en uno.
‫Bien, eso significa que me quedaré en cero hasta que hayamos pasado por este volumen, lo que significa que comenzamos
‫en cero para I y luego tenemos J cero en la primera iteración.
‫Entonces obtenemos la primera entrada, luego tenemos J como uno porque lo incrementamos una vez que ejecutamos esta
‫línea de código y la aumentamos en uno.
‫Así que ahora J va a ser uno y decimos cero uno.
‫Entonces, la posición cero uno de nuestra matriz va a ser este dos aquí, luego J va a ser dos, que
‫serán estos tres.
‫Y luego comprobamos es.
‫Dos más uno, lo que va a estar bien, Jay, se incrementará después de que la duración sea tres menos que
‫la longitud de la dimensión actual que estamos viendo.
‫Y la dimensión será la dimensión de la columna.
‫Entonces, ¿cuántas columnas tenemos?
‫Y en este caso, tenemos tres columnas.
‫Entonces tres no es menos que tres, por lo que este volumen se terminará con su ejecución.
‫Y vamos al bucle for exterior de nuevo.
‫Así que esta vez aumentamos o incrementamos I.
‫Por uno, lo que significa que ahora seré uno, y luego repasamos esto para el bucle tres veces nuevamente, por lo
‫que tenemos que ser uno y cero en la primera iteración de esto en un bucle for, luego será uno, luego
‫serán dos.
‫Así que básicamente pasará por este elemento, luego este elemento en lugar de este elemento, y cada vez lo
‫escribirá en la consola y dejará un espacio vacío.
‫Y luego, en la primera iteración de nuestro ciclo o fuera del ciclo aquí, pasará por la última fila, por así
‫decirlo.
‫Así que esto de aquí es un anidado.
‫Mirar.
‫Bien, ejecutemos esto muy rápido solo para ver si esto realmente va a hacer
‫lo que estoy diciendo y pueden ver aquí, bueno, tal vez debería imprimirlo de manera ligeramente diferente.
‫Aquí, voy a tener otro salto de línea.
‫Así que intentemos esto de nuevo.
‫Como puede ver, esta es nuestra matriz 2D impresa utilizando el bucle for anidado.
‫Este es este de aquí.
‫Este era el de cada bucle.
‫Y ahora, en este punto, podrías decir, oye, ¿cuál es la ventaja, Dennis?
‫¿Esto tiene sentido?
‫No me gusta lo que estás haciendo ahí.
‫Prefiero usar el para cada bucle.
‫Verá, es súper simple, muy poco código que necesito.
‫Si bien lo bueno aquí es que tengo acceso directo al elemento que estoy viendo actualmente.
‫Así que aquí, en este caso, solo lo estoy repitiendo.
‫Pero, ¿y si continuara y le asignara un nuevo valor?
‫Digamos que le asigno cero.
‫Entonces, si ejecutamos esto, obtendremos un montón de ceros.
‫Aquí ves cero cero cero cero.
‫Entonces ahora puedo crear una lógica con la que, por ejemplo, anularía el valor.
‫Y eso no se puede lograr fácilmente con un bucle para cada bucle, para que cada uno
‫sea súper bueno, solo para mostrar algo y ejecutar un código para cada elemento, pero sin cambiar específicamente
‫el elemento en sí, porque el elemento es solo una ubicación de almacenamiento a corto plazo por cualquier valor que tengamos dentro del.
‫Colección que estamos viendo, y eso es diferente para un Nesat Falu, y esa ya es una ventaja que
‫ve aquí.
‫Pero hay otras ventajas y vamos a ver algunos ejemplos más de bucles for anidados con este
‫ejemplo particular que tenemos aquí.
‫Lo vamos a ajustar un poco en el siguiente video.
‫Y vas a, por ejemplo, ver cómo puedes obtener números pares o impares de tu bucle
‫for y luego ver cómo puedes ajustarlo para que solo imprimas, por ejemplo, elementos diagonales, porque esto te dará una
‫idea general de lo que puede usar para bucles for oa menos que cambie.
‫Y básicamente tienes tanta libertad y programación.
‫Y solo quería darte algunas herramientas más que puedes usar.
‫Bien, en este punto diría que vayamos al siguiente video donde veremos eso.