Download introduccion-a-java

Document related concepts
no text concepts found
Transcript
Unidad I:
1.2 Elementos del Lenguaje
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
1.2.6
1.2.7
1.2.8
1.2.9
Historia de Java.
¿Qué es Java?
Características de Java.
La Máquina Virtual de Java (JVM).
Instalación y configuración del Java Development Kit (JDK)
Edición, compilación y ejecución de programas.
Creación y ejecución de aplicaciones
Creación y ejecución de Applets
Errores de programación.
1.2.9.1
Tipos de datos en Java.
1.2.9.2
Operadores y expresiones.
1.2.1 Historia de JAVA
Java es un lenguaje de programación orientado a objetos desarrollado por Sun
Microsystems a principio de los años 90´s.
En Diciembre de 1950 Patrick Naughton, ingeniero de Sun Microsystems, reclutó a varios
colegas entre ellos James Gosling y Mike Sheridan para trabajar sobre un nuevo proyecto
conocido como "El proyecto verde". Con la ayuda de otros ingenieros, empezaron a trabajar
en una pequeña oficina en Sand Hill Road en Menlo Park, California. Y así interrumpió todas
las comunicaciones regulares con Sun y trabajó sin descanso durante 18 meses.
Intentaban desarrollar una nueva tecnología para programar la siguiente generación de
dispositivos inteligentes, en los que Sun veía un campo nuevo a explorar. Crear un lenguaje
de programación fácil de aprender y de usar. En un principio se consideraba C++ como
lenguaje a utilizar, pero tanto Gosling como Bill Joy lo encontraron inadecuado. Gosling
intentó primero extender y modificar C++ resultando el lenguaje C++ ++ - (++ - porque se
añadían y eliminaban características a C++), pero lo abandonó para crear un nuevo lenguaje
desde cero al que llamo Oak (roble en inglés, según la versión más aceptada, por el roble
que veía a través de la ventana de su despacho).
El resultado fue un lenguaje que tenía similitudes con C, C++ y Objetive C y que no estaba
ligado a un tipo de CPU concreta. Más tarde, se cambiaría el nombre de Oak a Java, por
cuestiones de propiedad intelectural, al existir ya un lenguaje con el nombre de Oak. Se
supone que le pusieron ese nombre mientras tomaban café (Java es nombre de un tipo de
café, originario de Asia), aunque otros afirman que el nombre deriva de las siglas de James
Gosling, Arthur Van Hoff, y Andy Bechtolsheim.
En Agosto de 1991 Oak ya corría sus primeros programas.
Para 1992, el equipo ya había desarrollado un sistema en un prototipo llamado Star7 (*7),
dispositivo parecido a una PDA, cuyo nombre venía de la combinación de teclas del teléfono
de la oficina del Proyecto Green que permitía a los usuarios responder al teléfono desde
cualquier lugar.
Por su parte, el presidente de la compañía Sun, Scott McNealy, se dio cuenta de forma
oportuna y estableció el Proyecto Verde como una subsidiaria de Sun.
Después de mostrar a Scott McNealy y Bill Joy los prototipos de bajo nivel del sistema,
continuán con el desarrollo, incluyendo sistema operativo, Green OS; el lenguaje Oak, las
librerías, alguna aplicación básica y el hardware, hasta que el 3 de septiembre de 1992 se
termina el desarrollo y con ello el Proyecto Verde.
De 1993 a 1994, el equipo de Naughton se lanzó en busca de nuevas oportunidades en el
mercado, mismas que se fueron dando mediante el sistema operativo base.
La incipiente subsidiaria fracasó en sus intentos de ganar una oferta con Time-Warner, sin
embargo el equipo concluyó que el mercado para consumidores electrónicos smart y las
cajas Set-Up en particular, no eran del todo eficaces. La subsidiaria Proyecto verde fue
amortizada por la compañía Sun a mediados de 1994.
Afortunadamente, el cese del Proyecto Verde coincidió con el nacimiento del fenómeno
mundial WEB. Al examinar las dinámicas de Internet, lo realizado por el ex equipo verde se
adecuaba a este nuevo ambiente.
Patrick Naughton procedió a la construcción del lenguaje de programación Java que se
accionaba con un browser prototipo. El 29 de septiembre de 1994 se termina el desarrollo
del prototipo de HotJava. Cuando se hace la demostración a los ejecutivos de Sun, esta vez,
se reconoce el potencial de Java y se acepta el proyecto.
Con el paso del tiempo HotJava se convirtió en un concepto práctico dentro del lenguaje
Java y demostró que podría proporcionar multiplataformas para que el código pueda ser
bajado y corrido del Host del World Wide Web y que de otra forma no son seguros.
Una de las características de HotJava fue su soporte para los "applets", que son las partes
de Java que pueden ser cargadas mediante una red de trabajo para después ejecutarlo
localmente y así lograr soluciones dinámicas en computación acordes al rápido crecimiento
del ambiente WEB.
El 23 de mayo de 1995, en la conferencia SunWorld `95, John Gage, de Sun Microsystems,
y Marc Andreessen, cofundador y vicepresidente de Netscape, anunciaban la versión alpha
de Java, que en ese momento solo corría en Solaris, y el hecho de que Java iba a ser
incorporado en Netscape Navigator, el navegador más utilizado de Internet.
Con la segunda alpha de Java en Julio, se añade el soporte para Windows NT y en la tercera,
en Agosto, para Windows 95.
En enero de 1995 Sun formá la empresa Java Soft para dedicarse al desarrollo de productos
basados en la tecnologías Java, y así trabajar con terceras partes para crear aplicaciones,
herramientas, sistemas de plataforma y servicios para aumentar las capacidades del
lenguaje. Ese mismo mes aparece la versión 1.0 del JDK.
Netscape Communications decide apoyar a Java applets en Netscape Navigator 2.0. Ese fue
el factor clave que lanzó a Java a ser conocido y famoso. Y como parte de su estrategia de
crecimiento mundial y para favorecer la promoción de la nueva tecnología, Java Soft otorgó
permisos para otras compañías para que pudieran tener acceso al código fuente y al mismo
tiempo mejorar sus navegadores.
También les permitía crear herramientas de desarrollo para programación Java y los
facultaba para acondicionar máquinas virtuales Java (JVM), a varios sistemas operativos.
Muy pronto las licencias o permisos contemplaban prestigiosas firmas como: IBM,
Microsoft, Symantec, Silicon Graphics, Oracle, Toshiba y Novell.
Los apples Java (basados en JDK 1.02) son apoyados por los dos más populares navegadores
web (Nestcape Navigator 3.0 y Microsoft Internet Explorer 3.0. I.B.M./Lotus, Computer
Asociates, Symantec, Informix, Oracle, Sybase y otras poderosas empresas de software
están construyendo Software 100% puro JAVA, por ejemplo el Corel Office que actualmente
está en versión Beta.
Los nuevos proyectos de Java son co-patrocinados por cientos de millones de dólares en
capital disponible de recursos tales como la Fundación Java, un fondo común de capital
formado el verano pasado por 11 compañías, incluyendo Cisco Systems, IBM, Netscape y
Oracle.
Hoy en día, puede encontrar la tecnología Java en redes y dispositivos que comprenden
desde Internet y superordenadores científicos hasta portátiles y teléfonos móviles; desde
simuladores de mercado en Wall Street hasta juegos de uso doméstico y tarjetas de crédito:
Java está en todas partes.
1.2.2 ¿Que es Java?
El lenguaje de programación Java, fue diseñado por la compañía Sun Microsystems Inc, con el
propósito de crear un lenguaje que pudiera funcionar en redes computacionales heterogéneas (
redes de computadoras formadas por más de un tipo de computadora, ya sean PC, MAC's,
estaciones de trabajo, etc.), y que fuera independiente de la plataforma en la que se vaya a ejecutar.
Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma.
1.2.3 Características de Java.
El lenguaje fue diseñado con las siguientes características en mente:









Simple. Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los
lenguajes modernos orientados a objetos. Orientado a Objetos. La filosofía de
programación orientada a objetos es diferente a la programación convencional.
Familiar. Como la mayoría de los programadores están acostumbrados a programar en C o
en C++, el sintaxis de Java es muy similar al de estos.
Robusto. El sistema de Java maneja la memoria de la computadora por ti. No te tienes que
preocupar por apuntadores, memoria que no se esté utilizando, etc. Java realiza todo esto
sin necesidad de que uno se lo indique.
Seguro. El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con
este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo
que se puede y no puede hacer con los recursos críticos de una computadora.
Portable. Como el código compilado de Java (conocido como byte code) es interpretado, un
programa compilado de Java puede ser utilizado por cualquier computadora que tenga
implementado el intérprete de Java.
Independiente a la arquitectura. Al compilar un programa en Java, el código resultante un
tipo de código binario conocido como byte code. Este códido es interpretado por diferentes
computadoras de igual manera, solamente hay que implementar un intérprete para cada
plataforma. De esa manera Java logra ser un lenguaje que no depende de una arquitectura
computacional definida.
Multithreaded. Un lenguaje que soporta multiples threads es un lenguaje que puede
ejecutar diferentes líneas de código al mismo tiempo.
Interpretado. Java corre en máquina virtual, por lo tanto es interpretado.
Dinámico. Java no requiere que compiles todas las clases de un programa para que este
funcione. Si realizas una modificación a una clase Java se encarga de realizar un Dynamic
Bynding o un Dynamic Loading para encontrar las clases.
Tres de las principales razones que llevaron a crear Java son:
1. Creciente necesidad de interfaces mucho más cómodas e intuitivas que los sistemas
de ventanas que proliferaban hasta el momento.
2. Fiabilidad del código y facilidad de desarrollo. Gosling observó que muchas de las
características que ofrecían C o C++ aumentaban de forma alarmante el gran coste
de pruebas y depuración. Por ello en los sus ratos libres creó un lenguaje de
programación donde intentaba solucionar los fallos que encontraba en C++.
3. Enorme diversidad de controladores electrónicos. Los dispositivos electrónicos se
controlan mediante la utilización de microprocesadores de bajo precio y reducidas
prestaciones, que varían cada poco tiempo y que utilizan diversos conjuntos de
instrucciones. Java permite escribir un código común para todos los dispositivos.
1.2.4 La Máquina Virtual Java
El lenguaje Java es a la vez compilado e interpretado. Con el compilador se convierte el
código fuente que reside en archivos cuya extensión es .java, a un conjunto de instrucciones
que recibe el nombre de bytecodes que se guardan en un archivo cuya extensión es .class.
Estas instrucciones son independientes del tipo de ordenador. El intérprete ejecuta cada
una de estas instrucciones en un ordenador específico (Windows, Macintosh, etc).
Solamente es necesario, por tanto, compilar una vez el programa, pero se interpreta cada
vez que se ejecuta en un ordenador.
Cada intérprete Java es una implementación de la Máquina Virtual Java (JVM). Los
bytecodes posibilitan el objetivo de "write once, run anywhere", de escribir el programa una
vez y que se pueda correr en cualquier plataforma que disponga de una implementación de
la JVM. Por ejemplo, el mismo programa Java puede correr en Windows 98, Solaris,
Macintosh, etc.
Java es, por tanto, algo más que un lenguaje, ya que la palabra Java se refiere a dos cosas
inseparables: el lenguaje que nos sirve para crear programas y la Máquina Virtual Java que
sirve para ejecutarlos. Como vemos en la figura, el API de Java y la Máquina Virtual Java
forman una capa intermedia (Java platform) que aísla el programa Java de las
especificidades del hardware (hardware-based platform).
La Máquina Virtual Java (JVM) es el entorno en el que se ejecutan los programas Java, su
misión principal es la de garantizar la portabilidad de las aplicaciones Java. Define
esencialmente un ordenador abstracto y especifica las instrucciones (bytecodes) que este
ordenador puede ejecutar. El intérprete Java específico ejecuta las instrucciones que se
guardan en los archivos cuya extensión es .class. Las tareas principales de la JVM son las
siguientes:





Reservar espacio en memoria para los objetos creados
Liberar la memoria no usada (garbage collection).
Asignar variables a registros y pilas
Llamar al sistema huésped para ciertas funciones, como los accesos a los dispositivos
Vigilar el cumplimiento de las normas de seguridad de las aplicaciones Java.
Esta última tarea, es una de las más importantes que realiza la JVM. Además, las propias
especificaciones del lenguaje Java contribuyen extraordinariamente a este objetivo:




Las referencias a arrays son verificadas en el momento de la ejecución del programa
No hay manera de manipular de forma directa los punteros
La JVM gestiona automáticamente el uso de la memoria, de modo que no queden
huecos.
No se permiten realizar ciertas conversiones (casting) entre distintos tipos de datos.
Por ejemplo, cuando el navegador encuentra una página web con un applet, pone en
marcha la JVM y proporciona la información que aparece en la etiqueta <APPLET > ...
</APPLET>. El cargador de clases dentro de la JVM ve que clases necesita el applet. Dentro
del proceso de carga, las clases se examinan mediante un verificador que asegura que las
clases contienen código válido y no malicioso. Finalmente, se ejecuta el applet.
1.2.5 Instalación y configuración del Java Development Kit (JDK):
Paso 0.- Descripción de los programas
Para compilar y ejecutar Java se utiliza habitualmente Java Development Kit (kit de desarrollo de Java) o jdk,
desarrollado por Sun Corporation. El jdk tiene dos familias principales: Java 2 Standard Edition o J2SE,
orientado a uso personal, y Java 2 Enterprise Edition o J2EE, la edición empresarial. A su vez, cada familia
tiene diferentes versiones, identificadas por una secuencia de números.
J2SE se distribuye individualmente o junto con un entorno de edición de código en Java, también de Sun, que
se llama NetBeans. Sin embargo, par nuestro caso utilizaremos Eclipse.
Paso 1.- Descarga del software
Primero es necesario descargar los programas, de sus sitios web de origen:
1. Abre la página de Java Platform (JDK) 8u11 y descarga para tu Sistema Operativo la
Versión de Java SE Development Kit.
2. Abre la página de eclipse.org y descarga Eclipse Standard 4.4.
Paso 2.- Instalación del JDK
1.
2.
3.
4.
5.
6.
Haz doble click en el programa de instalación del JDK bajado de Oracle.
Cuando aparezca el cuadro de licencia, pulsa "I accept the terms in the licence agreement" y luego
"Next>".
En la siguiente pantalla, no cambies nada y pulsa "Next>".
En la siguiente pantalla sobre los navegadores web, no cambies nada y pulsa "Install>".
Espera a que acabe de copiar todos los ficheros. Esto te llevará unos minutos, ten paciencia.
Cuando termine, pulsa "Finish" y si te pide reiniciar el ordenador, hazlo.
Paso 3.- Configuración del jdk
Abre la "Consola del Sistema", también llamada "Símbolo del Sistema" (o en inglés, "Console", "DOS
Console", "Command prompt"...). Habitualmente puedes encontrarla en "Menú Inicio"->Programas>Accesorios. Si no la encuentras, también puedes abrirla yendo a "Menú Inicio"->Ejecutar y escribir "cmd" (o
si no prueba con "command").
En el símbolo del sistema, escribe
java
Si obtienes un mensaje similar a éste:
... ¡Enhorabuena! No hace falta que sigas con este paso porque ya lo tienes configurado. Sigue con el paso
siguiente.
Sin embargo, si obtienes un mensaje como éste:
... sigue las siguientes instrucciones.
1.
2.
3.
4.
5.
Pulsa con el botón derecho del ratón sobre "Mi PC" y selecciona "Propiedades".
Selecciona la pestaña "Opciones avanzadas" y pulsa en el botón inferior "Variables de entorno".
Tanto en el cuadro superior como el inferior, busca una variable que se llama "Path", haz click sobre
ella y pulsa el botón "Modificar" (si aparece en los dos cuadros, haz lo siguiente dos veces).
En el cuadro de valor de variable, añade al final (cuidado, SIN BORRAR NADA):
<lo que hubiera antes>; C:\Program Files\Java\jdk1.8.0_11\bin y pulsa "Aceptar".
6.
7.
8.
Busca otra vez en la lista de variables si existe "CLASSPATH". Si no existe, no pasa nada, sigue con el
siguiente punto. Si existe, click sobre ella y pulsa el botón "Modificar" (si aparece en los dos
cuadros, haz lo siguiente dos veces). En el cuadro de valor de variable, añade al final (cuidado, SIN
BORRAR NADA):
<lo que hubiera antes>; (cuidado: con un PUNTO al final) y pulsa "Aceptar".
Cierra el cuadro de diálogo de variables de entorno con "Aceptar" y otra vez "Aceptar" para
"Propiedades del sistema".
Si tenías abierta la consola del sistema, ciérrala para que se carguen los nuevos valores.
Abre la consola otra vez y comprueba que al escribir javac y java se obtienen los mensajes habituales de
Java. Si sigue apareciendo el mensaje
"javac" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.
... revisa que has seguido todos los pasos correctamente y vuelve a repetir el paso 3. Si no te funciono, lo
mejor es que no sigas adelante porque no va a servir de nada hasta que no resuelvas los problemas.
Contacta con los profesores pidiendo ayuda.
Si todo ha ido bien, sigue con el paso 4.
Paso 4.- Instalación del Eclipse
1.
Descomprime el archivo.
2.
Ejecuta Eclipse.exe
Si has llegado hasta aquí, muchas felicidades! Ya tienes tu entorno dispuesto y preparado para trabajar con
Java.
Edición, compilación y ejecución de programas.
El Kit de desarrollo de Java (JDK) contiene las herramientas y librerías necesarias para crear
y ejecutar applets y aplicaciones en Java.
A continuación se listas algunas de las utilidades que se pueden encontrar en el JDK:

javac. Es el compilador de Java. Se encarga de convertir el código fuente escrito en
Java a bytecode.

java. Es el intérprete de Java. Ejecuta el bytecode a partir de los archivos class.

appletviewer. Es un visor de applets. En la mayoría de las ocasiones puede
utilizarse en lugar de un Navegador Web.

javadoc. Se utiliza para crear documentación en formato HTML a partir de el
código fuente Java y los comentarios que contiene.

javap. Es un desensamblador de Java.


jar. Es una herramienta utilizada para trabajar con los archivos JAR.
Obtención del JDK
Uso del JDK para construir aplicaciones
Uso del JDK para construir applets