Herramientas de usuario

Herramientas del sitio


bloque2:arrays

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bloque2:arrays [14/12/2018 23:31] – [Acceder a las posiciones] Fernando Valdeónbloque2: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 fija de elementos de la misma clase o tipo**. Todos los datos que almacena deben ser del mismo tipo. Una vez creado el array siempre tiene la misma cantidad de elementos; no pueden crecer. +Un array es una estructura de datos **que almacena una cantidad __fija__ de elementos de la misma clase o tipo**. Todos los datos que almacena deben ser del mismo tipo. Una vez creado el array siempre tiene la misma cantidad de elementos; no pueden crecer. 
  
 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 ''boolean''
 +  * Arrays de tipo objeto (String, Scanner o cualquier otra clase): Todas sus celdas se inicializan a ''null''
 +
 +<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
 +</code>
 ===== 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 
-//Desde ambas variables accedo al mismo array+Ambas variables referencian al mismo array y desde ambas variables accedo al mismo array 
 +*/
 </code> </code>
  
Línea 153: Línea 165:
 </code> </code>
  
-==== Acceder a las posiciones ====+==== Acceder a las posiciones de una matriz ====
 Debo utilizar tantos índices como dimensiones tenga el array: Debo utilizar tantos índices como dimensiones tenga el array:
 <code java> <code java>
Línea 167: Línea 179:
 //Por lo que uso 2 bucles para recorrerlo (guardando datos) //Por lo que uso 2 bucles para recorrerlo (guardando datos)
 for(int i = 0; i < matriz.length; i++){ for(int i = 0; i < matriz.length; i++){
-   for(int j = 0; j< matriz[0].length; j++){+   for(int j = 0; j< matriz[i].length; j++){
       System.out.println("Introduce un entero");       System.out.println("Introduce un entero");
       matriz[i][j] = input.nextInt();       matriz[i][j] = input.nextInt();
Línea 173: Línea 185:
 } }
  
-//O con dos bucles para recorrer sus datos, mostrandolos por filas/columnas+//Dos bucles para mostrar sus datos, mostrándolos por filas/columnas
 for(int i = 0; i < matriz.length; i++){ for(int i = 0; i < matriz.length; i++){
-   for(int j = 0; j< matriz[0].length; j++){+   for(int j = 0; j< matriz[i].length; j++){
       System.out.print(matriz[i][j] + " ");       System.out.print(matriz[i][j] + " ");
    }    }
Línea 182: Línea 194:
 </code> </code>
  
 +----
 +
 +{{ vimeo>306802923?medium }}
 +
 +----
 ===== 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:clasearrays|Clase Arrays]].+Los arraysaunque son objetosno se crean a partir de una clase. Sin embargo tenemos una clase que contiene una serie de métodos estáticos que nos ayudan a trabajar con arrays: [[bloque2:clasearrays|Clase Arrays]].
  
  
 ---- ----
 (c) {{date> %Y}} Fernando Valdeón (c) {{date> %Y}} Fernando Valdeón
bloque2/arrays.1544830294.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)