Programación Orientada a Objetos Arreglos Java Ing Ing.. Julio Ernesto Carreño Vargas MsC.. MsC Qué son los arreglos Estructuras de datos Contiene elementos relacionados del mismo tipo Mantiene el mismo tamaño una vez que han sido creados Entradas de longitud fija Programación Orientada a Objetos 2 1 Arreglo de 12 posiciones Arreglo de enteros llamado c Indice del elemento en el arreglo. Valor del arreglo en la posición del indice Programación Orientada a Objetos 3 Indice Indica el número de la posición dentro de un arreglo Debe ser un entero positivo ó una expresión que retorne un entero. El primer elemento del arreglo tiene indice 0 Programación Orientada a Objetos Aumenta en 2 la posición 11 del arreglo 4 2 Declarando y Creando Arreglos Arreglos son objetos que ocupan memoria Se crean dinámicamente con la palabra reservada new Programación Orientada a Objetos 5 Inicializando arreglos Los arreglos se pueden inicializar usando una lista de valores separados de comas y encerrada entre { y } No se requiere la palabra reservada new Programación Orientada a Objetos 6 3 Usando constantes Para evitar usar valores literales dentro del código se recomienda el uso de atributos de tipo final (su valor no puede ser cambiado). Programación Orientada a Objetos 7 Tamaño de un arreglo Los arreglos tienen un atributo length que devuelve la longitud del mismo imprime 5 Programación Orientada a Objetos 8 4 Accediendo posiciones individuales en un arreglo Se puede acceder a una posición cualquiera del arreglo usando la notación [ ]. 40 39 50 java.lang.ArrayIndexOut OfBoundsException: 10 Programación Orientada a Objetos 9 Recorriendo un arreglo Para recorrer un arreglo se utiliza alguna estructura de repetición, preferiblemente el for. La variable contador del ciclo maneja el índice del arreglo Programación Orientada a Objetos 10 5 Sumando los valores del arreglo Programación Orientada a Objetos 11 Ejemplo: Frecuencia de un número Observe que el indice del arreglo frecuencia se obtiene del valor que devuelve el arreglo respuesta[i], si lo prefiere vea el equivalente: Programación Orientada a Objetos 12 6 Sentencia for mejorada(1) Permite iterar a través de los elementos de un arreglo ó colección sin usar un contador. Sintaxis for ( parametro: nombreArreglo){ sentencia; } Por defecto el arreglo se recorre desde el comienzo hasta el final, no se puede acceder con el índice a una posición específica. Programación Orientada a Objetos 13 Sentencia for mejorada(2) En cada iteración cada elemento del arreglo en la posición i, es cargado en la variable entera “numero”. Programación Orientada a Objetos 14 7 Paso de Parámetros En java los parámetros pueden pasarse de dos maneras: Por valor Se crea una copia de la variable, sin afectar el valor original Todas las variables de tipo primitivo pasan por valor Por referencia Se tiene acceso directo a la memoria en memoria En java todos los objetos pasan por referencia Los arreglos son pasados como parámetros por referencia Programación Orientada a Objetos 15 Invocando una Función que recibe un arreglo Al invocar la función “SumeArreglo”, se coloca el nombre del arreglo sin [] Programación Orientada a Objetos 16 8 Modificando un arreglo en una Función A pesar de que el arreglo cambia de nombre, se trata del mismo arreglo “numeros”, ya que los arreglos pasan por referencia Programación Orientada a Objetos 17 Arreglos multidimensionales(1) Los arreglos pueden tener cualquier cantidad de dimensiones bi dimensionales tri dimensionales Los arreglos bidimensionales se asemejan a tablas de filas y columnas Arreglos de m filas por n columnas Cada fila del arreglo bidimensional es un arreglo unidimensional. Programación Orientada a Objetos 18 9 Arreglos multidimensionales(2) Llamados también matrices Programación Orientada a Objetos 19 Declaración e inicializando Matrices Indices de columna 0 1 b Indices de fila 0 1 Programación Orientada a Objetos 1 2 El valor de b[1,1] es 4 3 4 20 10 Declaración e inicializando Matrices con diferente longitud de fila La primera fila tiene 2 columnas y la segunda fila tiene 3 columnas Programación Orientada a Objetos 21 Declaración e inicializando de Matrices usando expresiones Por defecto los arreglos se inicializan en 0 Programación Orientada a Objetos 22 11 Accediendo valores individuales de una matriz Observe el uso del doble [] Programación Orientada a Objetos 23 Función que recorre e imprime toda la matriz Programación Orientada a Objetos 24 12 Las Matrices pasan por referencia Las matriz “c” pasa por referencia al método “ImprimirArray2” Observe el uso del for abreviado en las matrices Programación Orientada a Objetos 25 Bibliografía Paul Deitel. Deitel. Como programar en Java 7/e. Pearson Education Education.. 2007. Eckel,, Bruce, “Thinking Eckel “Thinking in Java, 2nd. Edition Edition”, ”, C. Thomas Wu. Wu. An Introduction to Object Oriented Programming with Java Programación Orientada a Objetos 26 13