Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


POO en Java: Lectura y escritura de datos, arreglos y colecciones, Apuntes de Programación Java

Documento de apuntes sobre el tema de Programación Orienta a Objetos en Java, en el que se abordan conceptos como lectura y escritura de datos por consola, arreglos y colecciones. Se explica el uso de la clase Scanner para la lectura de datos, el manejo de arreglos estáticos y dinámicos, y la utilización de colecciones como ArrayList, HashSet y Map.

Tipo: Apuntes

2019/2020

Subido el 23/06/2020

e044
e044 🇪🇨

1 documento

1 / 15

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE
Nombre del estudiante: Elkin Vera Cadena
Carrera: Ingeniería de software
NRC: 6380
Asignatura: Programación Orientada a Objetos
Nombre del profesor: Pablo Xavier Parra
Moreira
Bitácora semana #4
2020 – 2021
Bitácora #4
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga POO en Java: Lectura y escritura de datos, arreglos y colecciones y más Apuntes en PDF de Programación Java solo en Docsity!

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE

Nombre del estudiante: Elkin Vera Cadena

Carrera: Ingeniería de software

NRC: 6380

Asignatura: Programación Orientada a Objetos

Nombre del profesor: Pablo Xavier Parra

Moreira

Bitácora semana

Bitácora #

Lectura y escritura de datos por consola La lectura y escritura de datos por consola son conceptos super importantes y fundamentales cuando en un programa se busca interactuar con el usuario. Entrada de datos. Desde java 1.5 se tiene disponible la clase Scanner que facilita la tarea de lectura de datos desde el teclado. En primer lugar se debe importar dicha clase del paquete java.util, posteriormente se la instancia pasándole el System.in y a partir de ahí se tienen a disposición muchos métodos que permiten la entrada de distintos tipos de datos. Imagen 1. Importación de la clase Scanner del paquete java.util. Autoría propia. Al momento de realizar la lectura de datos con la clase Scanner, se debe realizar de la siguiente manera: Scanner objetoInstanciado = new Scanner ¿ tipoDato nombreVariable = objetoInstanciado .metodoUtilizar ; Por ejemplo: Scanner scanner = new Scanner ¿ ∫ numero = scanner^.^ nextInt^ ()^ ;

Imagen 3. Salida de datos. Autoría propia. También se puede utilizar System.out.print(), teniendo como única diferencia al anterior explicado, es que al momento de la impresión no realiza un salto de línea automático al momento de terminar de imprimir por pantalla el mensaje. Arreglos Un arreglo es un tipo de objeto que contiene valores llamados elementos. A diferencia de las variables que son accedidas por un nombre, los elementos de un arreglo son accedidos por un índice que indica la posición (número) del elemento en el arreglo, dicho índice comienza en cero y puede extenderse hasta n. De esta manera se puede avanzar a través del arreglo, accediendo a cada uno de sus elementos.

Imagen 4. Arreglos diagrama. Autoría propia. Todos los arreglos deben cumplir con los siguientes conceptos:  Finito: Todos los arreglos tienen un límite, que indica cual es el número máximo de elementos que puede almacenar.  Homogéneo: Solo puede almacenar elementos de un mismo tipo de dato.  Ordenado: Se debe determinar cuál es el primer elemento, el segundo, el tercero, hasta el enésimo. Los arreglos se clasifican en:  Unidimensionales: Una sola dimensión. (Un índice)  Bidimensionales: Dos dimensiones. (Dos índices)  Multidimensionales: n dimensiones. (n índices) Arreglos estáticos. Array estático es un grupo de elementos homogéneo, que es declarado con una cantidad de elementos fija. Una vez declarado el arreglo, no se puede cambiar su tamaño. Su declaración se realizará en la cabecera de programa o cabecera de módulo. Este tipo de arreglos puede almacenar objetos o tipos de datos primitivos. Los arreglos estáticos se declaran de la siguiente forma:

tipoDato [ ] nombreArreglo = new tipoDato [ dimensi ón ] ;

Sin embargo, también se puede utilizar esta otra alternativa: Índice o subíndice. Indica la posición del elemento en el arreglo El nombre del arreglo es: a

una forma de crear nuestros propios arreglos dinámicos, y es indicando la dimensión del array en tiempo de ejecución y no en tiempo de desarrollo como en el caso de los estáticos. Tienen la misma declaración que los arreglos estáticos, lo único que cambia es que, en la dimensión, en vez de poner un valor fijo, se coloca una variable. ∫[^ ] a^ rreglo = new ∫ [^ x^ ]^ ; Con anterioridad a la declaración se pide por pantalla el valor de la variable x (dimensión del arreglo). Imagen 7. Declaración arreglos dinámicos. Autoría propia. Arreglos primitivos. Son arreglos que almacenan un tipo de dato primitivo determinado, no almacenan objetos, ya sean valores numéricos o caracteres. Los arreglos primitivos pueden contener los siguientes tipos de datos: Tipo primitivo Tamaño Mínimo Máximo boolean - - - char 16 bits Unicode 0 Unicode 0 byte 8 bits -128 + short 16 bits (^) − 215 + 215 − 1 int 32 bits (^) − 231 + 231 − 1 long 64 bits (^) − 263 + 263 − 1

float 32 bits (^) −3.4∗ 1038 +3.4∗ 1038 double 64 bits (^) −3.4∗ 10308 +3.4∗ 10308 Tabla 1. Tipos de datos que pueden almacenar los arreglos primitivos. Autoría propia. Arreglos de objetos. Son arreglos que almacenan objetos, los cuales son instancias de una clase ya definida que posee sus atributos y métodos propios. TIPOS OBJETO (con métodos, necesitan una invocación para ser creados) Tipos de la biblioteca estándar de Java String (cadenas de texto) Muchos otros (p.ej. Scanner, TreeSet, ArrayList…) Tipos definidos por el programador / usuario Cualquiera que se nos ocurra, por ejemplo, Taxi, Autobus, Tranvia arrays Serie de elementos o formación tipo vector o matriz. Lo consideraremos un objeto especial que carece de métodos. Tipos envoltorio o wrapper (Equivalentes a los tipos primitivos pero como objetos.) Byte Short Integer Long Float Double Character Boolean Tabla 2. Tipos referenciados que puede almacenar un arreglo de objetos. Obtenido de: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=419:tipos-de- datos-java-tipos-primitivos-int-boolean-y-objeto-string-array-o-arreglo-variables- cu00621b&catid=68&Itemid= Colecciones La API de colecciones de Java (Collections) de Java provee a los desarrolladores con un conjunto de clases e interfaces que facilitan la tarea de manejar colecciones de objetos. En

Para solo un tipo determinado de objetos: ArrayList < nombreClase > nombreLista = new ArrayList < nombreClase >( ) ; Métodos del ArrayList:  add(): Sirve para agregar elementos al array. Dentro del paréntesis se coloca el elemento a agregar.  size(): Devuelve la cantidad de elementos que posee la lista.  get(): Permite consultar información guardada en la lista. Dentro del paréntesis se coloca el índice del elemento del array que quiere ser consultado.  remove(): Sirve para eliminar determinado elemento. Dentro del paréntesis se coloca el índice del elemento del array el cual quiere ser eliminado. Interface Set. No se admiten objetos duplicados, por lo que cada elemento que se añada a un Set deber ser único. No garantiza el orden en que se encuentren almacenados los objetos que contenga. Set al ser una interfaz, es necesario instanciar una implementación concreta de la interfaz para poder usarla. La interfaz Set posee el siguiente grupo de clases:  HashSet  LinkedHashset  TreeSet Interface Map. Los mapas almacenan parejas de valores, relacionando un objeto (clave) con otro objeto (valor). Las claves no pueden estar duplicadas y solo puede tener un valor asociado. Los valores pueden estar dupliciados. La interfaz Map posee el siguiente grupo de clases:  HashMap  LinkedHashMap  TreeMap

Iterator. La interface Iterator también pertenece como las anteriores al framework Collections de Java. Esta interface nos permite iterar sobre una colección de elementos. Para ello hemos de implementar sus métodos, que son los siguientes: hasNext(), next(). Declaración de un Iterator: Iterator nombreIterador = nombreLista. iterator ( ) ; Métodos del Iterator:  hasNext(): Devuelve true si todavía existe un elemento en el array para poder seguir avanzando, caso contrario devuelve false.  next(): Devuelve el siguiente método dentro de la colección. Imagen 8. Declaración ArrayList, uso de métodos del ArrayList, declaración Iterator y uso de métodos del Iterator. Autoría propia.

Imagen 10. Representación de una asociación en UML. Autoría propia. Agregación. Es una relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación utiliza al objeto incluido para su funcionamiento. (Es una relación débil) En UML se le representa como una línea con un diamante blanco en el extremo en el que está la clase que representa el todo. Composición. Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido está condicionado por el tiempo de vida del que lo incluye. En este tipo de relación el objeto base se construye a partir del objeto incluido. (Es una relación fuerte) En UML se le representa como una línea con un diamante negro en el extremo en el que está la clase que representa el todo. Imagen 11. Representación de agregación y composición en UML. Autoría propia.

A continuación, partes de un programa que utiliza agregación y composición: Imagen 12. Agregación en un programa en Java. Autoría propia.