Story Transcript
1 INTRODUCCIÓN 1. 2. 3. 4. 5.
1-
HISTORIA ¿QUÉ ES JAVA? DESCARGA INSTALACIÓN EN WINDOWS MI PRIMER PROGRAMA
HISTORIA
Java fue diseñado en 1990 por James Gosling, de Sun Microsystems, como software para dispositivos electrónicos de consumo, como calculadoras, microondas y televisión interactiva. Curiosamente, este lenguaje fue diseñado antes de que diese comienzo la era World Wide Web, pero terminó imponiéndose posteriormente en ésta. En los primeros años de la década de los noventa, Sun Microsystems decidió intentar introducirse en el mercado de la electrónica de consumo y desarrollar programas para pequeños dispositivos electrónicos. Tras unos comienzos dudosos, Sun decidió crear una filial, denominada FirstPerson Inc., para dar un margen de maniobra al equipo responsable del proyecto. Inicialmente Java se llamó Oak (roble en inglés), aunque tuvo que cambiar de denominación debido a que el nombre ya estaba registrado. Se dice que este nombre se le puso debido a la existencia de tal árbol en los alrededores del lugar de trabajo de los promotores del lenguaje. Tres de las principales razones que llevaron a crear Java fueron: 1. La creciente necesidad de interfaces 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 coste de pruebas y depuración. Para ello, en sus ratos libres, creó un lenguaje de programación donde intentaba solucionar los fallos que encontraba en C++. 3. La enorme diversidad de controladores electrónicos. Los dispositivos electrónicos se controlan mediante la utilización de microprocesadores de bajo coste 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
Introducción
Figura 1.1- Logotipo de la empresa Sun Microsystems Por todo ello, en lugar de tratar únicamente de optimizar las técnicas de desarrollo y dar por hecha la utilización de C o C++, el equipo de Gosling se planteó que tal vez los lenguajes existentes eran demasiado complicados como para conseguir reducir de forma apreciable la complejidad de desarrollo asociada a ese campo. Por este motivo, su primera propuesta fue idear un nuevo lenguaje de programación lo más sencillo posible, con el objeto de que se pudiese adaptar con facilidad a cualquier plataforma de ejecución. Basándose en el conocimiento y estudio de gran cantidad de lenguajes, este grupo decidió recoger las características esenciales que debía tener un lenguaje de programación moderno y potente, pero eliminando todas aquellas funciones que no son absolutamente imprescindibles.
2-
¿QUÉ ES JAVA?
Los elementos básicos de la arquitectura JAVA son: 1. Lenguaje de programación · El lenguaje de programación es un lenguaje de propósito general orientado a objetos, permitiendo construir programas con el uso de múltiples clases. 2. Máquina virtual · La máquina virtual (Java Virtual Machine o JVM) es la encargada de ejecutar los programas realizados en Java. Está definida por las especificaciones establecidas por Sun, y se fundamenta en una total independencia de la maquina, movilidad en red y alta seguridad. 3. Bytecodes · Los bytecodes son una especie de pseudocódigo máquina que entiende la máquina virtual. Esta lo compila y lo convierte al código nativo del sistema en el que se está ejecutando. 4. La interfaz de programación de aplicaciones · La interfaz de programación de aplicaciones (API) contiene un conjunto de bibliotecas que son una vía de acceso a los recursos del sistema subyacente, garantizando independencia de la plataforma, robustez y seguridad. La unión de todas las clases utilizadas (las del programa y las de la API) junto con las bibliotecas dinámicas generadas, constituyen el conjunto del programa que se ejecuta en la maquina virtual.
2
Introducción
3-
DESCARGA
El SDK (Software Development Kit) de Java, más conocido como JDK (Java Development Kit), puede ser obtenido de forma gratuita en la dirección: http://java.sun.com El JDK se tiene tres modalidades: - J2SE (Core/Desktop). Versión estándar. - J2EE (Enterprise/Server). Versión para empresas. - J2ME (Mobile/Wireless). Versión para dispositivos móviles. La edición estándar, J2SE, es la opción más habitual, y la que se seleccionará en este caso para la descarga en la sección “Popular downloads”, en la parte derecha de la página web. Las opciones de descarga de este entorno de ejecución en la edición estándar se pueden realizar de forma automática, de forma manual y fuera de línea. Para las dos primeras opciones es necesario permanecer conectado al sitio web. También es posible solicitar un CD con el software de Java. Sun Microsystems habilita para ello un servicio de suscripción gratuita o una compra individual. Para cualquier problema que pueda surgir sobre la descarga se puede visitar la página de la ayuda en castellano: http://www.java.com/es/download/help/
4-
INSTALACIÓN EN WINDOWS
En este apartado se analizará la instalación de J2SE para Windows, aunque la instalación de las versiones de Linux, MacOS X o cualquier otro sistema operativo, es bastante similar. Una vez realizada la descarga se dispone del ejecutable del JDK, que tendrá por nombre jdk-1_X_X-windows-i586-p.exe, en donde las X corresponden a la versión del mismo. Este fichero contiene el JDK y el JRE (Java Runtime Environment), es decir, respectivamente el compilador de Java y la máquina virtual necesaria para su ejecución (junto con los plugins necesarios para los navegadores de Internet). El JRE es necesario siempre que se ejecute un programa en Java, por lo que ha de estar presente en el computador en el que se pretenda utilizar el programa. Puede descargarse por separado en la misma página que el SDK (http://java.sun.com). Haciendo doble clic sobre este fichero se procederá a su descompresión y posterior instalación. Tras ésta, puede ser necesario modificar la variable de entorno (PATH), para indicar la ruta de los ficheros ejecutables del JDK (subcarpeta bin de la carpeta elegida para la instalación).
3
Introducción Por ejemplo, en Windows XP, se puede hacer seleccionando en el menú INICIO à escogiendo la se selecciona PATH en Variables del sistema, añadiéndole la ruta de la carpeta bin del JDK. La Figura 1.2 permite ver el proceso para el cambio.
PANEL DE CONTROL à SISTEMA à PROPIEDADES DEL SISTEMA y pestaña OPCIONES AVANZADAS. Se elige Variables de entorno y
Si el sistema operativo es Windows 98 o Windows ME, también es necesario añadir la variable del sistema CLASSPATH apuntando a la carpeta actual (.): Nombre de variable: Valor de variable:
CLASSPATH .
La carpeta bin del JDK contiene, entre otras, las herramientas de compilación de Java: java.exe (intérprete), javac.exe (compilador), javadoc.exe (generador de documentos), javap.exe (desensamblador de clases) y jdb.exe (depurador de aplicaciones).
Figura 1.2- Modificando la variable PATH en Windows XP Para comprobar que el path está establecido correctamente se abre una ventana de símbolo de sistema y se teclea el comando javac. Si todo funciona correctamente se ejecutará el programa, e informará de la correcta utilización del mismo. (Figura 1.3)
4
Introducción
Figura 1.3- Comprobación de la correcta instalación del compilador de java
5-
MI PRIMER PROGRAMA
Para realizar un programa en Java se puede trabajar utilizar un entorno de programación (IDE) como Eclipse, NetBeans o JBuilder, o bien utilizar un simple editor de texto (como el Bloc de Notas) con el que teclear el programa y guardarlo como archivo de texto con extensión .java. Una vez que el código está almacenado, debe traducirse a lenguaje de máquina antes de que se ejecute. Un compilador es un programa que traduce código de un lenguaje a otro. El código original, llamado código fuente, se traduce a otro llamado código objeto. Por lo general un compilador traduce código fuente directamente al lenguaje particular de la máquina. Una vez realizada la traducción el resultado es una versión ejecutable del programa. Un intérprete es similar a un compilador pero tiene una diferencia importante. En un interprete una porción pequeña del código fuente, generalmente una instrucción, se traduce y se ejecuta, después se toma otra pequeña porción se traduce y se ejecuta, y así sucesivamente. Una desventaja de esta técnica es que el programa generalmente se ejecuta más lentamente debido a que el proceso de traducción ocurre durante cada ejecución. Java no pertenece a ninguna de las dos categorías anteriores, es un lenguaje pseudo-compilado, lo que significa que primero hay una fase de compilación en la que no se produce código máquina, sino código intermedio llamado bytecodes. Dicho codigo se ejecuta posteriormente mediante un interprete. En las versiones modernas se incorpora también un compilador Just-In-Time (JIT), que permite compilar directamente los bytecodes a código máquina, con lo que se agiliza el proceso de ejecución.
5
Introducción La Figura 1.4 permite ver cómo se realiza este proceso en Java. código fuente Java
COMPILADOR DE JAVA
código de bytes de Java
INTÉRPRETE DE JAVA
COMPILADOR DE CÓDIGO DE BYTES
código de máquina Figura 1.4- Proceso que pasa un programa escrito en Java, hasta su utilización En su forma más simple, una aplicación en Java es una definición de clase con un método main(): class Nombre { public static void main (String []args) { //instrucciones } }
6
Introducción Una clase en Java puede contener propiedades y métodos. Las propiedades pueden ser variables de tipos primitivos como int, char, etc. (se verán en detalle en el capítulo 2) u otras clases. Los métodos se realizan con instrucciones y expresiones, que se construyen utilizando operadores y operandos. Las clases se tratarán con detalle en el capítulo 5. Una instrucción es la parte más pequeña del programa que realiza “algo” en el mismo. Algunos ejemplos pueden ser: int edad = 30; import java.awt.dnd; System.out.println ("Hola"); jugador.puntuacion = 41354; Obsérvese que cada instrucción finaliza con el carácter punto y coma (;). Las palabras que aparecen remarcadas en negrita indican que están reservadas por el lenguaje y que no pueden utilizarse con otros propósitos (por ejemplo, como nombre de una variable). El siguiente programa es un ejemplo típico de cualquier lenguaje de programación y permite introducir la estructura de un programa en Java. class Hola { public static void main (String []args) { System.out.println ("Hola"); System.out.println ("Bienvenidos a Java"); } } Como ya se comentó, para poder ejecutar un programa es necesario que el compilador o el intérprete esté instalado en la máquina donde se desea compilar. Se deben de seguir los siguientes pasos: - Editar el programa fuente con cualquier editor de texto, guardarlo como texto sin formato y con la extensión .java. - Usar el compilador de java, javac. - Ejecutarlo con la maquina virtual de java, java. La edición de un programa fuente puede realizarse en cualquier editor de texto de la máquina que se esté utilizando. Se debe de guardar el archivo con el mismo nombre de la clase y con la extensión .java. Si bien Windows no diferencia mayúsculas de minúsculas, el compilador de Java es sensible a mayúsculas y minúsculas, con lo que se deberá de tener cuidado de poner exactamente igual el nombre del archivo que el de la clase. Por ejemplo, la primera clase realizada
7
Introducción anteriormente se llama Hola, por lo tanto deberá guardarse en el archivo Hola.java. Para compilar un programa fuente, hay que escribir el comando javac seguido del nombre del archivo del programa fuente. Continuando con el ejemplo anterior, se deberá escribir el siguiente comando en la línea de comandos: javac Hola.java Si el compilador detecta algún error se deberá de editar el archivo fuente, corregir el error y nuevamente compilar. Podría suceder que este proceso de edición y compilación se tenga que repetir en más de una ocasión. Durante la compilación se genera un archivo que contiene los bytecodes y que se llama igual que la clase pero con terminación .class. Así, si no existe ningún error de compilación en el ejemplo anterior se generará el archivo: Hola.class Cuando el programa fuente está libre de errores entonces es posible ejecutarlo. El comando a utilizar es java y deberá ir seguido del nombre de la clase, sin la extensión .class. Por ejemplo, para ejecutar la clase Hola después de haberla compilado, se escribe el siguiente comando: java Hola
8