Está en la página 1de 37

Codo a Codo inicial

Clase 29 - 07-11-22
Les damos la bienvenida
Vamos a comenzar a grabar la clase
Formulario de presentismo
Link:
https://docs.google.com/forms/d/e/1FAIpQLSfZseT9YjG11fsX9lVbH9AV5zkiDa80p
jozZsILiqMSrhI0lg/viewform
Clase28
Clase 06 Clase 29 Clase 30

Repaso general Librerías Librerías

● Refuerzo de temas ● Conceptos y generalidades. ● Desafío práctico.


● API de Java.
● Bibliotecas Math y System.
Write Once, Run Anywhere
(Escríbelo una vez, ejecútalo en cualquier lugar)
29 - Librerías
Librerías en Java.
● En Java y en varios lenguajes de programación más,
existe el concepto de librerías.
● La traducción correcta es biblioteca, ya que por vicio del
lenguaje se traduce library a librería, pero en el común
librería y biblioteca se utilizan indistintamente.
● Una librería en Java se puede entender como un
conjunto de clases, que poseen una serie de métodos y
atributos que facilitan muchas operaciones.
Librerías en Java.

Las librerías en Java nos permiten reutilizar código, es


decir que podemos hacer uso de los métodos, clases y
atributos que componen la librería evitando así tener
que crear de cero esas funcionalidades.
Solución lista para ser utilizada
● Imaginemos cómo hacer un código para conseguir que
nuestra aplicación imprima algo por pantalla o conseguir
que nuestra aplicación pueda hacer uso de arreglos
dinámicos con cualquier tipo de dato.
● Podríamos codificar desde cero con la consecuente demanda
de tiempo que implica y subsiguientes procesos iterativos
de prueba y error.
● LO ANTERIOR NO ES LO ÓPTIMO.
Solución lista para ser utilizada
● Las librerías son soluciones instantáneas.
● Para imprimir texto en pantalla en Java basta con usar
System.out.print() y se puede hacer uso de ArrayList, para tener
arreglos dinámicos y demás.
● En Java, la clase System que pertenece a la librería java.lang (esta es
la librería estándar de Java y no es necesario importarla).
● ArrayList, es parte de la librería java.util. Hay que importarla.
● Las librerías poseen una gran cantidad de clases Java adicionales
que nos permiten llevar a cabo operaciones muy complejas con gran
facilidad.
Librerías propias y paquetes en Java
● Lo más interesante de las librerías en Java, es que nosotros
también podemos crearlas y hacer uso de ellas al interior de
nuestros proyectos, creando paquetes.
● Un paquete en Java puede ser una librería; sin embargo, una
librería Java completa puede estar conformada por muchos
paquetes.
● Al importar un paquete podemos hacer uso de las clases,
métodos y atributos que lo conforman, incluso podemos hacer
uso de un proyecto completo nuestro al interior de otro.
API de Java
● Java está conformado por una enorme cantidad de clases y
paquetes, es importante conocer las más comunes y útiles.
● La API de Java (Application Programming Interface) o
biblioteca de clases Java, contiene las clases predefinidas
agrupadas en categorías de clases relacionadas.
Ir a Java API
● En la API de Java se encuentran todas las clases que
componen el lenguaje, el paquete al que pertenecen, los
métodos que poseen, los atributos y una breve explicación
de cada uno de estos.
API de Java
● Todos los paquetes que provee Java constituyen la API
de Java.
● Pero podemos ser más especícos y, por ejemplo, decir
que el paquete java.net constituye la API de
networking y decir que el paquete java.sql contituye Ir a Java API
la API de acceso a bases de datos (o la API JDBC).
● Las APIs suelen documentarse en páginas HTML con
una herramienta que se provee como parte del JDK: el
javadoc.
Paquetes importantes de Java API
Paquete Descripción
Soporte del lenguaje, métodos matemáticos y del sistema, cadenas, y
excepciones.
java.lang
Este paquete lo importa el compilador en todos los programas; así que no se
necesita hacer nada para disponer de él.

Gestión de las entradas/salidas; a través de flujos de datos, sistemas de


java.io
archivos.

java.math Matemáticas, aritmética decimal y entera.

Redes (networking), TCP, UDP, scokets. Permite a los programas


java.net
comunicarse por medio de redes como internet.

Permite a los programas manipular números, fechas, caracteres y cadenas;


java.text
incluye utilidades de texto.
Paquetes importantes de Java API
Paquete Descripción
Tiene utilidades que facilitan manipulación de fechas y horas, procesos de
java.util
números aleatorios, soporte internacional, etcétera.

Applet Framework: métodos de control para crear applets de Java


java.applet
(programas que se ejecutan en los navegadores web).

java.sql SQL (lenguaje de base de datos), acceso y proceso de datos.

javax.swing Contiene los componentes de swing.

javax.script Soporte de lenguajes de guionado (scripting).

javax.print Servicios de impresión.


Algunas de las más importantes
● El paquete java.lang es el más importante; se lo
considera el estándar, todos los programas lo importan
automáticamente; contiene a las clases que encapsulan los
tipos de datos primitivos: Double, Float, Long, etcétera;
String y StringBuffer para el tratamiento de cadenas,
● Dentro de ella Math contiene las funciones matemáticas
mas importantes;
● Otras clases importantes de java.lang son Object, System
, Thread y Throwable.
Algunas de las más importantes
● El paquete java.util define un conjunto de clases para
distintos cometidos: Date sirve para manejo de fechas en
distintos formatos, Random genera números aleatorios,
Scanner es para entrada de datos al programa; este paquete
sí debe importarse si se utiliza alguna de sus clases o
interfaz.
import java.util.*; //para cualquier clase del
paquete
import java.util.Date; //sólo la clase Date
import java.util.Scanner; //sólo la clase Scanner
¿Cómo importar una librería?
● La sentencia import facilita la selección de una clase porque permite escribir únicamente su nombre,
evitando el nombre del paquete al llamarla en una clase. En Java básico esto es indistinto.
● La sentencia import debe aparecer antes de la declaración de las clases, a continuación de la sentencia
package; existen dos formatos:

import identificadorpaquete.nombreClase;

import identificadorpaquete.*;
● El “dot method”, o método de palabra-punto que sigue a la cláusula import está indicando el
camino para encontrar detereminada clase u objeto. Por ejemplo: java.util.Scanner, significaría
buscar dentro de la API de Java el paquete util y de alli traer el objeto Scanner con sus métodos.
Ventajas y desventajas de las llamadas

import identificadorpaquete.nombreClase;

● Este formato especifica una clase concreta;


● Sabemos qué clase estamos utilizando.
● La compilación es más rápida
Ventajas y desventajas de las llamadas

import identificadorpaquete.*;
● El segundo, utiliza el formato .*; el cual tiene la ventaja de simplificar cualquier
clase del paquete.
● Se pueden señalar los siguientes problemas:
● Se desconoce qué clases concretas del paquete se están utilizando.
● Puede haber colisiones entre nombres de clases declaradas en el archivo y
nombres de clases del paquete.
● Mayor tiempo de compilación debido a que el compilador busca la
existencia de cualquier clase en el paquete.
● Aunque aparezca la sentencia import paquete.*, el compilador genera byte-
code sólo para las clases utilizadas.
Clase Math
La clase Math - java.lang.Math
● La clase Math contiene constantes y métodos de uso
común en matemáticas. Todas las operaciones que se
realizan en esta clase utilizan el tipo double. Contiene
la constante pi (Math.PI) y el número de Euler
(Math.E).
Ir a Java API
● En las funciones trigonométricas, los ángulos se
expresan en radianes y los métodos devuelven valores
de tipo double.
● La clase Math incluye funciones como potenciación,
redondeo, cuadrado, raíz cuadrada y muchas más.
Utilización de los métodos
Para la utilización de un método predefinido en un
programa; es necesario conocer:
1. El nombre de la clase que contiene el método,
2. El nombre del paquete que contiene la clase para
importarla,
3. El nombre del método y el número de parámetros o
argumentos, así como su tipo y orden.
Utilización de los métodos
Math, como se mencionó, contiene potentes y útiles métodos
tales cómo pow, que se utiliza para calcular la potencia de x
en un programa; el modo de invocar al método es:
NombreClase.nombreMetodo(x,y,...)
Math.pow(x,y)= xy
Math.pow(4,3)= 43 = 64
Math.pow(16,0.5)= 160.5 = √16 = 4
x e y se denominan parámetros reales de pow, los valores
concretos serán sus argumentos.
Paquetes importantes de Java API
Métodos Descripción
Math.sqrt(x) raíz cuadrada de x (x ≥ 0)

Math.pow(x,y) xy (x>0, x = 0 y >0, x<0 e y entero)

Math.exp(x) ex

Math.log(x) logaritmo natural (ln(x), x > 0)

Math.round(x) entero más próximo a x (long)

Math.ceil(x) entero más pequeño ≥ x (double)


Paquetes importantes de Java API
Métodos Descripción
Math.floor(x) entero más largo ≥ x (double)

Math.abs(x) valor absoluto de x

Math.max(x,y) valor mayor de x e y

Math.min(x,y) valor menor de x e y

Math.sin(x) seno de x (x en radianes)

Math.cos(x) coseno de x (x en radianes)

Math.tan(x) tangente de x (x en radianes)


Paquetes importantes de Java API

Métodos Descripción
Math.asin(x) arco seno de x

Math.acos(x) arco coseno de x

Math.atan(x) arco tangente de x

Math.atan2(y,x) arco cuya tangente es y/x

Math.toRadianes(x) convierte x grados a radianes

Math.toDegrees(x) convierte x radianes a grados


Clase System
La clase System - java.lang.System
● Esta clase se utiliza con frecuencia, ya que es un depósito de
objetos asociados con entrada y salida estándar, y de
métodos útiles; sus métodos se definen como static, por lo
que para llamarlos se antepone el nombre de la clase:
System. Similar a como venimos trabajando en clases.
● System.in normalmente se corresponde con la entrada por Ir a Java API

teclado y se utiliza como argumento para el objeto de entrada


Scanner:
Scanner entrada = new Scanner(System.in);
La clase System - java.lang.System
● System.out, .out también es un método static; se lo llama
como tal en System.out normalmente se asocia con la
salida por pantalla/consola; es habitual la llamada a los
métodos
System.out.print() y Ir a Java API

System.out.println()
● El segundo se diferencia del primero en que, una vez
mandada la cadena a la pantalla, salta a la línea siguiente.
La clase System - java.lang.System
● Entre los métodos de la clase se encuentran exit() y gc().
● System.exit() termina la ejecución de una aplicación,
● Su declaración es:

static void exit(int estado);


Ir a Java API
● Se acostumbra que el argumento status sea 0 si la
terminación es sin errores, o un valor distinto de 0 para
indicar una anomalía.
La clase System - java.lang.System
● El método gc() (garbage collector) está declarado:
staic void gc();
● Llamando a System.gc(), hace que se active la
liberación en memoria ocupada por objetos creados
Ir a Java API
pero no referenciados por ninguna variable.
Desafíos
Desafío I de clase

Math es una clase diseñada para utilidades matemáticas; contiene una colección de funciones que se
pueden necesitar dependiendo del tipo de programación a realizar; por ejemplo: para calcular x n

Math.pow(x,n)
double x = 3;
double r = Math.pow(x,2);
System.out.println(“r = ” + r); // se visualiza 9

Para extraer la raíz cuadrada de un número se puede utilizar el método sqrt:


double q = 9.0;
double y = Math.sqrt(x);
System.out.println(“y= ” + y); // se visualiza 3
Herramientas que utilizamos en clases

IDE IntelliJ o VSCode+plugins


No te olvides de dar el presente
Recordá:
● Revisar la Cartelera de Novedades.
● Hacer tus consultas en el Foro.
● Realizá los ejercicios obligatorios.

Todo en el Aula Virtual.

También podría gustarte