Distanciamiento de matrices.
Partiendo de las variables definidas en la lámina anterior en esta lámina veremos la sintaxis para instancias
una matriz según el tipo de dato que estemos utilizando.
La sintaxis es muy similar a distanciar una variable de tipo obvie y de hecho esta es una de las características
más importantes de IAVA.
Incluso las matrices o cualquier tipo en Java que almacena una referencia hereda de la clase obvie ya
sea de manera directa o indirecta.
Por lo tanto las matrices también descienden de la clase obvie.
Sin embargo la diferencia con instancias un objeto normal a una matriz es que un arreglo indicamos el
número de elementos máximo que contendrá dicha matriz es que en una matriz indicamos el número de elementos
máximo que contendrá dicha matriz.
Tanto el número de renglones como el número de columnas pero obviamente en la definición de la variable
ya se indicó que tipo es el que se va a almacenar y ahora deberemos indicar que creamos un objeto de
cierto tipo y que contendrá un número de renglones y columnas según se indique.
Así que vamos a revisar varios ejemplos de inicialización de matrices según el tipo de dato que elijamos.
Así que para instancias una matriz debemos ya tener definida una variable de tipo matriz como lo vimos
en la lámina anterior y posteriormente utilizamos el tipo niu.
En este momento es que se está reservando espacio de memoria y también aquí es donde la clase Object
es la clase padre de todos los tipos matriz en Java debido a que estamos utilizando el operador Nio.
Posteriormente indicamos el tipo de dato que va a almacenar esta matriz y finalmente el número de renglones
y columnas que va a contener esta matriz.
Vamos a ver algunos ejemplos para instancias matrices de tipo primitivo.
Por ejemplo podemos tener la variable enteros y para inicializar la utilizamos el operador nio posteriormente
el tipo que va a almacenar enteros y finalmente que va a tener dos renglones y dos columnas así que
va a ser una matriz de dos por dos también podemos tener la variable banderas y para instancias lo vamos
a utilizar el operador Nio.
Posteriormente indicamos el tipo bullían y esta matriz va a ser de tres por dos es decir tres renglones
por dos columnas y finalmente tenemos la matriz de tipo object.
En este caso para instancias de la variable personas que es una matriz vamos a utilizar el operador
nio indicamos el tipo y en este caso indicamos que va a ser de cuatro por dos cuatro renglones por dos
columnas y la variable de nombres la cual es una matriz de tipo String.
Vamos a indicar lo siguiente utilizamos el operador nio para reservar espacio de memoria y posteriormente
indicamos el tipo en este caso el string y esta matriz va a tener cinco renglones por tres columnas.
A continuación vamos a ver cómo inicializar los elementos de una matriz inicializar los elementos de
una matriz en la lámina anterior observamos la inicialización de los elementos de una matriz.
Sin embargo lo que debemos hacer para ir agregando elementos a una matriz es seleccionar un renglón
y una columna con los índices respectivos que queremos ir inicializar.
Así que la sintaxis para inicializar los elementos de una matriz es como sigue.
En primer lugar vamos a utilizar el nombre de la variable en este caso el nombre matriz.
Posteriormente indicamos el índice del renglón y posteriormente el índice de la columna que queremos.
En este caso modificar y finalmente asignamos un valor a este índice y a este renglón así que en la
matriz se va a modificar el elemento seleccionado por estos índices tanto el renglón como la columna
y vamos a ver algunos ejemplos para inicializar los elementos de una matriz por ejemplo de tipo entero
lo que debemos hacer es utilizar el nombre de la variable de la matriz y posteriormente indicar el índice
del renglón y también el inicio de la columna y una vez seleccionado ese elemento posicionándonos en
esa celda de la matriz asignamos el valor de 15 al renglón cero columna cero y posteriormente si quisiéramos
modificar el valor de la celda ubicada en el renglón 1 columna cero podríamos hacerlo de esta manera.
Y finalmente asignamos el valor de 13 en el renglón 1 columna 0 ahora vamos a ver ejemplos para inicializar
los elementos de una matriz de tipo obvie.
La sintaxis es muy similar simplemente especificamos el nombre de la matriz el renglón y la columna
de la celda que queremos modificar y le asignamos el elemento en este caso un objeto nuevo utilizando
el constructor vacío en este caso el constructor de la clase persona también para el elemento renglón
1 Columna 1.
Podemos utilizar este constructor ahora para inicializar un objeto de tipo personal y asignarlo en esta
celda.
Una vez que hemos seleccionado y proporcionado el elemento de renglón columna por ejemplo para el arreglo
de nombres en el renglón cero columna cero en esta celda asignamos el valor de la cadena en este caso
a la cadena de Juan.
Recuerden que podemos utilizar simplemente la pura cadena sin necesidad de distanciar el objeto string
ya que las cadenas podemos utilizar la notación simplificada y finalmente si queremos modificar el renglón
0 Columna 1 podemos asignar el valor como se indica así que en el caso de matrices es importante saber
que a diferencia de un arreglo en una matriz utilizaremos dos índices para determinar la posición de
un elemento y los primeros índices tanto de renglón como de la columna inician en cero.
También es importante saber que cuando indicamos una posición primero se indica el renglón y después
la columna siempre en ese orden al igual que en el arreglo sólo podemos agregar elementos hasta el máximo
de elementos menos 1 por ejemplo si son renglones sería el nombre de la matriz punto Lek menos 1.
Este sería el valor máximo y se fuera para el máximo de columnas sería el nombre de la matriz seleccionando
algún renglón y posteriormente solicitando el largo a este renglón.
Esto nos va a regresar el largo de las columnas y debemos restarle 1 para que podamos obtener el máximo
de columnas de una matriz.
Si nos pasamos del índice máximo tanto en renglones o columnas y queremos agregar un elemento fuera
de la cantidad máxima de elementos nos arrojará un error.
Por ello debemos saber cuál es el máximo número de elementos tanto en renglones como en columnas así
que observamos en la lámina varios ejemplos de cómo agregar elementos de nuestra matriz podemos agregar
los de manera manual es decir uno a uno cada elemento o podemos ir agregando los elementos de manera
más dinámica utilizando dos contadores uno para el manejo de renglones y otro para el manejo de columnas
de tal forma que podamos saber si ya hemos llegado al límite de elementos agregados o no tanto en renglones
como en columnas.
En esta lámina podemos observar más claramente que no siempre estarán llenos todos los elementos de
una matriz.
Por ejemplo si la matriz de enteros es de dos renglones por dos columnas entonces sólo hemos llenado
dos de los cuatro elementos disponibles.
Esto quiere decir que dos elementos tendrán el valor por default.
En este caso el valor de cero por ser de tipo entero.
Por ello en muchas ocasiones será conveniente tener contadores para poder conocer cuántos elementos
se han modificado en nuestra matriz lo cual es distinto al número de elementos máximo que soporta nuestra
matriz.
Tanto en los renglones como en las columnas disponibles de nuestra matriz en el ejercicio de esta elección
veremos como inicializar los elementos de nuestras matrices.