bloque2:arrays
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
bloque2:arrays [14/12/2018 23:27] – [Lo más importante de los arrays] Fernando Valdeón | bloque2:arrays [16/09/2024 20:53] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Estructuras de datos: Arrays ====== | ====== Estructuras de datos: Arrays ====== | ||
- | Un array es una estructura de datos **que almacena una cantidad | + | Un array es una estructura de datos **que almacena una cantidad |
En Java, **los arrays son objetos** al igual que los tipos String, Scanner y el resto de tipos de datos que veremos a partir de ahora. Los objetos funcionan de forma distinta a los tipos primitivos. | En Java, **los arrays son objetos** al igual que los tipos String, Scanner y el resto de tipos de datos que veremos a partir de ahora. Los objetos funcionan de forma distinta a los tipos primitivos. | ||
Línea 39: | Línea 39: | ||
**Una vez que indico el tamaño de un array, dicho tamaño no puede ser modificado. Si quiero tener otro tamaño, debo crear otro array.** | **Una vez que indico el tamaño de un array, dicho tamaño no puede ser modificado. Si quiero tener otro tamaño, debo crear otro array.** | ||
+ | ==== Contenido por defecto de un array ==== | ||
+ | Cuando construimos un array, todas sus celdas se inicializan a un valor por defecto: | ||
+ | * Arrays de tipo primitivo (int, char, boolean double, etc): Todas sus celdas se inicializan a **0**, ó a **false** si es '' | ||
+ | * Arrays de tipo objeto (String, Scanner o cualquier otra clase): Todas sus celdas se inicializan a '' | ||
+ | |||
+ | <code java> | ||
+ | double[] array = new double[4]; -> sus celdas contienen el valor 0.0 | ||
+ | boolean[] array2 = new boolean[3]; -> sus celdas contiene el valor false | ||
+ | |||
+ | String[] array3 = new String[3]; -> sus celdas contiene el valor null | ||
+ | </ | ||
===== Acceder al contenido del array ===== | ===== Acceder al contenido del array ===== | ||
Accedemos a cada posición del array mediante un **índice que comienza en 0** y va hasta la longitud -1 del array. | Accedemos a cada posición del array mediante un **índice que comienza en 0** y va hasta la longitud -1 del array. | ||
Línea 97: | Línea 108: | ||
enteros2[0] = 9; | enteros2[0] = 9; | ||
- | //Tanto enteros1[0] como enteros2[0] guardan el valor int 9 | + | /* |
- | //System.out.println(enteros1) -> @F456AC y System.out.println(enteros2) -> @F456AC | + | - Tanto enteros1[0] como enteros2[0] guardan el valor int 9 |
- | //Ambas variables referencian al mismo array | + | - System.out.println(enteros1) -> @F456AC y System.out.println(enteros2) -> @F456AC |
- | // | + | - Ambas variables referencian al mismo array y desde ambas variables accedo al mismo array |
+ | */ | ||
</ | </ | ||
Línea 116: | Línea 128: | ||
//Recibe un int que indica la cantidad de Strings que pido al usuario | //Recibe un int que indica la cantidad de Strings que pido al usuario | ||
static String[] pedirCadenas(int cantidad){ | static String[] pedirCadenas(int cantidad){ | ||
- | | ||
- | |||
| | ||
+ | |||
+ | | ||
+ | | ||
| | ||
System.out.println(" | System.out.println(" | ||
Línea 142: | Línea 155: | ||
===== Arrays bidimensionales (Matrices) ===== | ===== Arrays bidimensionales (Matrices) ===== | ||
- | Las matrices son arrays que tienen 2 dimensiones. Se pueden entender | + | Las matrices son arrays que tienen 2 dimensiones. Se pueden entender |
<code java> | <code java> | ||
char[][] matrizCaracteres; | char[][] matrizCaracteres; | ||
- | matrizCaracteres = new char[2][3]; | + | matrizCaracteres = new char[2][3]; |
int[][] numeros = {{2, 4}, {5, 6}, {-7, -2}}; | int[][] numeros = {{2, 4}, {5, 6}, {-7, -2}}; | ||
</ | </ | ||
- | ==== Acceder a las posiciones ==== | + | ==== Acceder a las posiciones |
Debo utilizar tantos índices como dimensiones tenga el array: | Debo utilizar tantos índices como dimensiones tenga el array: | ||
<code java> | <code java> | ||
Línea 164: | Línea 177: | ||
matriz[1][2] = 9; | matriz[1][2] = 9; | ||
- | //Leyendo desde teclado | + | //Por lo que uso 2 bucles para recorrerlo (guardando datos) |
for(int i = 0; i < matriz.length; | for(int i = 0; i < matriz.length; | ||
- | | + | |
System.out.println(" | System.out.println(" | ||
matriz[i][j] = input.nextInt(); | matriz[i][j] = input.nextInt(); | ||
Línea 172: | Línea 185: | ||
} | } | ||
- | //O mediante 2 bucles, | + | //Dos bucles |
for(int i = 0; i < matriz.length; | for(int i = 0; i < matriz.length; | ||
- | | + | |
System.out.print(matriz[i][j] + " "); | System.out.print(matriz[i][j] + " "); | ||
} | } | ||
Línea 181: | Línea 194: | ||
</ | </ | ||
+ | ---- | ||
+ | |||
+ | {{ vimeo> | ||
+ | |||
+ | ---- | ||
===== Clase Arrays ===== | ===== Clase Arrays ===== | ||
- | Los arrays aunque son objetos no se crean a partir de una clase. Sin embargo tenemos una clase que contiene una serie de métodos estáticos que nos ayuda a trabajar con arrays: [[bloque2: | + | Los arrays, aunque son objetos, no se crean a partir de una clase. Sin embargo tenemos una clase que contiene una serie de métodos estáticos que nos ayudan |
---- | ---- | ||
(c) {{date> %Y}} Fernando Valdeón | (c) {{date> %Y}} Fernando Valdeón |
bloque2/arrays.1544830028.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)