Gracias anahi, eres de las mejores profesoras de Platzi.¿Por qué te nos fuiste? 😦
Conocer a Java como lenguaje de programación
¿Qué es Java?
Versiones de Java y JDK
Las herramientas más usadas de Java
Creando un entorno de desarrollo en Java en Windows
Creando un entorno de desarrollo en Java en Mac
Creando un entorno de desarrollo en Java en Linux
Escribe tu primer Hola Mundo en Java
Etapas de la programación en Java
La JShell de Java
Trabajar con Variables en Java
Variables en Java
Actualizando variables
Convención de Nombres en Java
Técnica de Naming: Camel Case
Tipos de datos numéricos
Tipos de datos char y boolean
Operadores de Asignación, Incremento y Decremento
Operaciones matemáticas
Cast en variables: Estimación y Exactitud
Casteo entre tipos de datos
Archivos .JAR
¡A practicar!
Aplicar condicionales en Java
Sentencia if
Alcance de las variables y Sentencia ELSE
Operadores Lógicos y Expresiones booleanas
Sentencia Switch
Escribir funciones en Java
¿Para qué sirven las funciones?
Implementa Funciones en Java
Java Docs
Javadoc en funciones
Tags Java Docs
Analizar e implementar Ciclos en Java
Bucle do While
Operador Ternario y Bucle While
Bucle For
Break, Continue y Return
Arrays
Declarando Arreglos
Indices y búsqueda de elementos en Arrays
Ciclos For anidados
Continua con el Curso de Programación Orientada a Objetos en Java
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
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
Gracias anahi, eres de las mejores profesoras de Platzi.¿Por qué te nos fuiste? 😦
Así podemos evitar que se impriman esos “null” 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));
“Arrays” viene de la libreria “java.util.Arrays” asi que sera nesesario colocar esta linea al comienzo de tu archivo .java
import java.util.Arrays;
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 “Programació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
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.