Академический Документы
Профессиональный Документы
Культура Документы
6-1:
Matrices
Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados.
Objetivos
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 3
Matrices
Descripcin general
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 4
Matrices
Qu es una matriz?
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 5
Matrices
Elementos de la matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 6
Matrices
Tipos de datos de las matrices
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 7
Matrices
Declaracin de una matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 8
Matrices
Ejemplos de declaracin de una matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 9
Matrices
Ejemplo de declaracin de una matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 10
Matrices
Explicacin del ejemplo de matriz
myBouquet
String[] myBouquet;
myBouquet = new String[6];
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 11
Matrices
Identificar los componentes de la
declaracin de una matriz
Tipo de datos
Nombre
Tamao
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 12
Matrices
Sintaxis alternativa de la declaracin de
matrices
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 13
Matrices
Sintaxis alternativa de declaracin de
matrices
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 14
Matrices
Sintaxis alternativa de declaracin de
matrices
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 15
Matrices
Inicializacin de una matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 16
Matrices
Formas de inicializacin de una matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 17
Matrices
Ejemplo 1 de inicializacin de una matriz
Recuerde la declaracin de la matriz del String myBouquet.
Una vez declarada la matriz, el cdigo a continuacin inicializa
los elementos y almacena los tipos de flores.
El ndice de una matriz comienza en 0, de modo que el primer
elemento se agrega al ndice 0.
String[] myBouquet = new String[6]; //previous declaration
myBouquet[0] = "Rose"; //Store "Rose" as the first element
myBouquet[1] = "Sunflower"; //Store "Sunflower" as the second
myBouquet[2] = "Daisy"; //and so on
myBouquet[3] = "Dandelion";
myBouquet[4] = "Violet";
myBouquet[5] = "Lily"; //"Lily" is the last (sixth) element
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 18
Matrices
Ejemplo 1 de inicializacin de una matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 19
Matrices
Ejemplo 2 de inicializacin de una matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 20
Matrices
Primera notacin frente a la segunda
notacin
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 21
Matrices
Primera notacin frente a la segunda
notacin
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 22
Matrices
Primera notacin frente a la segunda
notacin
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 23
Matrices
Representacin de matrices
Cuando se inicialan las matrices pero no se inicializan, los
elementos reciben el valor predeterminado relacionado con
el tipo de datos.
Por ejemplo, el valor predeterminado para los tipos de datos
numricos, como int (entero), es 0. El valor predeterminado
para tipos de objeto, como String es (null).
Cuando se declara la matriz, la representacin en la tabla es
la siguiente.
int[] myArray = new int[5];
ndice: 0 1 2 3 4
Valor: 0 0 0 0 0
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 24
Matrices
Representacin de matrices actualizada
ndice: 0 1 2 3 4
Valor: 32 0 0 27 0
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 25
Matrices
Tipos de objetos de matrices
Las matrices no estn restringidas al almacenamiento de
tipos de datos primitivos.
Pueden almacenar cualquier tipo de objetos, incluso los tipos
que defina.
Por ejemplo, si existe una clase de flor:
Las flores se podrn almacenar en la matriz en lugar de almacenar el
tipo de flor como String.
Teniendo en cuenta que sabemos qu flores se pueden incluir, la
segunda notacin se puede usar para inicializar myBouquet de seis
flores.
Flower[] myBouquet = {new Flower("Rose"), new Flower("Sunflower"),
new Flower("Daisy"), new Flower("Dandelion"),
new Flower("Violet"), new Flower("Lily")};
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 26
Matrices
Acceso a la longitud de la matriz
Con cada declaracin de una matriz, puede definir el tamao
o la longitud de la matriz.
La longitud se almacena como variable de una instancia para
ese objeto y se puede acceder usando la notacin
arrayName.length.
Esta tcnica es til en el siguiente ejemplo:
Establecer una matriz cuyo tamao se base en el ingreso del usuario.
Ingresar un segmento de cdigo donde el ingreso del usuario ya no se
encuentra en el mbito.
Necesitar acceder a la longitud de la variable de la instancia para esa
matriz.
En resumen, arr.length devuelve la longitud de la matriz, arr.
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 27
Matrices
Recorrido de iteracin en
una matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 28
Matrices
Ejemplo de recorrido de iteracin en una
matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 29
Matrices
Ejemplo de recorrido de iteracin en una
matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 30
Matrices
Cundo es til la iteracin
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 31
Matrices
Bucle for-each
Java ofrece un bucle for-each, una alternativa del uso del
contador inicializado para iterar en una matriz.
Cuando se utiliza para acceder a los elementos de una matriz,
el bucle for- each funciona de la misma manera que en el
bucle for, pero se implementa de forma ms sencilla.
Si reemplazamos el cdigo del bucle for de nuestro ejemplo
anterior con el cdigo siguiente, obtenemos el mismo
resultado.
//remember that the index range is 0 to 5 for an array //of size 6
for (String myFlower : myBouquet)
{
System.out.println(myFlower);
}
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 32
Matrices
Bucle for-each
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 33
Matrices
Bucle for-each
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 34
Matrices
Ejemplo de bucle for-each
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 35
Matrices
Qu sabemos acerca de las matrices
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 36
Matrices
Matrices bidimensionales
Una matriz bidimensional, denominada matriz de matrices,
es una matriz que almacena otras matrices.
La cantidad de matrices contenidas en la matriz se define en
la declaracin.
La cantidad de elementos en cada matriz interna se define
tambin en el momento de la declaracin.
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 37
Matrices
Ejemplo de matriz bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 38
Matrices
Declaracin de una matriz bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 39
Matrices
Ejemplo 1 de declaracin de una matriz
bidimensional
int[][] myArray;
myArray = new int[2][3];
char[][] sentence = new char[10][10];
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 40
Matrices
Ejemplo 1 de declaracin de una matriz
bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 41
Matrices
Ejemplo 2 de declaracin de una matriz
bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 42
Matrices
Ejemplo 2 de declaracin de una matriz
bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 43
Matrices
Inicializacin de una matriz bidimensional
Las matrices bidimensionales, al igual que las matrices
unidimensionales, se pueden inicializar usando dos mtodos
diferentes.
Mtodo 1: i es el ndice de la matriz interna (fila) y j es el
ndice del elemento en esa matriz (columna) que se inicializa.
public class TwoDTester{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int[][] nums = new int[3][2];
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 44
Matrices
Inicializacin de una matriz bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 45
Matrices
Ejemplo de inicializacin de una matriz
bidimensional
Mtodo 1:
int[][] myArray = new int[3][2];
MyArray[0][0] = 7;
MyArray[0][1] = 24;
MyArray[1][0] = 352;
MyArray[1][1] = 2;
MyArray[2][0] = 37;
MyArray[2][1] = 65;
Mtodo 2:
int[][] myArray = new int[][] {{7, 24}, {352, 2}, {37, 65}};
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 46
Matrices
Uso de la segunda notacin para inicializar
la matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 47
Matrices
Uso de la segunda notacin para inicializar
la matriz
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 48
Matrices
Representacin de matriz bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 49
Matrices
Visualizacin de una matriz bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 50
Matrices
Visualizacin de una matriz bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 51
Matrices
Acceso a los datos en una matriz
bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 52
Matrices
Ejemplo de acceso a los datos en una
matriz bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 53
Matrices
Ejemplo de acceso a los datos en una
matriz bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 54
Matrices
Solucin del ejemplo de acceso a los datos
en una matriz bidimensional
Solucin:
Rosa durazno
Lirio blanco
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 55
Matrices
Acceso a la longitud de matrices
bidimensionales
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 56
Matrices
Longitud de las matrices externas e
internas
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 57
Matrices
Longitud de las matrices externas e
internas
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 58
Matrices
Ejemplo de longitud de las matrices
externas e internas
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 59
Matrices
Solucin del ejemplo de longitud de las
matrices externas e internas
Solucin:
two.length == 3;
es FALSO
four[0].length == 5;
no es una sintaxis vlida
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 60
Matrices
Tipos de objetos de matrices
bidimensionales
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 61
Matrices
Tipos de objetos de matrices
bidimensionales
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 62
Matrices
Tipos de objetos de matrices
bidimensionales
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 63
Matrices
Ubicacin de los estudiantes en la matriz
bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 64
Matrices
Ubicacin de los estudiantes en la matriz
bidimensional
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 65
Matrices
Bucles anidados for
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 66
Matrices
Bucles anidados for
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 67
Matrices
Completar las tareas usando los bucles
anidados for
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 68
Matrices
Completar las tareas usando los bucles
anidados for
String[] studentNames;
//Assume studentNames is initialized with 15 names
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 69
Matrices
Argumentos de lnea de comandos
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 70
Matrices
Argumentos de lnea de comandos:
Agregado de argumentos adicionales
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 71
Matrices
Argumentos de lnea de comandos:
Agregado de argumentos adicionales
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 72
Matrices
Uso de los argumentos de la lnea de
comandos en Eclipse
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 73
Matrices
Uso de los argumentos de la lnea de
comandos en Eclipse
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 74
Matrices
Terminologa
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 75
Matrices
Terminologa
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 76
Matrices
Resumen
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 77
Matrices
Resumen
JF 6-1 Copyright 2015, Oracle y/o sus afiliadas. Todos los derechos reservados. 78
Matrices