metodología de la programación arrays · metodología de la programación - tema 3 – p. 2/9...
TRANSCRIPT
Metodología de la Programación - Tema 3 – p. 1/9
Metodología de la Programación
Arrays
F. J. Martın Mateos
Dpto. Ciencias de la Computacion e Inteligencia Artificial
Universidad de Sevilla
Metodología de la Programación - Tema 3 – p. 2/9
Declaraci on
• Sintaxis:
tipo [ ] nombre;
Metodología de la Programación - Tema 3 – p. 2/9
Declaraci on
• Sintaxis:
tipo [ ] nombre;
• Tipo de los elementos del array
Metodología de la Programación - Tema 3 – p. 2/9
Declaraci on
• Sintaxis:
tipo [ ] nombre;
• Tipo de los elementos del array• Tipo del array
Metodología de la Programación - Tema 3 – p. 2/9
Declaraci on
• Sintaxis:
tipo [ ] nombre ;
• Tipo de los elementos del array• Tipo del array• Nombre del array
Metodología de la Programación - Tema 3 – p. 2/9
Declaraci on
• Sintaxis:
tipo [ ] nombre;
• Ejemplo:
String [ ] args;
Metodología de la Programación - Tema 3 – p. 3/9
Creaci on
• Sintaxis:
tipo [ ] nombre;
nombre = new tipo [tama no];
Metodología de la Programación - Tema 3 – p. 3/9
Creaci on
• Sintaxis:
tipo [ ] nombre;
nombre = new tipo [tama no];
• Nombre del array
Metodología de la Programación - Tema 3 – p. 3/9
Creaci on
• Sintaxis:
tipo [ ] nombre;
nombre = new tipo [tama no];
• Nombre del array• Método de creación de objetos
Metodología de la Programación - Tema 3 – p. 3/9
Creaci on
• Sintaxis:
tipo [ ] nombre;
nombre = new tipo [ tama no] ;
• Nombre del array• Método de creación de objetos• Tipo del array
Metodología de la Programación - Tema 3 – p. 3/9
Creaci on
• Sintaxis:
tipo [ ] nombre;
nombre = new tipo [ tama no];
• Nombre del array• Método de creación de objetos• Tipo del array• Tamaño del array
Metodología de la Programación - Tema 3 – p. 3/9
Creaci on
• Sintaxis:
tipo [ ] nombre;
nombre = new tipo [tama no];
• Ejemplo:
String [ ] args;
args = new String [10];
Metodología de la Programación - Tema 3 – p. 4/9
Creaci on por enumeraci on
• Sintaxis:
tipo [ ] nombre;
nombre = { elt1 , ... , eltn }
Metodología de la Programación - Tema 3 – p. 4/9
Creaci on por enumeraci on
• Sintaxis:
tipo [ ] nombre;
nombre = { elt1 , ... , eltn }
• Nombre del array
Metodología de la Programación - Tema 3 – p. 4/9
Creaci on por enumeraci on
• Sintaxis:
tipo [ ] nombre;
nombre = { elt1 , ... , eltn } ;
• Nombre del array• Enumeración de los datos del array
Metodología de la Programación - Tema 3 – p. 4/9
Creaci on por enumeraci on
• Sintaxis:
tipo [ ] nombre;
nombre = { elt1 , ... , eltn }
• Ejemplo:
int [] a = { 0 , 1 , 2 , 3 };
Metodología de la Programación - Tema 3 – p. 5/9
Modificaci on y acceso
• Sintaxis:
nombre[indice]
Metodología de la Programación - Tema 3 – p. 5/9
Modificaci on y acceso
• Sintaxis:
nombre [indice]
• Nombre del array
Metodología de la Programación - Tema 3 – p. 5/9
Modificaci on y acceso
• Sintaxis:
nombre[ indice ]
• Nombre del array• Indice al que se quiere acceder
Metodología de la Programación - Tema 3 – p. 5/9
Modificaci on y acceso
• Sintaxis:
nombre[indice]
• Ejemplo:
for ( i = 0 ; i < 3 ; i++ )a[i] = i;
suma = a[0] + a[1] + a[2] + a[3];
Metodología de la Programación - Tema 3 – p. 6/9
Longitud
• Sintaxis:
nombre.length
Metodología de la Programación - Tema 3 – p. 6/9
Longitud
• Sintaxis:
nombre .length
• Nombre del array
Metodología de la Programación - Tema 3 – p. 6/9
Longitud
• Sintaxis:
nombre. length
• Nombre del array• Acceso al dato miembro longitud
Metodología de la Programación - Tema 3 – p. 6/9
Longitud
• Sintaxis:
nombre.length
• Ejemplo:
for ( i = 0 ; i < a.length ; i++ )a[i] = i;
Metodología de la Programación - Tema 3 – p. 7/9
Arrays multidimensionales
• Sintaxis:
tipo [ ][ ]...[ ] nombre;
Metodología de la Programación - Tema 3 – p. 7/9
Arrays multidimensionales
• Sintaxis:
tipo [ ][ ]...[ ] nombre;
• Tipo del array. Se indican tantos [ ] como dimensiones tiene elarray
Metodología de la Programación - Tema 3 – p. 7/9
Arrays multidimensionales
• Sintaxis:
tipo [ ][ ]...[ ] nombre;
nombre = new tipo [d1][d2]...[dk];
Metodología de la Programación - Tema 3 – p. 7/9
Arrays multidimensionales
• Sintaxis:
tipo [ ][ ]...[ ] nombre;
nombre = new tipo [ d1][ d2]...[ dk ];
• Tamaños de las dimensiones del array
Metodología de la Programación - Tema 3 – p. 7/9
Arrays multidimensionales
• Sintaxis:
tipo [ ][ ]...[ ] nombre;
nombre = new tipo [d1][d2]...[dk];
tipo [ ][ ] nombre = { { e1-1 , ... , e1-d2 }...{ ed1-1 , ... , ed1-d2 }
}
Metodología de la Programación - Tema 3 – p. 7/9
Arrays multidimensionales
• Sintaxis:
tipo [ ][ ]...[ ] nombre;
nombre = new tipo [d1][d2]...[dk];
tipo [ ][ ] nombre = { { e1-1 , ... , e1-d2 }...{ ed1-1 , ... , ed1-d2 }
}
• Creación del array por enumeración. El número de dimensiones hade coincidir con el número de bloques de datos anidados
Metodología de la Programación - Tema 3 – p. 8/9
Arrays multidimensionales
• Modificación y acceso:
nombre[i1][i2]...[ik]
Metodología de la Programación - Tema 3 – p. 8/9
Arrays multidimensionales
• Modificación y acceso:
nombre[ i1 ][ i2 ]...[ ik ]
• Indices del elemento al que se quiere acceder
Metodología de la Programación - Tema 3 – p. 8/9
Arrays multidimensionales
• Modificación y acceso:
nombre[i1][i2]...[ik]
• Longitud:
nombre.length // d1nombre[i1].length // d2nombre[i1][i2].length // d3
Metodología de la Programación - Tema 3 – p. 8/9
Arrays multidimensionales
• Modificación y acceso:
nombre[i1][i2]...[ik]
• Longitud:
nombre. length // d1nombre[i1].length // d2nombre[i1][i2].length // d3
• Tamaño de la primera dimensión del array
Metodología de la Programación - Tema 3 – p. 8/9
Arrays multidimensionales
• Modificación y acceso:
nombre[i1][i2]...[ik]
• Longitud:
nombre.length // d1nombre[i1]. length // d2nombre[i1][i2].length // d3
• Tamaño de la segunda dimensión del array
Metodología de la Programación - Tema 3 – p. 8/9
Arrays multidimensionales
• Modificación y acceso:
nombre[i1][i2]...[ik]
• Longitud:
nombre.length // d1nombre[i1].length // d2nombre[i1][i2]. length // d3
• Tamaño de la tercera dimensión del array
Metodología de la Programación - Tema 3 – p. 9/9
Arrays multidimensionales
• Ejemplo:
int [][] a = { {1 , 2} , {3 , 4} , {5 , 6} };int x = a[1][0]; // contiene 3int y = a[2][1]; // contiene 6
int [][] b = new int [3][2];for ( int i = 0 ; i < b.length ; i++ )
for ( int j = 0 ; j < b[i].length ; j++ )b[i][j] = i * j;