Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
1 Ing. Marcelo Parisholon sw Arreglos en Java 2 Ing. Marcelo Parisholon sw Objetivos Al finalizar la lección, el estudiante debera ser capaz de:: ● Declarar y Crear Arreglos ● Acceder a elementos del Arreglo ● Determinar el numero de elementos de un Arreglo ● Declarar y Crear Arreglos Multidimensional 3 Ing. Marcelo Parisholon sw Introduccion a los Arreglos ● Supongamos que tenemos tres variables de tipo int con diferentes identificadores para cada una de ellas: int number1; int number2; int number3; number1 = 1; number2 = 2; number3 = 3; Como se puede ver, esto parece ser una tarea tediosa de declarar e inicializar variables especialmente si serán utilizadas con igual propósito. 4 Ing. Marcelo Parisholon sw Introduction to Arrays ● En java como en otros lenguajes de programacion, tiene la capacidad que podemos utilizar donde utilizamos una variable para almacenar una lista de valores y poderlos manipularlos mas eficientemente. Este tipo de variable se denominan Arreglos (arrays). ● Un arreglo almacena multiples valores de items de datos del mismo tipo, en un bloque continuo de memoria, dividido en una cantidad de ranuras/celdas. 5 Ing. Marcelo Parisholon sw Declarando Arreglos ● Para declarar arreglos, se escribe el tipo de datos seguido por corchetes [], y a continuacion el nombre del identificador. ● Ejemplo, int []ages; o int ages[]; 6 Ing. Marcelo Parisholon sw Inicializacion de Arreglos ● Despues de la declaración, debemos crear un arraglo y especificar su longuitud con una sentencia de construcción ( invocacion a un constructor del tipo de dato o clase). ● Definiciones: – Instanciacion ● En Java, significa creación – Constructor ● Para instanciar un objeto, necesitamos utilizar un constructor de este. Un constructor es un método que es invocado para crear un objeto determinado. ● Estos conceptos se profundizaran posteriormente. 7 Ing. Marcelo Parisholon sw Instanciación de Arreglos ● Para instanciar (o crear) un arreglo, escribir la palabra reservada new , seguida la cantidad de elementos que se desean en el arreglo entre corchetes. ● Ejemplo, //declaration int ages[]; //instantiate object ages = new int[100]; o, puede utilizar también, //declare and instantiate object int ages[] = new int[100]; 8 Ing. Marcelo Parisholon sw Instanciación de Arreglos 9 Ing. Marcelo Parisholon sw Instanciación de Arreglos ● Se puede instanciar un arreglo directamente iniciandolo con datos. ● Ejempo, int arr[] = {1, 2, 3, 4, 5}; Esta sentencia declara un arreglo de enteros y lo inicializa con un array de 5 elementos. 10 Ing. Marcelo Parisholon sw Programa ejemplo 1 //creates an array of boolean variables with identifier 2 //results. This array contains 4 elements that are 3 //initialized to values {true, false, true, false} 5 boolean results[] = { true, false, true, false }; 7 //creates an array of 4 double variables initialized 8 //to the values {100, 90, 80, 75}; 10 double []grades = {100, 90, 80, 75}; 12 //creates an array of Strings with identifier days and 13 //initialized. This array contains 7 elements 15 String days[] = { “Mon“, “Tue“, “Wed“, “Thu“, “Fri“, “Sat“, “Sun“}; 11 Ing. Marcelo Parisholon sw Acceso a elementos de un Arreglo ● Para acceder a un elemento de un arreglo, o parte de un arreglo, se utilizar un numero denominado indice o subindice. ● Numero indice o subindice – Es asignado a cada elemento miembro del arreglo para permitir el acceso individual a un elemento en particular. – Comienza con Cero y se incrementa secuencialmente hasta el final del arreglo. – NOTA: Los elementos dentro de su arreglo van desde 0 hasta (tamañoDelArreglo-1). 12 Ing. Marcelo Parisholon sw Acceso a un elemento de Arreglos ● Por ejemplo, utilizando el arreglo que declaramos anteriormente: //assigns 10 to the first element in the array ages[0] = 10; //prints the last element in the array System.out.print(ages[99]); 13 Ing. Marcelo Parisholon sw Acceso a elementos de un Arreglo ● NOTA: – Luego de declarar y contruir un arreglo, los valores almacenados para cada miembro del arreglo serán inicializados en Cero para los datos numéricos. – Para tipos de datos referenciados como Strings, no son inicializados a blancos o cadena vacia (“”). Por lo tanto debemos poblar/rellenar los arreglos de String explicitamente. 14 Ing. Marcelo Parisholon sw Acceso a elementos de un Arreglo ● El siguiente codigo ejemplo muestra como imprimir todos los elementos de un arreglo. Utiliza un bucle for. 1 public class ArraySample{ 2 public static void main( String[] args ){ 3 int[] ages = new int[100]; 4 for( int i=0; i<100; i++ ){ 5 System.out.print( ages[i] ); 6 } 7 } 8 } 15 Ing. Marcelo Parisholon sw Guias de Codigicación 1. Es usualmente mejor inicializar el arreglo luego de declararlo. Por ejemplo, int []arr = new int[100]; es preferente antes que, int []arr; arr = new int[100]; 16 Ing. Marcelo Parisholon sw Guia de Codificación 2. Los elementos de un arreglo de n valores tienen indices que van desde 0 hasta n-1. Note que no hay elemento en la posición n. Esto dará una excepcion de indice de arreglo fuera de limintes. 3. Recuerde: No es posible cambiar el tamaño de un arreglo. 17 Ing. Marcelo Parisholon sw Longuitud de un Arreglo ● Para obtener la cantidad de elementos que tiene un arreglo se utiliza el campo length del arreglo. ● El campo length de un arreglo devuelve el tamaño del arreglo. Lo podemos utilizar de la siguiente manera, arrayName.length 18 Ing. Marcelo Parisholon sw Longuitud de un Arreglo 1 public class ArraySample { 2 public static void main( String[] args ){ 3 int[] ages = new int[100]; 5 for( int i=0; i<ages.length; i++ ){ 6 System.out.print( ages[i] ); 7 } 8 } 9 } 19 Ing. Marcelo Parisholon sw Guia de Codificación 1. Cuando se crean bucles para procesar los elementos de un arreglo debemos utilizar el campo length en la condición de control del bucle. Esto permitira ajustar el bucle automaticamente el codigo a diferentes tamaños de arreglos. 2. Declare los tamaños de los arreglos con constantes para facilitar el cambio. Por ejemplo, final int ARRAY_SIZE = 1000; //declare a constant . . . int[] ages = new int[ARRAY_SIZE]; 20 Ing. Marcelo Parisholon sw Arreglos Multidimensionales ● Los arreglos multidimensionales estan implementados como arreglos de arreglos. ● Arreglos Multidimensionales son declarados con el tipo de datos , agregando el apropiado numero de pares de corchetes de acuerdo a las dimensiones que posea y el nombre del identificador del arreglo. 21 Ing. Marcelo Parisholon sw Arreglos Multidimensionales ● Por ejemplo, // integer array 512 x 128 elements int[][] twoD = new int[512][128]; // character array 8 x 16 x 24 char[][][] threeD = new char[8][16][24]; // String array 4 rows x 2 columns String[][] dogs = {{ "terry", "brown" }, { "Kristin", "white" }, { "toby", "gray"}, { "fido", "black"} }; 22 Ing. Marcelo Parisholon sw Arreglos Multidimensionales ● Acceder a un elemento de un arreglo multidimensional es similar al acceso de un arreglo de una dimensión. ● Por ejemplo, para acceder al primer elemento de arreglo dogs: System.out.print( dogs[0][0] ); Visualizará el String "terry" en la pantalla. 23 Ing. Marcelo Parisholon sw Resumen ● Arreglos – Definición – Declaración – Instanciacion y Costructores ( una introducción ) – Acceso a un elemento – El campo length – Arreglos multidimensionales
Compartir