Arreglos Java arrays. Anotaciones de clase. PDF

Title Arreglos Java arrays. Anotaciones de clase.
Author Mario QG
Course Programacion
Institution Instituto Tecnológico de Hermosillo
Pages 14
File Size 530 KB
File Type PDF
Total Downloads 17
Total Views 163

Summary

Fundamentos de programación. Los arrays o arreglos en Java, agrupan valores del mismo tipo guardados en una misma variable y accesible a cada valor de forma independiente, pueden ser unidimensionales o multidimensionales, generalmente son usados cuando necesitamos utilizar muchas variables del mismo...


Description

Organización de Datos.

Arreglos Java arrays Los arrays o arreglos en Java, agrupan valores del mismo tipo guardados en una misma variable y accesible a cada valor de forma independiente, pueden ser unidimensionales o multidimensionales, generalmente son usados cuando necesitamos utilizar muchas variables del mismo tipo y para manejar tantos datos se hace muy complicado, es mejor usar un arrays en Java. ¿Qué es un arreglo? Un arreglo es un grupo de elementos finitos, homogéneos y ordenados.  Finito: Un arreglo tiene un límite definido en la memoria del computador.  Homogéneo: Solo se podrá almacenar datos de 1 solo tipo.  Ordenado: Se almacenaran los datos de forma ordenada Declaración de un Array en Java  Se debe indicar al compilador que es un arreglo con “[ ]”;  Tipo [ ] identificador;  Tipo identificador [ ] ;  Hay que tener en cuenta que en java no se permite indicar el número de elemento en la declaración.  Importante: Los valores por defecto en java:  Para los numero es 0  Para las cadenas es NULL o Vacío.  Para los booleanos es false Creación de un Array en Java.  Java interpreta a un array como referencia a un objeto.  Por lo tanto para crear el objeto array usa el operador new junto al tipo de elemento que va a guardar el array.  Se debe especificar el número de elementos del array int numeros[]= new int[10]; Subíndices de un arrays.  El índice de un array se denomina también subíndice del array.  El término procede de las matemáticas.  El error más común es querer acceder a un elemento fuera del rango establecido.

Fundamentos de Programación

Página 1

Organización de Datos. int numeros[]= new int[10]; números[1]=20; números[2]=40; system.out.println(números[1]);

System.out.println(números[1]); Imprime 20 Tamaño de los arrays  Java considera a un array como un objeto con la capacidad de almacenar elementos.  El tamaño del arreglo depende de las necesidades del programa  Por ese motivo en Java podemos declarar el arreglo y después definirlo Int arreglo[] Arreglo = new int[6]; Verificación del índice de un array  Java verifica el rango del arreglo (Lenguaje C no lo hace).  Al detectar un array el ingreso o acceso a un elemento fuera de los índices establecidos. Java provoca que el programa rompa el tiempo de ejecución generando una excepción. double arreglo = new double[2]; arreglo[0]=2.8; arreglo[1]=3.6; system.out.println(arreglo[2]); Al ejecutar marca este error (desbordamiento del arreglo)

El error se produce el ejecutar el programa. Fundamentos de Programación

Página 2

Organización de Datos. Inicialización de un array en Java  En java se pueden inicializar un arreglo con valores constantes en una secuencia que además determinan su tamaño  Todas las contantes que se coloquen en un arreglo se separan con comas y se encierran entre llaves.  Importante:  Las llaves solo nos indican la inicialización de un array no en sentencias de asignación posteriores. public class Letra { public static void main(String[] args) { char arreglo[] = {'a', 'b', 'c', 'd', 'e'}; System.out.println(arreglo[2]); } } Copia de arreglos en Java  Para realizar copias de arreglos hay que tener en cuenta una observación muy importante  Recordar que un array en java es un objeto por lo tanto la variable que nombra el array en realidad es un puntero al objeto. public class Numero { public static void main(String[] args) { int arr1[] = new int[4]; arr1[0]=10; arr1[1]=20; arr1[2]=30; arr1[3]=40; int arr2[] = new int[2]; arr2=arr1; System.out.println(arr2[3]); } } Vea porque es tipo puntero. Declaro arr2[2] con dos índices {0 y 1} pero le paso 4 elementos de arr1[4] {0, 1, 2, 3} y lo puede hacer.

Fundamentos de Programación

Página 3

Organización de Datos. Copia de arreglos en Java  La clase System nos proporciona una herramienta arraycopy y admite 5 argumentos.  Origen  Índice del array Origen(empieza la copia)  Destino de la copia  Posición destino (desde donde se inserta).  Número de elementos a copiar System.arraycopy(arr1, 0, arr2, 0, 3); public class Numero { public static void main(String[] args) { int arr1[] = new int[4]; arr1[0]=10; arr1[1]=20; arr1[2]=30; arr1[3]=40; int arr2[] = new int[4]; System.arraycopy(arr1, 0, arr2, 0, 3); System.out.println(arr2[2]); } } Arrays Multidimensionales  Los arrays multidimensionales se caracterizan por tener más de un subíndice(dependiendo de la dimensión en la que se quiera trabajar).  Los más utilizados son los arrays bidimensionales o también llamados matrices

Fundamentos de Programación

Página 4

Organización de Datos. Inicialización de arrays multidimensionales  Java requiere que cada dimensión esta encerrada entre corchetes.  Un array de dos dimensiones en realidad es un array de array  Los elementos de los arrays se almacenan en memoria de modo que el subíndice más próximo al nombre del array es la fila y el otro es la columna.  La forma de inicializar un arreglo multidimensional es encerrando entre llaves la lista de constantes  Cada lista debe separarse por comas(que será la fila) Inicialización de arrays multidimensionales  Índices 1 2 3 4 1 1 2 3 4 2 5 6 7 8 3 9 10 11 12 4 13 14 15 16  int matriz[][]={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16}};

Codigo completo public class Numero { public static void main(String[] args) { int matriz[][]={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16}}; System.out.println(matriz[2][3]); } } Acceso a los elementos de arrays bidimensional  Para acceder a un elemento en un arreglo bidimensional se debe especificar los índices de fila y la columna.  Para llenar toda la matriz se realizaría así. Fundamentos de Programación

Página 5

Organización de Datos.  for (int r=0; r < 4; r++) { for (int c=0; c < 4; c++){ matriz[r][c]=num; num++; } } Código completo public class Numero { public static void main(String[] args) { int matriz[][] = new int[4][4]; int num=1; for (int r=0; r < 4; r++) { for (int c=0; c < 4; c++){ matriz[r][c]=num; num++; } } System.out.println(matriz[2][3]); } } Arrays de más de dos dimensiones 0 1 0 1 0 1 1 2 3 4 5 6 8

Utilización de Array como parámetros  En java las variables tipo primitivo se pasan como valor  El array al ser un objeto se pasara como referencia a la dirección del objeto Fundamentos de Programación

Página 6

Organización de Datos. Cadena Clase String  Java crea un array de caracteres, a ese array se le accede a través de la función miembro de la clase.  A una cadena String se le puede conocer de 2 maneras:  Implícitamente: Java crea un objeto de la clase String automáticamente. System.out.print("Un Texto Implicito ");  Explícitamente: El programador debe crear y declarar al objeto String String cadena = new String("Creando mi string explicito"); Código completo public class Cadena { public static void main(String[] args) { String cadena = new String("Creando mi string explicito"); System.out.println(cadena); } } Declaración de las variables cadenas  Al colocar lo siguiente: String cadena; Solamente estamos declarando, pero no creamos ningún objeto de la clase String.  La forma correcta de crear seria:  String cadena = new String("Hola Venadito");  String cadena1 = "Hola como estas ? "; Código completo. public class Cadena { public static void main(String[] args) { String cadena = new String("Hola Venadito"); String cadena1 = "Hola como estas ? "; System.out.println(cadena); System.out.println(cadena1); } }

Inicialización con un constructor String  Constructor de cadena Vacía: Crea una cadena sin caracteres, es una referencia a una cadena vacía. o String cadena = new String(); Fundamentos de Programación

Página 7

Organización de Datos. o System.out.println(cadena.length());  Constructor de cadena a partir de otra cadena: o String cadena1 = new String("ITH"); Codigo Completo. public class Numero { public static void main(String[] args) { String cadena = new String(); String cadena1 = new String("ITH"); System.out.println(cadena.length()); System.out.println(cadena1); } } Analice las salidas del programa. Inicialización con un constructor String  Constructor de cadena a partir de un objeto StringBuffer. StringBuffer cadena = new StringBuffer(); for (int i = 0; i < 100; i++) { cadena.append("ITH"); }  Constructor de cadena a partir de un array de caracteres. char caracteres[] = {'I', 'T', 'H', ' ', 'V','E', 'N','A','D','O'}; String frase = new String(caracteres);

Programas de Ejemplo que llenan del Texto ITH a una cadena con un for Opción 1. public class Cadena { public static void main(String[] args) { String cadena = new String(); for (int i = 0; i < 100; i++) { cadena += "ITH"; } System.out.println(cadena); Fundamentos de Programación

Página 8

Organización de Datos. } } Opción 2. public class Cadena { public static void main(String[] args) { StringBuffer cadena = new StringBuffer(); for (int i = 0; i < 100; i++) { cadena.append("ITH"); } System.out.println(cadena); } } Código de programa que construye una cadena desde un arreglo de caracteres. public class Numero { public static void main(String[] args) { char caracteres[] = {'I', 'T', 'H', ' ', 'V','E', 'N','A','D','O'}; String frase = new String(caracteres); System.out.println(frase); }

}

Métodos de String  toUpperCase  toLowerCase  length  charAt Métodos de String  replace  valueOf  equals

Fundamen

Investiga sobre los métodos de string enunciados arriba.

Organización de Datos.

Clase Vector  La clase Vector es parte del paquete java.util de la librería estándar de clases de Java.  La clase vector nos ofrece un funcionamiento similar al de los arreglos con la diferencia que el vector no está declarada para que sea un tipo particular;  Una solución es la de crear un array cuya dimensión sea más grande que el número de elementos que necesitamos guardar Creación de un vector  Se utiliza el operador new para crear el objeto vector.  La clase vector dispone de diversos constructores.  Crear un vector vacío  Crear un vector con los elementos de otro.  Crear un vector con una capacidad inicial.  Si se sobrepasa la dimensión establecida del vector, la dimensión del vector se duplicara y se desperdiciara el espacio de memoria: Insertar elementos  Añade un vector a continuación del último elemento  Insertar el objeto en la posición P, los elementos que están posteriormente a P se recorren una posición. Acceso a un elemento  Devuelve el elemento cuya posición es P  Devuelve el número de elementos Eliminar un elemento  Elimina elemento índice y el resto se renumera.  elimina la primera aparición de op, devuelve true si realiza la eliminación. Eliminar un elemento  Elimina todos los elementos. Búsqueda  Devuelve true si se encuentra el objeto  Devuelve la primera posición de op, -1 si no está.

Investigue sobre la clase Vector.

Fundamentos de Programación

Página 10

Organización de Datos.

Array o arreglo unidimensional Un array (o arreglo) unidimensional costa de una fila, es decir que solo trabaja en una dimensión, un beneficio de usar los arrays en Java, es que si deseamos guardar distintos valores del mismo tipo pero en una sola variable lo podemos hacer con estos arrays, su aplicación dependerá del tipo de proyecto que deseamos hacer, por ejemplo si queremos guardar las calificaciones de un conjunto alumnos podríamos utilizar un array unidimensional para generar sus notas de aprobación, etc. Sintaxis tipo nombre[]; Cuando declaramos un array unidimensional y queremos recorrer este array para obtener un valor guardado debemos recorrer desde la posición 0, ya que los arrays unidimensionales va desde el 0 hasta la posición n-1 donde n es igual al tamaño de nuestro array o arreglo unidimensional de Java. Array unidimensional Inicializando un array unidimensional en Java Los arreglos en la programación Java se pueden inicializar usando el operador new para crear la instancia del array indicando el tamaño. int calificaciones[]; //también puede ser valido int[] calificaciones; calificaciones = new int[10]; // Es el tamaño del array //Otra forma es declararlo todo a la vez int calificaciones[]=new int[10] Los array unidimensionales se pueden inicializar las veces que queramos, pero debemos tomar en cuenta que cuando hacemos esto perdemos todo el contenido del array guardado. int notas[]=new notas[42]; ... notas=new notas[31]; Asignación de valores en un array unidimensional en Java

Fundamentos de Programación

Página 11

Organización de Datos. Cuando queremos llenar el array unidimensional con valores, se pude realizar de varias maneras, se la pude hacer directamente cuando declaramos el array y asignarle un valor o declararlo posteriormente y lo podemos llenar con los valores que sean necesarios. calificaciones[2]=68; int calificaciones[] = {81, 21, 71}; int calificaciones[]= new int[] {81,21,71};//Es igual al anterior Gracias a las estructuras de control repetitivas while, do while o for de Java podemos rellenar y obtener fácilmente los valores de un array unidimensional. Un array unidimensional puede tomar los valores de otro array unidimensional, pero los dos array deben ser del mismo tipo. int notas[]; int ejemplo[]=new int[10]; notas=ejemplo; En el ejemplo anterior notas y ejemplo son del mismo tipo (int), por tal motivo se pueden pasar los valores. Ejemplo de un array (arreglo) unidimensional (una dimensión) en Java.  Elaborar un Programa que lea (guarde o almacene) 10 números de tipo entero en un arreglo de números y los imprima. En el    

ejemplo realizaremos lo siguiente: Declaramos el arreglo -> int numeros[]= new int[10]; Utilizamos un ciclo for para leer los datos: for (int k=0; k < 10; k++) Guardamos los datos en el arreglo: numeros[k]=teclado.nextInt(); Imprimimos los datos dentro de un for System.out.println(numeros[k]);

Código completo. import java.util.Scanner; /* * * Llenado de un arreglo Unidimensional (una dimensión) * Captura de los numeros del arreglo * Impresión de los datos del Arreglo */ public class Numeros { public static void main(String[] args) { Scanner teclado = new Scanner (System.in); Fundamentos de Programación

Página 12

Organización de Datos. int numeros[]= new int[10]; System.out.println("INTRODUZCA LOS NÚMERO A GUARDAR EN EL ARREGLO"); // leemos los datos y los guardamos en el arreglo for (int k=0; k < 10; k++) { System.out.print("Número [ "+ k + "] = "); numeros[k]=teclado.nextInt(); } //imprimimos los números del arreglo

}

System.out.println("\n\nLOS DATOS CAPTURADOS SON: "); for (int k=0; k < 10; k++) { System.out.println(numeros[k]); }

} Realizaremos el mismo programa pero ahora encontraremos e imprimiremos el número mayor encontrado en el arreglo. En el ejemplo realizaremos lo siguiente: Declararemos la variable nMayor y la inicializamos a 0: int nMayor=0;  Capturamos los números mediante un: for for (int k=0; k < 10; k++) Guardamos los números: numeros[k]=teclado.nextInt(); Recorremos el arreglo con un for: for (int k=0; k < 10; k++) Dentro del for comparamos con un if: if(nMayor < numeros[k]) Si se cumple hacemos la asignación: nMayor=numeros[k]; Imprimimos nMayor: System.out.println("\n\nEL NUMERO MAYOR CAPTURADO ES: " + nMayor); Código Completo. import java.util.Scanner; public class NumeroMayor { public static void main(String[] args) { Scanner teclado = new Scanner (System.in); int numeros[]= new int[10]; int nMayor = 0; Fundamentos de Programación

Página 13

Organización de Datos. System.out.println("INTRODUZCA LOS NÚMERO A GUARDAR EN EL ARREGLO"); // leemos los datos y los guardamos en el arreglo for (int k=0; k < 10; k++) { System.out.print("Número [ "+ k + "] = "); numeros[k]=teclado.nextInt(); } // Recorremos el arreglo para encontrar nMayor for (int k=0; k < 10; k++) { if(nMayor < numeros[k]) nMayor=numeros[k]; } //imprimimos el numero mayor System.out.println("\n\nEL NUMERO MAYOR CAPTURADO ES: " + nMayor); } }

Fundamentos de Programación

Página 14...


Similar Free PDFs