Son arreglos de arreglos, su definición es similar a la de los unidimensionales con la diferencia que hay que inicializarlos primero para indicar cuantos arreglos contendrán (filas) y a su vez inicializar estos (columnas) para indicar cuantos elementos contendrán, para finalmente crear los elementos que se guardarán en el arreglo.
Ejemplo:
int bidimensional [ ] [ ]=new int [25] [30]; //Arreglo de 25 filas y 30 columnas
int dosniveles [ ] [ ] = new int [25] [ ]; // Arreglo de 25 filas
dosniveles[0]=new int[5]; /* Inicialización de la primera fila que contendrá 5 columnas */
dosniveles[1]=new int[6]; /* Inicialización de la segunda fila que contendrá 6 columnas */
......
dosniveles[24]=new int[15];
Como se puede apreciar en el ejemplo anterior los arreglos bidimensionales no están restringidos a tener todas las filas con el mismo número de columnas, capacidad que ofrece más flexibilidad en la programación y minimiza el uso de RAM.
Hay que recordar que la definición y creación de un arreglo no crea los objetos que van a estar contenidos en el arreglo.
Como en la definición de arreglos unidimensionales, también es posible inicializar un arreglo en el momento de su definición.
Ejemplo:
int bidimensional [ ] [ ] = { { 11, 12, 13 } , { 21, 22, 23 }, { 31, 32, 33 } };
Ejemplo:
int bidimensional [ ] [ ]=new int [25] [30]; //Arreglo de 25 filas y 30 columnas
int dosniveles [ ] [ ] = new int [25] [ ]; // Arreglo de 25 filas
dosniveles[0]=new int[5]; /* Inicialización de la primera fila que contendrá 5 columnas */
dosniveles[1]=new int[6]; /* Inicialización de la segunda fila que contendrá 6 columnas */
......
dosniveles[24]=new int[15];
Como se puede apreciar en el ejemplo anterior los arreglos bidimensionales no están restringidos a tener todas las filas con el mismo número de columnas, capacidad que ofrece más flexibilidad en la programación y minimiza el uso de RAM.
Hay que recordar que la definición y creación de un arreglo no crea los objetos que van a estar contenidos en el arreglo.
Como en la definición de arreglos unidimensionales, también es posible inicializar un arreglo en el momento de su definición.
Ejemplo:
int bidimensional [ ] [ ] = { { 11, 12, 13 } , { 21, 22, 23 }, { 31, 32, 33 } };