Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Definicion.
Definicion de JDK
IDES
Elegir nuestro IDE para programar en Java no debe ser una decisión difícil; sin
embargo, se debe tomar en cuenta las funciones que éste incorpore, lo cual facilitará
nuestras labores. Así, por muy bueno que sea un IDE, si no incluye las funciones que
requerimos de nada nos servirá.
Eclipse
Empezamos la lista con el que es quizás el IDE Java más popular, aunque para
algunos, esto no precisamente lo haga ser el mejor. Desarrollado originalmente por
IBM, Eclipse es un IDE multiplataforma de código abierto actualmente
desarrollado por la fundación Eclipse.
Ventajas:
Desventajas:
Netbeans
Desarrollado inicialmente por Sun Microsystem, y ahora propiedad de
Oracle, Netbeans es gratuito y de código abierto. Una de las ventajas de
usar este IDE es la facilidad con la que se pueden crear aplicaciones
con interfaz gráfica gracias a la función Drap and Drop. Con este IDE
podremos desarrollar todo tipo de aplicaciones Java como Web, J2SE,
EJB y aplicaciones móviles. Soporta los lenguajes de programación Java,
C/C++, XML, HTML, PHP, Groovy, Javadoc, JavaScript y JSP. Este IDE
es ideal para los que recién empiezan en la programación, aunque la
facilidad con la que se pueden crear interfaces gráficas puede
hacernos dependientes de los botones arrastar y soltar,
olvidándonos de la programación en sí. El software está disponible
para los Sistemas Windows, Linux y Mac.
Ventajas:
Desventajas:
o Genera código basura al usar los botones de arrastrar y soltar.
o Las librerías y complementos hacen que sea “muy pesado”.
IntelliJ IDEA
Desarrollado por JetBrains, este IDE incluye una versión gratuita
(Community) y otra de pago (Ultimate) con algunas funciones
adicionales. La versión Community ofrece soporte para Java, Groovy,
Kotlin, XML, JSON, YAML; mientras que la versión Ultimate soporta
lenguajes como JavaScrip, TypeScript, SQL, XSL, XPath, además de los
soportados en la versión Commnity. Algunos otros lenguajes como Ruby,
Phyton o PHP también son soportados por medio de plugins. Para un
programador Java, la versión Community puede ser suficiente;
aunque si su cometido es desarrollar proyectos profesionales o para
empresas de gran tamaño, deberá adquirir la versión de pago (por
suscripción). El programa está disponible para Windows, Linux y Mac.
Ventajas:
o Herramientas de desarrollo.
o Soporte de Frameworks.
o Atajos de teclado.
o Enfocado a proyectos complejos.
o Soporte técnico (Solo para la versión de pago).
Desventajas:
JCreator
JCreator es el IDE Java Comercial y propiedad de Xinox
Software. Ofrece dos ediciones de pago: JCreator Lite con funciones
más que suficientes para un programador Java; y JCreator Pro con
algunas funciones extra como CVS y el Depurador JDK. A diferencia de
otras aplicaciones para programar en java, JCreator está escrito en
C++, lo cual hace que sea más rápido que otros IDEs escritos en
Java. Cuando necesite compilar su aplicación, no es necesario
seleccionar el documento principal de su proyecto, JCreator lo detecta
automáticamente. El software está disponible solo para Windows.
Ventajas:
o Gestión de proyectos.
o Plantillas de proyecto.
o Interfaz de depuración independiente.
o Interfaz de usuario totalmente personalizable.
Desventajas:
jGRASP
jGRASP es el más ligero de las aplicaciones para programar en Java
aquí mencionados. El nombre de GRASP son las siglas de
“Representaciones gráficas de algoritmos, estructuras y procesos”.
Ofrece funcionalidades básicas, por lo que es ideal para estudiantes que
recién empiezan a programar en Java. Proporciona visualizaciones de
software CSD, Diagramas de Clase UML, así como vistas Dinámicas
y vistas Canvas. Produce CSD (diagramas de estructuras de control)
para Java, Python, C , C ++, Objective-C, Ada y VHDL. Puede ejecutarse
en Sistemas con una máquina virtual Java instalada. Está disponible para
Windows, Mac y Linux.
Ventajas:
Desventajas:
Librerias
JUnit
guava
Es un conjunto de librerías desarrolladas por Google, dividido en tres grupos:
Utilidades básicas para reducir labores menores para implementar métodos y
comportamientos comunes.
Una extensión a Java collections framework (JCF) anteriormente llamada Google
Collections Library.
Utilidades que proporcionan características convenientes y productivas tales como
programación funcional, almacenamiento en caché, objetos de rango y hashing.
https://github.com/google/guava
log4j
Log4j es una biblioteca open source desarrollada en Java por la Apache Software
Foundation que permite a los desarrolladores de software escribir mensajes de registro,
cuyo propósito es dejar constancia de una determinada transacción en tiempo de
ejecución
https://logging.apache.org/log4j/2.x/
Logback Project
Este proyecto es un intento de sustituir a log4j, escrito por el mismo creador. Dividido
en tres módulos:
logback-core.
logback-classic
logback-access.
https://logback.qos.ch/
slf4-api, slf4j-log4j12
Simple Logging Facade for Java (SLF4J). Te permite generar registros de la ejecución
de tu código Java, ofrece métodos de registro que aceptan marcadores. SLF4J fue
creado como una alternativa más confiable al Jakarta Commons Logging framework.
https://www.slf4j.org/
spring-context
Spring-contex es un contenedor de Inversión de Control (IoC), te permite instanciar,
configurar y ensamblar beans leyendo metadatos de configuración de archivos XML,
anotaciones Java y/o código Java en archivos de configuración.
https://projects.spring.io/spring-framework/
httpclient
HttpClient busca llenar el vacío del paquete java.net aumentando la funcionalidad y
flexibilidad al acceder a recursos via HTTP, de forma eficiente, actualizada y rica en
características para implementarse del lado cliente con los estándares y
recomendaciones de HTTP más recientes.
https://hc.apache.org/httpcomponents-client-ga/
joda-time
Es básicamente un reemplazo de mayor calidad para las clases de fecha y hora que
originalmente fueron creadas para Java. Muy recomendable.
http://www.joda.org/joda-time/
testng
Es un framework de pruebas inspirado en JUnit y NUnit, pero introduce algunas nuevas
funcionalidades que lo hacen más potente y fácil de usar.
http://testng.org/doc/index.html
JDOM
Es una popular biblioteca de analizador de DOM que se utiliza ampliamente en muchas
aplicaciones java para analizar XML.
http://www.jdom.org/
Xerces
Otro analizador de XML bastante popular.
http://xerces.apache.org/xerces-j/
Gson
Una estupenda librería para parseo de JSON creada por Google.
https://github.com/google/gson
JFreeChart
Es la biblioteca gráfica ampliamente utilizada para crear una gran variedad de gráficos
de buena apariencia. Permite a los usuarios generar gráficos circulares de barras,
diagrama de series de tiempos, diagrama de Gantt, histogramas, gráficos X-Y y varios
gráficos específicos.
http://www.jfree.org/jfreechart/
JasperReports
Una completa biblioteca de funciones ricas para crear documentos PDF y gráficos.
También disponible con soporte empresarial.
http://community.jaspersoft.com/
Commons Math
Aborda los problemas más comunes de matemáticas y estadísticas que no están
disponibles en el lenguaje de programación Java.
http://commons.apache.org/proper/commons-math/
1. Escribir el import
La clase Scanner se encuentra en el paquete java.util por lo tanto se debe incluir al
inicio del programa la instrucción:
import java.util.Scanner;
Ejemplos de lectura:
Para leer podemos usar el método nextXxx() donde Xxx indica en tipo, por ejemplo
nextInt() para leer un entero, nextDouble() para leer un double, etc.
int n;
n = sc.nextInt();
double x;
x = sc.nextDouble();
String s;
s = sc.nextLine();
import java.util.Scanner;
String nombre;
double radio;
int n;
Tipos de datos
Tipos estáticos: Casi todos los tipos de datos son estáticos, la excepción son
los punteros y no se tratarán debido a su complejidad. Que un tipo de datos
sea estático quiere decir que el tamaño que ocupa en memoria no puede
variar durante la ejecución del programa. Es decir, una vez declarada una
variable de un tipo determinado, a ésta se le asigna un trozo de memoria
fijo, y este trozo no se podrá aumentar ni disminuír.
Tipos simples: Como su nombre indica son los tipos básicos en Pascal. Son
los más sencillos y los más fáciles de aprender. Por todo esto, serán en los
que nos centremos.
Los tipos simples más básicos son: entero, lógico, carácter y real. Y la
mayoría de los lenguajes de programación los soportan, no como ocurre
con los estructurados que pueden variar de un lenguaje a otro.
Tipos ordinales: Dentro de los tipos simples, los ordinales son los más
abundantes. De un tipo se dice que es ordinal porque el conjunto de
valores que representa se puede contar, es decir, podemos establecer una
relación uno a uno entre sus elementos y el conjunto de los números
naturales.
Tipos no-ordinales: Este tipo nos sirve para declarar variables que pueden
tomar valores dentro del conjunto de los números reales.
A diferencia de los tipos ordinales, los no-ordinales no se pueden contar.
No se puede establecer una relación uno a uno entre ellos y los número
naturales. Dicho de otra forma, para que un conjunto se considere ordinal
se tiene que poder calcular la posición, el anterior elemento y el siguiente
de un elemento cualquiera del conjunto.
Los operadores: son símbolos que indican cómo se deben manipular los
operandos. Los operadores junto con los operandos forman una expresión,
que es una fórmula que define el cálculo de un valor. Los operandos
pueden ser constantes, variables o llamadas a funciones, siempre que éstas
devuelvan algún valor.
Tipos de operadores:
Tipos de expresiones:
Logica: una variable logica es aquella que solo toma o guarda valores
logicios: 0, 1 o bien falso, verdadero. Alfanumerica: esta formada por
caracter alfanumericos (letras, numeros y caracteres especiales)