E N D
ProgramaciónJAVA Javier Felipe Moncada Sánchez Yenny Espinosa Gómez
Que es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. • Lenguaje de programación con elementos de C, C++ y otros lenguajes. • Unido a un gran conjunto de Bibliotecas. • Con un soporte de ejecución estándar y una maquina Virtual.
La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java CommunityProcess, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre. Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java CommunityProcess, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java aún no lo es).
Filosofía Java El lenguaje Java se creó con cinco objetivos principales: • Debería usar la metodología de la programación orientada a objetos. • Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos. • Debería incluir por defecto soporte para trabajo en red. • Debería diseñarse para ejecutar código en sistemas remotos de forma segura. • Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.
Características Principales • Orientada a Objetos. • Totalmente Portable • Lenguaje Interpretado (compilado a código intermedio, no a código máquina) • Java Virtual Machine (JVM) • ByteCode: Independiente de la maquina • Gestión Automática de Memoria Dinámica • Recolector de basura (GarbageCollector) • Case Sensitive (Sensible a Mayús. / Minus.).
Compilador: javac • Interprete: java • Plataforma de ejecución: JRE (Java RuntimeEnvironment): • Incluye JVM • Plataforma de desarrollo: Java SDK (Java Software Development Kit): • Incluye Compilador, etc. • Incluye JRE
Tres Sabores (Java) • Aplicaciones tipo “standalone”, sobre una maquina virtual (JVM). • Aplicaciones tipo “applet”, lista para descargarse en su JVM tipo “sandbox”. • Aplicaciones tipo “servlet”, que se ejecutan en un contenedor de servlets (Tomcat).
Aplicaciones Autónomas Java • Hoy en día existen multitud de aplicaciones gráficas de usuario basadas en Java. El entorno de ejecución Java (JRE) se ha convertido en un componente habitual en los PC de usuario de los sistemas operativos más usados en el mundo. Además, muchas aplicaciones Java lo incluyen dentro del propio paquete de la aplicación de modo que se ejecuten en cualquier PC. • En las primeras versiones de la plataforma Java existían importantes limitaciones en las APIs de desarrollo gráfico. Desde la aparición de la biblioteca Swing la situación mejoró substancialmente y posteriormente con la aparición de bibliotecas como SWT hacen que el desarrollo de aplicaciones de escritorio complejas y con gran dinamismo, usabilidad, etc. sea relativamente sencillo.
Que es un Applet Java • Las applet Java son programas incrustados en otras aplicaciones, normalmente una página Web que se muestra en un navegador. • Aplicación sencilla con una API limitado. • No puede escribir / leer archivos. • No puede hacer cualquier llamado al sistema. • Se descarga del sitio web para ejecutarse en la MV en la plataforma cliente. • Los applets ofrecen un entorno de ejecución muy seguro
Que es un servlet Java • Los servlets son objetos que corren dentro del contexto de un contenedor de servlets (ej: Tomcat) y extienden su funcionalidad. También podrían correr dentro de un servidor de aplicaciones (ej: OC4J Oracle), que, además de contenedor para servlet, tendrá contenedor para objetos más avanzados, como son los EJB (Tomcat sólo es un contenedor de servlets). • La palabra servlet deriva de otra anterior, applet, que se refería a pequeños programas que se ejecutan en el contexto de un navegador web. Por contraposición, un servlet es un programa que se ejecuta en un servidor. • El uso más común de los servlets es generar páginas web de forma dinámica a partir de los parámetros de la petición que envíe el navegador web.
Paquetes en Java • Paquetes. • Concepto que permite englobar en una misma idea varias clases. • Semejanza con estructura de directorios. Puede haber una jerarquía. En compilación, se generan directorios físicos. • Se usa el operador punto ‘.’ para poder acceder a las clases de un paquete o a los subpaquetes. • Visibilidad de paquete. • Pública: Se permite usar esa clase desde otro paquete. • No pública: Sólo se puede usar esa clase desde ese paquete.
Comentarios en Java • Comentarios. Hay 3 tipos. • De Bloque: Comienzan por “/*” y terminan por “*/”. No se permiten anidaciones. • De Línea: Definidos por “//”. • De Documentación: Permiten insertar texto en las páginas web generadas con la herramienta “javadoc” del JDK. Comienzan por “/**” y terminan por “*/”. Se suelen poner en ciertos puntos: • Antes de una clase. • Antes de un atributo. • Antes de un método. • @param id • @return • @throwsException
Variables • Deben comenzar por un alfanumérico y tener dicho nombre máximo 255 caracteres. • El nombre de la variable no puede contener caracteres prohibidos (% * &) • Necesario declarar la variable antes de utilizarla. • Pueden ser public, private, static, protected.
Entrada y Salida (I/O) System.in - Este objeto implementa la entrada estándar (normalmente el teclado). Los métodos que nos proporciona para controlar la entrada son: • read(): Devuelve el carácter que se ha introducido por el teclado leyéndolo del buffer de entrada y lo elimina del buffer para que en la siguiente lectura sea leído el siguiente carácter. Si no se ha introducido ningún carácter por el teclado devuelve el valor -1. • skip(n): Ignora los n caracteres siguientes de la entrada. System.out - Este objeto implementa la salida estándar. Los métodos que nos proporciona para controlar la salida son: • print(a): Imprime a en la salida, donde a puede ser cualquier tipo básico Java ya que Java hace su conversión automática a cadena. • println(a): Es idéntico a print(a) salvo que con println() se imprime un salto de línea al final de la impresión de a. System.err - Este objeto implementa la salida en caso de error. Normalmente esta salida es la pantalla o la ventana del terminal como con System.out, pero puede ser interesante redirigirlo, por ejemplo hacia un fichero, para diferenciar claramente ambos tipos de salidas. • Las funciones que ofrece este objeto son idénticas a las proporcionadas por System.out. JOptionPage.showInputDialog y JOptionPane.showMessageDialog