Uno de los problemas mas comunes en los diversos sistemas de información, es el tratamiento o procesamiento de una gran volumen de datos o de información.
Variables, objetos y componentes visuales manejados hasta ahora, no pueden ayudar a resolver este problema.
Las variables,objetos y componentes visuales usados hasta ahora reciben propiamente el nombre de escalares, porque solo permiten almacenar o procesar un dato a la vez.
Por ejemplo si se quiere almacenar nombre y edad de 15 personas, con el método tradicional se ocuparan 30 variables o 30 componentes visuales y esto solo es nombre y edad de 15 personas, agreguen mas datos y mas personas y ya es tiempo de empezar a analizar otro tipo de variables, objetos y componentes.
Es decir, en problemas que exigen manejar mucha información o datos a la vez, variables escalares, objetos y componentes visuales de manipulación de datos normales, no son suficientes ya que su principal problema es que solo permiten almacenas un dato a la vez.
Se ocupa entonces variables, objetos y componentes visuales que sean capaces de almacenar y manipular conjuntos de datos a la vez.
Variables de tipo arreglo y sus correspondientes objetos y componentes visuales, si permiten almacenar y procesar conjuntos de datos del mismo tipo a la vez.
Cada dato dentro del arreglo se le llama elemento del arreglo y se simboliza y procesa (captura, operación, despliegue ), usando el nombre del arreglo respectivo y un subíndice indicando la posición relativa del elemento con respecto a los demás elementos del arreglo, solo recordar que en JAVA la primera posición, elemento o renglón es la 0 (cero), ej.
NOMBRES
Juan
Pedro → Nombres[1]
José
Ana → Nombres[3]
Carmen
EDAD
18 → Edad[0]
20
25
30 → Edad[3]
Sin embargo sus problemas son similares a los de variables normales, es decir hay que declararlos, capturarlos, hacer operaciones con ellos, desplegarlos, compararlos, etc.
Arrays:
Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común. Para referirse a un determinado elemento de un array se deberá utilizar un índice, que especifique su posición relativa en el array. Un arreglo es una colección finita, homogénea y ordenada de elementos. Finita:Todo arreglo tiene un límite; es decir,debe determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo. Homogénea: Todos los elementos del arreglo deben ser del mismo tipo. Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,.... y el n-ésimo elmento.
Los arreglos se clasifican de acuerdo con el número de dimensiones que tienen. Así se tienen los:- Unidimensionales (vectores)
- Bidimensionales (tablas o matrices)
- Multidimensionales (tres o más dimensiones)

Ejemplo:
// Creación de un arreglo. import javax.swing.*; public class InicArreglo { public static void main( String args[] ) { int arreglo[]; // declarar la referencia a un arreglo arreglo = new int[ 10 ]; // crear el arreglo String salida = "Índice\tValor\n"; // anexar el valor de cada elemento del arreglo al String salida for ( int contador = 0; contador < arreglo.length; contador++ ) salida += contador + "\t" + arreglo[ contador ] + "\n"; JTextArea areaSalida = new JTextArea(); areaSalida.setText( salida ); JOptionPane.showMessageDialog( null, areaSalida, "Inicialización de un arreglo de valores int", JOptionPane.INFORMATION_MESSAGE ); System.exit( 0 ); } // fin de main } // fin de la clase InicArregloMatrices.
Las matrices se definen, como un arreglo bidimensional, en donde tenemos un número de reglones N y un número de columnas M. La representación matemática de una matriz es :
a11 | a12 | ... | a1M |
a21 | a22 | ... | a2M |
... | ... | ... | ... |
aN1 | aN2 | ... | aNM |
Para hacer la definición en Java de este arreglo hacemos
double A[][] = new double [N][M];
donde A es el nombre del arreglo N el número de renglones y M el número de columnas.
Para hacer referencia al elemento en el i-esimo renglón y la j-esima columna hacemos A[i][j].
Otra forma de hacer la definición de un arreglo es mediante la siguiente instrucción
double a[][] = {{1,2,3}, {4,5,6}, {7,8,9}};
esta instrucción crea un arreglo de 3 renglones con 3 columnas y los elementos lo dispone de la siguiente manera
1 | 2 | 3 | ||
A | = | 4 | 5 | 6 |
7 | 8 | 9 |
EJEMPLO:
/** * Este es un ejemplo de creación de un array en este caso de dos dimensiones */ package ejemplos; public class matrices { public static void main( String args[] ) { // Declaramos un array de dos dimensiones con un tamaño de 3 en la // Decladramos el array con un tamano de 3 en su primera dimensión para // posteriormente declarar la segunda dimensión. int matriz[][] = new int[3][]; matriz[0] = new int[2]; matriz[1] = new int[3]; matriz[2] = new int[4]; // Ponemos datos en el array for ( int i=0; i < 3; i++ ) { for ( int j=0; j < matriz[i].length; j++ ) matriz[i][j] = i * j; } // y vemos su contenido, utilizando un bucle for for ( int i=0; i < 3; i++ ) { for ( int j=0; j < matriz[i].length; j++ ) System.out.print( matriz[i][j] ); System.out.println(); } // Intetamos acceder a un elemento que esta fuera de los limites del array System.out.println( "Elemento fuera de limites del array" ); matriz[4][0] = 7; // El compilador lanzara una excepción de tipo ArrayIndexOutOfBounds } }
