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