P. 1
UNIDAD I POO y El Lenguaje de Programacion JAVA

UNIDAD I POO y El Lenguaje de Programacion JAVA

|Views: 135|Likes:
Published by Reneria Garcia

More info:

Published by: Reneria Garcia on Sep 09, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

04/17/2014

pdf

text

original

Sections

  • 1.1.1. Que es programación orientada a objetos (POO)
  • 1.1.2 Historia de la POO
  • 1.1.3 Conceptos de Objetos y Clase
  • 1.2.1 Historia de JAVA
  • 1.2.2 ¿Que es Java?
  • 1.2.3 Características de Java
  • 1.2.4 La Máquina Virtual Java
  • 1.2.5 Instalación y configuración del Java Development Kit (JDK)
  • 1.2.6 Edición, compilación y ejecución de programas

Programación I

Ing. Reneria García Bermúdez

UNIDAD I: LA POO Y EL LENGUAJE DE PROGRAMACION JAVA 1.1 Introducción a la POO. 1.1.1. Que es programación orientada a objetos (POO). 1.1.2. Historia de la POO. 1.1.3. Concepto de Objeto y Clase. 1.1.4. Abstracción. 1.1.5. Encapsulamiento. 1.1.6. Herencia. 1.1.7. Polimorfismo.

1.1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS 1.1.1. Que es programación orientada a objetos (POO). La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación. Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación. ¿Cómo definiría con sus propias palabras POO?

Motivación Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los esfuerzos de los programadores puedan ser utilizados por otras personas se creó la POO. Que es una serie de normas de realizar las cosas de manera que otras personas puedan utilizarlas y adelantar su trabajo, de manera que consigamos que el código se pueda reutilizar. La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino
Ing. En Sistemas 1

Programación I

Ing. Reneria García Bermúdez

programar bien. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO. Cómo se piensa en objetos Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. En un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar. Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc. Estos objetos se podrán utilizar en los programas, por ejemplo en un programa de matemáticas harás uso de objetos fracción y en un programa que gestione un taller de coches utilizarás objetos coche. Los programas Orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc. Escriba un ejemplo sencillo además de los planteados de POO

1.1.2 Historia de la POO Al mismo tiempo que se da la Crisis del Software, por otro lado la Orientación a Objetos (OO) se empezó a discutir a fines de los años 60 con el desarrollo del lenguaje SIMULA67 por Nygaard y Ole-Johan Dahl en el Centro de Cálculo Noruego, en él, introdujeron los conceptos de clase, subclases y rutinas, muy parecidos los conceptos a los lenguajes orientados a objetos de hoy en día. A mitad de la década de los 70 los científicos del Centro de Investigaciones Palo Alto de XEROX (PARC) (XEROX Palo Alto Research Center) crearon el lenguaje SMALLTALK, el primer
Ing. En Sistemas 2

Programación I

Ing. Reneria García Bermúdez

lenguaje orientado a objetos consistente y completo. En él cada elemento del lenguaje fue realizado un objeto. Este último lenguaje evolucionó a través de varios lanzamientos realizados por PARC. A pesar de este movimiento temprano hacia los lenguajes orientados a objetos, sólo se lograron pequeñas incursiones en la comunidad de la programación general. El progreso reciente se ha acelerado debido principalmente a la disponibilidad de las extensiones orientadas a objetos para dos lenguajes populares: C y PASCAL, y a las extensiones prometidas para otros lenguajes comerciales populares como BASIC y COBOL. En sus comienzos la programación de computadores era una tarea relegada prácticamente a los "genios" de la computación de aquel entonces; hacer un programa para computador demandaba miles de horas de tiempo invertido y desde luego miles de miles o millones de líneas de código para llevar a cabo una tarea determinada. Bien la programación de ese entonces tenía un estilo particular llamado hoy día programación en spaghetti, se llama así porque todo el código generalmente sigue una línea secuencial desde la primera instrucción hasta la última, ocasionalmente hay saltos entre instrucciones, pero generalmente se regresa al punto donde se originó el salto... los lenguajes más populares en ese entonces eran desde luego el ASM, el FORTRAN y el COBOL. Luego los programas se fueron haciendo más grandes y complejos, así que las cosas se comenzaron a hacer dificiles de manejar (es decir aún más dificiles de manejar), allí nació una nueva forma de programación... una nueva metodología, la programación estructurada. Programación Estructurada La solución a tantos problemas fue básicamente sencilla, agrupar el código por funcionalidad de tal forma que cada funcionalidad pueda ser invocada tantas veces como se necesite, esto permitió reducir las líneas de código necesarias para crear un programa ya que si existe una rutina compleja que podía ser en algún grado repetitiva, esta se coloca en una función que sea aplicable en uno o más casos diferentes, veamos un ejemplo... Supongamos que tenemos un programa que controla las cuentas de un banco (imaginemos un banco pequeño), así que se ha creado un conjunto de programas para tal fin. Dentro de esos programas tenemos una sección de programa que lo que hace es manejar los retiros que ha hecho el dueño de la cuenta, lo cual implica descontar un valor determinado de una cuenta y elaborar el registo contable correspondiente... imaginemos otra parte del código de ese programa, un cliente paga su tarjeta de crédito así que otra vez el programa descuenta el valor de la cuenta del cliente, también elabora el registro contable correspondiente y adicionalmente hace otros registros y abonos a la cuenta de la tarjeta de crédito... Este tipo de cosas las tendría que hacer el programa miles de veces, una vez cada que se presente una transacción en el banco.
Ing. En Sistemas 3

Programación I

Ing. Reneria García Bermúdez

En programación spaguetti eso tomaría miles de líneas como lo vimos anteriormente, ya que por cada transacción se requiere volver a repetir las instrucciones para hacer lo correspondiente; en programación estructurada esto ya no es necesario ya que habríamos creado algunas funcionalidades que nos permiten invocarlas cuando las necesitemos, así solamente crearíamos el código para registrar el abono o el descuento de dinero de una cuenta, y otro código para hacer registros contables, así que cada vez que los necesitemos simplemente colocamos una línea de código haciendo el llamado a la funcionalidad, y no repitiendo nuevamente todo el código que hace parte de la misma. Pero los días de la programación estructurada estaban contados, los programas siguieron creciendo, tener un código altamente estructurado ya no ayudaba lo suficiente, pues la complejidad y magnitud de las cosas que se deben hacer aumentaba exponencialmente...

Y llegó la POO Cuando las cosas se hicieron demasiado complejas, fue necesario tomar decisiones radicales, cuando nació la programación estructurada la solución fue sencilla... demasiado sencilla, agrupar las cosas en funcionalidades... funcionó y de hecho funciona tanto que si se hubiese deseado disminuir nuevamente la complejidad de los problemas de la programación a gran escala simplemente se hubiesen creado niveles de agrupamiento de funcionalidades, algo como funcionalidades de funcionalidades, pero el problema se volvería a repetir entre más grande fuera el software, así que hubo necesidad de cambiar las cosas de una manera más profunda. La forma en que se hacían los programas era siempre orientada a la funcionalidad, es decir que haga lo que debe y que lo haga de la manera más rápida, ocasionalmente y si era posible reutilizar el código ya creado, los incidentes comenzaron a aparecer veamos una ejemplo, sigamos con el banco... Bien, el banco ha crecido un poco más razón por la cual necesitan modernizar su sistema (hardware, programas etc...) se ponen en la labor de crear nuevos programas, como los requieren en el menor tiempo imposible dividieron su área de desarrollo en varios grupos: uno que hará toda la parte con cuentas corrientes, otro que funciona con cuentas de ahorro, y otro con tarjetas debito, otro con CDT etc. Para evitar algunos problemas definen una serie de estándares de nomenclatura y ese tipo de cosas. Tiempo después los módulos del programa ya están casi listos así que se disponen a integrar todos esos programas en un programa único, pero cuando iniciaron con eso paso algo inesperado... Los señores del grupo de cuentas de ahorros crearon unas funciones, se llaman debito y crédito, mientras tanto los señores del grupo de CDT´s , los de tarjetas, los de cuenta corriente etc. crearon también todos funciones llamadas débito y
Ing. En Sistemas 4

. f y no pasaría absolutamente nada. de hecho todos podrían tener las mismas variables: a. d. En Sistemas 5 de ahorros serian: . pero todas hacen cosas diferentes cada una para su caso puntual.. Otro problema con el sistema estructurado es que si los señores de CDT tienen una función para encripción única que no debe ser usada por nadie más.. b. puesto que desde que se han creado los módulos cada uno es un componente por separado y las funciones de los Sre del CDT serian accedidas algo así como: CDT. El grupo de cuentas de ahorro y el de tarjeta de crédito no pueden hacer el cambio de una manera tan sencilla ya que han utilizado unas librerías provistas por terceros y que ya desde hace tiempo interactúan con u sistema de transacciones a nivel internacional que requiere que el software cumpla con una serie de lineamientos e interfaces de programación. Pero en POO las cosas habrían sido diferentes. e. resultado de la operación: hay que renombrar todas las funciones débito crédito para que todas se llamen diferentes. en un programa tan enorme evitar esa situación es algo muy complicado.. y pueden hacerlo por que hace parte del mismo programa enlazado.crédito Y así sucesivamente con cada uno de los módulos. c. imaginemos todas las variables que habrán quedado con nombres parecidos. con desagrado decidieron acatar.. cosa que todos los grupos.crédito Las Ahorros. Reneria García Bermúdez crédito. no hay garantía de que más adelante los señores de tarjeta de crédito la usen. eso sería muy difícil sino imposible de evitar en programación estructurada.. es decir solo utilizable dentro del grupo de CDT. y para completar el problema parte de esas interfaces implican no solo es usar el nombre que ya usan en sus funciones sino que el nombre que se ha propuesto utilizar ya es usado para otros fines en dichas librerías integradas.. Ing. sino es que iguales.debito Ahorros.debito CDT. etc Así las cosas les tardara un poco de tiempo a los señores hacer los cambios que necesitan porque definitivamente el programa integrador no se puede crear si hay dos funciones con el mismo nombre dentro del paquete. pero en POO sería muy sencillo ya que le diríamos a nuestra función que fuera de uso privado. todos excepto dos..Programación I Ing.

La Orientación a Objetos se basa en estas ideas: un programa es un mundo que representa un subconjunto del mundo real. así es que este pensamiento tiene intrínsecamente sentido. El hecho de que el tema central sean los objetos. aunque intuitivamente. Orientación a Objetos significa algo bastante familiar: considerar al mundo como un conjunto de entidades u objetos que están relacionados y se comunican entre ellos. Para el desarrollo de sistemas. Para aquel que no es un programador. La estructura del programa se simplifica en gran medida si cada una de las entidades u objetos del problema que se está modelando corresponde directamente con un objeto que se puede manipular internamente en un programa. Paradigma de la Programación Orientada a Objetos. marca una desviación significativa de los anteriores paradigmas de la programación. Una ecuación para reconocer una aproximación a la Orientación a Objetos es: ORIENTACIÓN_OBJETOS = CLASES Y OBJETOS + HERENCIA + COMUNICACIÓN CON MENSAJES Ing.Programación I Ing. Esta es la forma en que la gente normal ve el mundo. La orientación a objetos anima al desarrollador de sistemas a concentrarse en los temas importantes e ignorar el resto a la hora de la modelación. Reneria García Bermúdez Según el texto leído sobre programación estructura y POO explique de forma sencilla porque afirmaría usted que la POO posee más ventajas que la Programación estructurada. En Sistemas 6 . la orientación a objetos es un nivel de abstracción de computadora más allá de los procedimientos y los datos.

por lo tanto. Una clase consta de métodos y datos que resumen las características comunes de los objetos. Defina con sus propias palabras que es un objeto y las partes que este consta CLASE. Redefiniendo un objeto. La mayoría de los objetos sólo existen durante una parte de la ejecución del programa. Un objeto es un modelo o instancia de una clase. Una clase es una descripción de un conjunto de objetos casi idénticos. definido por sus atributos. Las aplicaciones pueden constar de diferentes clases de objetos. y cuando dejan de existir se dice que son destruidos. definida por sus métodos. Estado: Todo objeto posee un estado. En Sistemas 7 . Reneria García Bermúdez Todos los sistemas que merecen la descripción de Orientado a Objetos contienen estos mecanismos esenciales.1. Los objetos. para que el resto de objetos que componen los programas puedan interactuar con él. incluyendo una descripción de cómo crear un nuevo objeto de la clase. Un objeto pasivo es el que actúa solamente bajo petición. Es la abstracción de alguna cosa en el dominio del problema que refleja la capacidad de un sistema de alcanzar información alrededor de él. las clases contienen los anteproyectos para crear objetos. aunque los mecanismos pueden no estar realizados exactamente de la misma forma. Los objetos activos efectúan el seguimiento de los sucesos que ocurren en una aplicación y actúan de forma autónoma. Los objetos son creados mediante un mecanismo denominado instanciación. 1.3 Conceptos de Objetos y Clase OBJETOS (Sinónimo de instancia). son entidades que tienen atributos (datos) y formas de comportamiento (procedimientos) particulares. Un objeto consta de:    Tiempo de vida: La duración de un objeto en un programa siempre está limitada en el tiempo. Ejemplos de estos conceptos (utilizaremos un lenguaje más fácil de entender para definirlos): Ing. En otras palabras. Analicemos ahora los términos de la ecuación. Comportamiento: Todo objeto ha de presentar una interfaz. y el estado en que se encuentra en un momento determinado de su existencia.Programación I Ing. Con él se definen las propiedades del objeto.

En Sistemas 8 . Ejemplo 1: Consideremos cómo un programador podría designar una aplicación de procesamiento de una posición en el espacio en forma orientada a objetos. Reneria García Bermúdez Una clase es un molde que define los datos y procedimientos que actúan sobre esos datos y los objetos serán los elementos producidos por ese molde.Programación I Ing. Ing.

comparten las características comunes de la clase de la que descienden. Algunos objetos son p y q que por ser números complejos son de la forma (real. El principio en que se basa este concepto es de que las clases que se derivan de otra clase. En otras palabras la herencia es una partición en subclases más especializadas. implificando definiciones de las clases similares previamente definidas. PuntoB donde tanto PuntoA como PuntoB tienen las características de posición. Reneria García Bermúdez Los objetos serían PuntoA. imaginaria). Veamos ahora cómo sería la aplicación con el sistema de los números complejos en forma orientada a objetos. Defina con sus propias palabras que es una clase Descripción del término herencia La herencia es un mecanismo para expresar similaridad entre clases.Programación I Ing. La herencia permite crear nuevas clases llamadas subclases agregando solamente las diferencias con la clase. En Sistemas 9 . Ejemplo 1: Ing.

Ing. los objetos reciben. De hecho. Los procedimientos residen en el objeto y determinan cómo actúa el objeto cuando recibe un mensaje. Los objetos tienen la posibilidad de actuar. Los mensajes pueden contener información para clasificar una solicitud. En un programa con orientación a objetos ocurren tres sucesos: 1) Se crean los objetos cuando se necesitan. Descripción del término comunicación con mensajes. que es. Reneria García Bermúdez Ejemplo 1: Ejemplo 2 Ejemplo 2: Para este ejemplo usaremos la clase publicación. la acción sucede cuando un objeto recibe un mensaje. interpretan y responden a mensajes procedentes de otros objetos. una solicitud que pide al objeto que se comporte de alguna forma.Programación I Ing. El objeto emisor del mensaje no necesita conocer la forma en que el objeto receptor está llevando a cabo la solicitud. (A este hecho se le conoce como encapsulamiento). explícita la comunicación entre los mismo y oculta los detalles de la realización. En Sistemas 10 . los métodos proporcionan el único mecanismo para cambiar los valores de las variables del objeto. Los mensajes que reciben el objeto son los únicos conductos que conectan al objeto con el mundo exterior. Cuando se ejecutan los programas orientados a objetos. Estas características de los objetos confieren a la orientación a objetos su ventaja: la orientación a objetos fomenta la modularidad haciendo muy claras las fronteras entre objetos. solamente conoce que se está sucediendo.

En base al ejemplo anterior escriba otro ejemplo donde represente al objeto.Programación I Ing. 3) Se borran los objetos cuando ya no son necesarios y se recupera memoria. Encapsulamiento 3. Principio de Abstracción • Datos • Procedimientos 2. Polimorfismo Manejo automático de memoria Ing. Reneria García Bermúdez 2) Los mensajes se mueven de un objeto a otro a medida que el programa procesa internamente información o responde a la entrada del usuarios. En Sistemas 11 . Comunicación con mensajes 5. 1. clase método y herencia. Características deseadas de la Programación Orientada a Objetos Las características deseadas pueden variar y es difícil ponerse de acuerdo. Herencia • Simple • Múltiple 4.

donde real e imaginaria son números reales. pero que es posible que tenga alguna semejanza con el lenguaje a utilizar. Iniciamos: Principio de abstracción • Es el principio de ignorar los aspectos de un sujeto que no son relevantes en un propósito de orden de concentración más exacto. y). En Sistemas 12 . por lo que daremos una idea de este concepto. • De esta forma. En realidad el seudo código es muy similar a un algoritmo pero más estructurado. Es un atributo del objeto que representa cuantitativamente o cualitativamente a ese objeto. • El proceso de representar entidades reales como elementos internos a un programa recibe el nombre de abstracción. Procedimiento. sin caer en detalles de representación y manipulación de datos. Es una operación que lleva a cabo un servicio a los atributos del objeto. de lo que podemos intuir que los datos sean: real e imaginaria Ing. Datos. imaginaria). En el seudo código se utilizan palabras en nuestro lenguaje que son similares a las palabras utilizadas por los lenguajes de programación. que serían nuestros datos y los procedimientos que las manipulen pueden ser: iniciar posición leer x leer y saluda Ejemplo 2: En el ejemplo de los números complejos se tiene que éstos son de la forma (real. Ejemplo 1: En el ejemplo de la posición en el espacio se quiere representar en objetos. Reneria García Bermúdez • Constructores • Destructores Métodos virtuales Sobreposición de operadores Antes de ver cada uno de estos conceptos es importante mencionar que los ejemplos de los mismos se darán con seudo código. El seudo código se utiliza como una herramienta para estructurar el código de un programa sin comprometerse con ningún lenguaje. ya que se le deben de dar sangrías a la escritura de las instrucciones para hacerlo más legible en la lectura.Programación I Ing. Una posición en el plano la determinan las coordenadas (x. un tipo de dato abstracto se puede escribir concentrándose en las operaciones que manipulan a los objetos de este tipo. queremos abstraer esta parte del mundo real a un programa que pueda representarlos.

sino a través de los procedimientos del objeto. Herencia. Reneria García Bermúdez Los atributos que manipulan estos datos pueden ser todos los operadores aritméticos (+. Herencia Múltiple: (Multimedia) Ing. En Sistemas 13 . • La herencia múltiple es cuando una clase puede ser derivada de más de una clase. < > ). *. Encapsulamiento (ocultamiento de datos). -. /) y los operadores de relación ( =. Ejemplo 1. simplificando definiciones de clases similares previamente detenidas. Ejemplo 2: En el ejemplo de los números complejos cada número complejo no se puede modificar a menos que sea con los operadores.Programación I Ing. Herencia simple: Ejemplo 2. Se refiere al hecho de que ningún programador ni de ninguna otra parte de un programa se pueda tener acceso a los datos de un objeto en forma directa. Ejemplo 1: En este ejemplo para leer cualquiera de las coordenadas no se puede directamente sólo leyendo por separado las coordenadas con los procedimientos de lectura. • La herencia simple es cuando el lenguaje sólo permite que una clase derive de una clase. La herencia es un mecanismo que para expresar similaridad entre clases.

Manejo Automático de Memoria. Las variable de un objeto sólo pueden ser manipuladas por sus propios métodos. Ejemplo 1: Se puede tener más de un procedimiento saluda en la clase posición.". Procedimiento leer X Regresa valor de X Polimorfismo Es cuando una clase tiene varios procedimientos con el mismo nombre.Programación I Ing. Esto implique que si no podemos trabajar con un objeto que no haya sido creado a través de un constructor y si sólo se pueden modificar mediante los procedimientos de la clase NO TENEMOS FORMA DE CORROMPER EL OBJETO. Reneria García Bermúdez Comunicación con mensajes." y el tercer suceso indica: "Se borran los objetos cuando ya no son necesarios y se recupera la memoria. dos de ellos nos interesan. lo cual aumenta la confiabilidad y facilita la rehusabilidad. El primer suceso dice: "Se crean los objetos cuando se necesitan. b) Se puede tener un procedimiento procedimiento Saluda (mensaje) escribe mensaje. • Constructores Los constructores son procedimientos de la clase que permiten crear objetos. El destructor le permite al programador despreocuparse de tener que liberar la memoria que deja de utilizar y correr el riesgo de que ésta se sature. • Destructores Un destructor es un procedimiento de la clase que realiza la tarea opuesta a su constructor. mientras que los métodos del objeto deciden cómo llevar a cabo la acción. En el apartado de comunicación con mensajes se menciona que en un programa con orientación a objetos ocurren tres sucesos. pero con distinto tipo y/o número de argumentos. Ing. a) Se puede tener un procedimiento procedimiento Saluda escribe "Hola soy posición". En Sistemas 14 . Es deseable que el destructor se invoque implícitamente cuando el objeto abandone el bloque donde fue declarado. Ejemplo: En la definición de posición consta de los datos. los mensajes mandan una petición de acción a un objeto. coordenadas X e Y y los métodos que inician y devuelven los valores X y Y. Es decir. Estos sucesos se desarrollan con los constructores y destructores. Un constructor es llamado para asignar memoria a un objeto. para asignar valores a los datos del objeto y realizar tareas iniciales para un nuevo objeto. libera la memoria que fue asignada al objeto que fue creado por el constructor.

Posición. Sobreposición de Operadores. b) punto saluda "Hola.complejo) complejos operador *(complejo. pero que realizan tareas diferentes. soy círculo" Se puede hacer algo más complejo como hacer procedimientos que mostrará el punto o mostrará el círculo. Ejemplo: En el ejemplo 2 de números complejos se tienen los operadores aritméticos un ejemplo de sobrecarga de operadores sería: complejos operador + (complejo. c) círculo saluda "Hola. éste provoca acciones totalmente distintas.complejo) Con sus propias palabras defina una a una las características de la programación Orientada a Objetos Ing. soy posición". Ejemplo 1: Constructor iniciar (real 1. con nombres de métodos comunes para operaciones que son similares conceptualmente. Una jerarquía de clases unidas por la herencia. cuando diferentes objetos de las diferentes clases de la jerarquía reciben el mismo mensaje. los procedimientos serían: a) posición saluda "Hola. si se tiene una aritmética definida con ciertos operadores. Reneria García Bermúdez Ejemplos: Normalmente en los lenguajes con orientación a objetos el destructor como el constructor tienen el mismo nombre de la clase a la que pertenece. real 2) x = real 1 y = real 2 Destructor iniciar borra x borra y Métodos Virtuales. Dicho de otra forma. sería deseable que permita utilizar la misma notación para los nuevos tipos de operadores que se definan. soy punto". Es una característica de un lenguaje de programación que permite que el mismo operador sea utilizado con tipos diferentes. Punto y Círculo pueden recibir cada uno el mensaje saluda y responder de distinta forma. Ejemplo: En el ejemplo 1.Programación I Ing. En Sistemas 15 . Como consecuencia.

Programación I Ing. Reneria García Bermúdez Ing. En Sistemas 16 .

En Sistemas 17 .Programación I Mapa Conceptual Ing. Reneria García Bermúdez POO Es Consta Consta Abstracción Paradigma programación Objetos Clases Procedim ientos Posee principios Datos Nueva forma de pensar Poseen Tiempo de Vida Atributos Encapsulamiento Poseen Estado Métodos Herencia Múltiple Comunicación con mensajes Simple Comporta miento Propiedades Polimorfismo Ing.

California. ¿Qué es Java? Características de Java. En Diciembre de 1950 Patrick Naughton. Ing. El resultado fue un lenguaje que tenía similitudes con C. aunque otros afirman que el nombre deriva de las siglas de James Gosling. y Andy Bechtolsheim. Mas tarde. Creación y ejecución de aplicaciones Creación y ejecución de Applets Errores de programación.1 Tipos de datos en Java.1 1. Intentaban desarrollar una nueva tecnología para programar la siguiente generación de dispositivos inteligentes.2. Y así interrumpió todas las comunicaciones regulares con Sun y trabajó sin descanso durante 18 meses. Arthur Van Hoff. por cuestiones de propiedad intelectural.9. empezaron a trabajar en una pequeña oficina en Sand Hill Road en Menlo Park. La Maquina Virtual de Java(JVM).2. 1.porque se añadían y eliminaban características a C++).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. reclutó a varios colegas entre ellos James Gosling y Mike Sheridan para trabajar sobre un nuevo proyecto conocido como "El proyecto verde". En Sistemas 18 .6 1. En un principio se consideraba C++ como lenguaje a utilizar. compilación y ejecución de programas.9 Historia de Java.2 1. pero tanto Gosling como Bill Joy lo encontraron inadecuado.9. Crear un lenguaje de programación fácil de aprender y de usar.2.2. pero lo abandonó para crear un nuevo lenguaje desde cero al que llamo Oak (roble en inglés. Se supone que le pusieron ese nombre mientras tomaban café (Java es nombre de un tipo de café.2.4 1. Reneria García Bermúdez Unidad I: 1.2. originario de Asia).2. al existir ya un lenguaje con el nombre de Oak. por el roble que veía a través de la ventana de su despacho).3 1. 1. ingeniero de Sun Microsystems.2.Programación I Ing. 1. se cambiaría el nombre de Oak a Java.2.2.2.8 1. Instalación y configuración del Java Development Kit (JDK) Edición. C++ y Objetive C y que no estaba ligado a un tipo de CPU concreta.7 1.5 1. en los que Sun veía un campo nuevo a explorar. Gosling intentó primero extender y modificar C++ resultando el lenguaje C++ ++ .2 Elementos del Lenguaje 1. Con la ayuda de otros ingenieros.(++ . según la versión más aceptada.2 Operadores y expresiones.2.

Después de mostrar a Scott McNealy y Bill Joy los prototipos de bajo nivel del sistema. Reneria García Bermúdez En Agosto de 1991 Oak ya corría sus primeros programas.Programación I Ing. incluyendo sistema operativo. hasta que el 3 de septiembre de 1992 se termina el desarrollo y con ello el Proyecto Verde. 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. Para 1992. alguna aplicación básica y el hardware. En Sistemas 19 . lo realizado por el ex equipo verde se adecuaba a este nuevo ambiente. La subsidiaria Proyecto verde fue amortizada por la compañía Sun a mediados de 1994. se dio cuenta de forma oportuna y estableció el Proyecto Verde como una subsidiaria de Sun. Una de las características de HotJava fue su soporte para los "applets". La incipiente subsidiaria fracasó en sus intentos de ganar una oferta con TimeWarner. dispositivo parecido a una PDA. el equipo ya había desarrollado un sistema en un prototipo llamado Star7 (*7). se reconoce el potencial de Java y se acepta el proyecto. no eran del todo eficaces. 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. continuán con el desarrollo. El 29 de septiembre de 1994 se termina el desarrollo del prototipo de HotJava. Patrick Naughton procedió a la construcción del lenguaje de programación Java que se accionaba con un browser prototipo. 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 cese del Proyecto Verde coincidió con el nacimiento del fenómeno mundial WEB. el equipo de Naughton se lanzó en busca de nuevas oportunidades en el mercado. Por su parte. las librerías. Ing. Al examinar las dinámicas de Internet. el lenguaje Oak. De 1993 a 1994. Afortunadamente. Cuando se hace la demostración a los ejecutivos de Sun. mismas que se fueron dando mediante el sistema operativo base. esta vez. Scott McNealy. el presidente de la compañía Sun. Green OS. sin embargo el equipo concluyó que el mercado para consumidores electrónicos smart y las cajas Set-Up en particular.

Ese fue el factor clave que lanzó a Java a ser conocido y famoso. se añade el soporte para Windows NT y en la tercera. un fondo común de capital formado el verano pasado por 11 compañías. Oracle. sistemas de plataforma y servicios para aumentar las capacidades del lenguaje. IBM. anunciaban la versión alpha de Java. Computer Asociates. incluyendo Cisco Systems. que en ese momento solo corría en Solaris. Y como parte de su estrategia de crecimiento mundial y para favorecer la promoción de la nueva tecnología. y Marc Andreessen. Oracle. Netscape y Oracle. Netscape Communications decide apoyar a Java applets en Netscape Navigator 2. a varios sistemas operativos. Symantec. Ese mismo mes aparece la versión 1. Symantec. cofundador y vicepresidente de Netscape. de Sun Microsystems. Hoy en día.0.B. en Agosto. Microsoft./Lotus. puede encontrar la tecnología Java en redes y dispositivos que comprenden desde Internet y superordenadores cientifícos hasta portátiles y teléfonos móviles. Ing. En Sistemas 20 .M. También les permitía crear herramientas de desarrollo para programación Java y los facultaba para acondicionar máquinas virtuales Java (JVM). para Windows 95. I. Sybase y otras poderosas empresas de software están construyendo Software 100% puro JAVA. Muy pronto las licencias o permisos contemplaban prestigiosas firmas como: IBM.0 del JDK. Toshiba y Novell. el navegador mas utilizado de Internet.0 y Microsoft Internet Explorer 3. desde simuladores de mercado en Wall Street hasta juegos de uso doméstico y tarjetas de crédito: Java está en todas partes. Con la segunda alpha de Java en Julio.Programación I Ing. por ejemplo el Corel Office que actualmente está en versión Beta. Reneria García Bermúdez El 23 de mayo de 1995. Java Soft otorgó permisos para otras compañías para que pudieran tener acceso al código fuente y al mismo tiempo mejorar sus navegadores. y así trabajar con terceras partes para crear aplicaciones.0. herramientas. Silicon Graphics. Los apples Java (basados en JDK 1.02) son apoyados por los dos más populares navegadores web (Nestcape Navigator 3. En enero de 1995 Sun formá la empresa Java Soft para dedicarse al desarrollo de productos basados en la tecnologías Java. y el hecho de que Java iba a ser incorporado en Netscape Navigator. en la conferencia SunWorld `95. Informix. John Gage. 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.

En Sistemas 21 . Este códido es interpretado por diferentes computadoras de igual manera. Java realiza todo esto sin necesidad de que uno se lo indique. Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma. etc. El lenguaje fue diseñado con las siguientes características en mente:          Simple. Independiente a la arquitectura. Orientado a Objetos. Seguro. 1. el sintaxis de Java es muy similar al de estos. Como el código compilado de Java (conocido como byte code) es interpretado. solamente hay que implementar un intérprete para cada plataforma. El sistema de Java tiene ciertas políticas que evitan se puedan codificar virus con este lenguaje.). Ing. especialmente para los applets. Dinámico. No te tienes que preocupar por apuntadores. y que fuera independiente de la plataforma en la que se vaya a ejecutar. 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. Multithreaded.Programación I Ing. Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos orientados a objetos. el código resultante un tipo de código binario conocido como byte code. Un lenguaje que soporta multiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo. que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora. Portable. un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el interprete de Java. De esa manera Java logra ser un lenguaje que no depende de una arquitectura computacional definida. Interpretado. Si realizas una modificación a una clase Java se encarga de realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases. Java corre en máquina virtual. Familiar. fue diseñado por la compañía Sun Microsystems Inc.2. Como la mayoría de los programadores están acostumbrados a programar en C o en C++. MAC's. Existen muchas restricciones. Robusto. estaciones de trabajo. ya sean PC.2. etc.3 Características de Java. El sistema de Java maneja la memoria de la computadora por ti. por lo tanto es interpretado.2 ¿Que es Java? El lenguaje de programación Java. Al compilar un programa en Java. Java no requiere que compiles todas las clases de un programa para que este funcione. Reneria García Bermúdez 1. memoria que no se esté utilizando. La filosofía de programación orientada a objetos es diferente a la programación convencional.

etc. 2. pero se interpreta cada vez que se ejecuta en un ordenador. Estas instrucciones son independientes del tipo de ordenador. Los dispositivos electrónicos se controlan mediante la utilización de microprocesadores de bajo precio y reducidas prestaciones. el mismo programa Java puede correr en Windows 98. Reneria García Bermúdez Tres de las principales razones que llevaron a crear Java son: 1. Los bytecodes posibilitan el objetivo de "write once. El intérprete ejecuta cada una de estas instrucciones en un ordenador específico (Windows. Enorme diversidad de controladores electrónicos. Fiabilidad del código y facilidad de desarrollo. Java permite escribir un código común para todos los dispositivos.4 La Máquina Virtual Java El lenguaje Java es a la vez compilado e interpretado. Solaris. 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 tanto.Programación I Ing.2. que varían cada poco tiempo y que utilizan diversos conjuntos de instrucciones. Ing. run anywhere". Por ejemplo. Por ello en los sus ratos libres creó un lenguaje de programación donde intentaba solucionar los fallos que encontraba en C++. a un conjunto de instrucciones que recibe el nombre de bytecodes que se guardan en un archivo cuya extensión es . etc). Con el compilador se convierte el código fuente que reside en archivos cuya extensión es . 3. Solamente es necesario. 1.java. compilar una vez el programa. Macintosh. Cada intérprete Java es una implementación de la Máquina Virtual Java (JVM). Macintosh.class. Creciente necesidad de interfaces mucho más cómodas e intuitivas que los sistemas de ventanas que proliferaban hasta el momento. En Sistemas 22 . de escribir el programa una vez y que se pueda correr en cualquier plataforma que disponga de una implementación de la JVM.

En Sistemas 23 . 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). como los accesos a los dispositivos Vigilar el cumplimiento de las normas de seguridad de las aplicaciones Java Esta última tarea. por tanto. Además. es una de las más importantes que realiza la JVM. Reneria García Bermúdez Java es. de modo que no queden huecos.. cuando el navegador encuentra una página web con un applet. Define esencialmente un ordenador abstracto y especifica las instrucciones (bytecodes) que este ordenador puede ejecutar. las clases se examinan mediante Ing. Las tareas principales de la JVM son las siguientes:      Reservar espacio en memoria para los objetos creados Liberar la memoria no usada (garbage collection).Programación I Ing. 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.class. Como vemos en la figura. su misión principal es la de garantizar la portabilidad de las aplicaciones Java. pone en marcha la JVM y proporciona la información que aparece en la etiqueta <APPLET > . Por ejemplo. El intérprete Java específico ejecuta las instrucciones que se guardan en los archivos cuya extensión es .. No se permiten realizar ciertas conversiones (casting) entre distintos tipos de datos. La Máquina Virtual Java (JVM) es el entorno en el que se ejecutan los programas Java. Asignar variables a registros y pilas Llamar al sistema huésped para ciertas funciones. El cargador de clases dentro de la JVM ve que clases necesita el applet. </APPLET>. 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. algo más que un lenguaje. Dentro del proceso de carga.

Espera a que acabe de copiar todos los ficheros. Reneria García Bermúdez un verificador que asegura que las clases contienen código válido y no malicioso. haz click en "Download J2SE 1.2.Descripción de los programas Para compilar y ejecutar Java se utiliza habitualmente Java Development Kit (kit de desarrollo de Java) o jdk. Tras aceptar la licencia. pulsa "Finish" y si te pide reiniciar el ordenador. Cuando aparezca el cuadro de licencia. Paso 1. Abre la página de jGrasp.1 MB). y guárdalo en disco (ocupa 2. no cambies nada y pulsa "Next>".3 or higher)". J2SE se distribuye individualmente o junto con un entorno de edición de código en Java. se ejecuta el applet. Si quieres usar NetBeans selecciona "Download J2SE v 1. Abre la página de J2SE 1.exe".2 sin NetBeans. El jdk tiene dos familias principales: Java 2 Standard Edition o J2SE. Cuando termine. jGrasp es una versión mejorada del editor pcGRASP que está instalado en los laboratorios.4 SDK" (¡cuidado: NO J2EE!). 2. también de Sun. ten paciencia. más fácil de instalar y sobre todo de configurar. no se va a emplear en el laboratorio porque en el disco de red no funciona muy bien.6 Bundle".z..y.. y Java 2 Enterprise Edition o J2EE.7. Esto te llevará unos minutos. 4. en un ordenador personal puede ser una buena elección como editor de programas en Java.Descarga del software Primero es necesario descargar los programas. no cambies nada y pulsa "Install>".59 MB). selecciona "Windows Offline Installation. y jGrasp como editor.exe | jgrasp175. hazlo. 1. identificadas por una secuencia de números x. desarrollado por Sun Corporation. Finalmente. 2. 3. de sus sitios web de origen: 1.4. Pulsa abajo en el botón "jGRASP Exe" dentro de "jGRASP 1. 5.4.5 (Java 1. Haz doble click en el programa de instalación del jdk: "j2sdk-1_4_2_06-windows-i586p. la edición empresarial. pulsa "I accept the terms in the licence agreement" y luego "Next>". 6. En Sistemas 24 . A su vez.4. que se llama NetBeans.exe)" y guárdalo en disco (tardará un rato: son 51. En la siguiente pantalla sobre los navegadores web. En la siguiente pantalla.5 Instalación y configuración del Java Development Kit (JDK) Paso 0. [j2sdk-1_4_2_06-windows-i586-p. A pesar de que NetBeans es un entorno muy potente y amigable. Multi-language (j2sdk-1_4_2_06-windows-i586-p..2. Sin embargo. Lo más cómodo y parecido al laboratorio es emplear J2SE 1. orientado a uso personal. cada familia tiene diferentes versiones.Programación I Ing. Es recomendable usar esta versión para evitar problemas de instalación. en caso contrario.2_04 SDK with NetBeans 3.exe] Paso 2. Ing.Instalación del jdk 1.

también puedes abrirla yendo a "Menú Inicio">Ejecutar y escribir "cmd" (o si no prueba con "command"). Sigue con el paso siguiente.).Programación I Ing.. "Console". Habitualmente puedes encontrarla en "Menú Inicio">Programas->Accesorios. En Sistemas 25 . si obtienes un mensaje como éste: Ing.. "Command prompt".. Sin embargo.. "DOS Console". Reneria García Bermúdez Paso 3. ¡Enhorabuena! No hace falta que sigas con este paso porque ya lo tienes configurado. Si no la encuentras.. escribe java Si obtienes un mensaje similar a éste: . En el símbolo del sistema. también llamada "Símbolo del Sistema" (o en inglés.Configuración del jdk Abre la "Consola del Sistema".

En el cuadro de valor de variable.2_06\bin y pulsa "Aceptar". <lo que hubiera antes>. Ing.c:\j2sdk1. SIN BORRAR NADA): 5. Tanto en el cuadro superior como el inferior.. 2.. En Sistemas 26 . Reneria García Bermúdez . añade al final (cuidado.Programación I Ing. haz lo siguiente dos veces). busca una variable que se llama "Path". sigue las siguientes instrucciones. 4.4. Selecciona la pestaña "Opciones avanzadas" y pulsa en el botón inferior "Variables de entorno". 1. Pulsa con el botón derecho del ratón sobre "Mi PC" y selecciona "Propiedades". haz click sobre ella y pulsa el botón "Modificar" (si aparece en los dos cuadros. 3.

Cierra el cuadro de diálogo de variables de entorno con "Aceptar" y otra vez "Aceptar" para "Propiedades del sistema". SIN BORRAR NADA): 7. (cuidado: con un PUNTO al final) y pulsa "Aceptar".. En Sistemas 27 . Busca otra vez en la lista de variables si existe "CLASSPATH". ciérrala para que se carguen los nuevos valores. Si existe. 8. En el cuadro de valor de variable. click sobre ella y pulsa el botón "Modificar" (si aparece en los dos cuadros. Si tenías abierta la consola del sistema. haz lo siguiente dos veces).Programación I Ing. Reneria García Bermúdez 6. Ing. añade al final (cuidado. sigue con el siguiente punto. Si no existe. no pasa nada. <lo que hubiera antes>.

A continuación se listas algunas de las utilidades que se pueden encontrar en el JDK: Ing. programa o archivo por lotes ejecutable. jGrasp no hace falta configurarlo de forma especial. pulsa "Finish".. Haz doble click en el programa de instalación del jGrasp: "jgrasp175.2. 4. Contacta con los profesores pidiendo ayuda. En la siguiente pantalla. Si no te funciono. Cuando aparezca el cuadro de licencia.6 Edición.. El Kit de desarrollo de Java (JDK) contiene las herramientas y librerías necesarias para crear y ejecutar applets y aplicaciones en Java.. "Run I/O") el mensaje del programa.Instalación del jGrasp 1. Reneria García Bermúdez Ábre la consola otra vez y comprueba que al escribir javac y java se obtienen los mensajes habituales de Java. Paso 4. compilación y ejecución de programas. pulsa "I agree". ¡muchas felicidades! Ya tienes tu entorno dispuesto y preparado para trabajar con Java en Windows XP..java. Debe compilar correctamente. 2. 3. 2. Escribe el código del programa HolaMundo (que imprime "Hola Mundo!!" en pantalla). selecciona "Standard" en el desplegable y pulsa "Next>". Espera a que acabe de copiar todos los ficheros. no cambies nada (o pon jGrasp) y pulsa "Next>". En Sistemas 28 . Si sigue apareciendo el mensaje "javac" no se reconoce como un comando interno o externo. Debe ejecutarse correctamente y salir en la ventana de salida (abajo. 3. 5.exe". En la siguiente pantalla de "Install Location". . En la siguiente pantalla de "Start Menu Folder". Pulsa sobre el icono "Run" (una persona corriendo). no cambies nada y pulsa "Next>". Abre jGrasp y crea un fichero nuevo en Java grabándolo como HolaMundo. Pulsa sobre el icono "Compile" (una cruz verde). 8. 4. 7. no cambies nada y pulsa "Install". Si has llegado hasta aquí. Si todo ha ido bien. lo mejor es que no sigas adelante porque no va a servir de nada hasta que no resuelvas los problemas. Paso 5. sigue con el paso 4. revisa que has seguido todos los pasos correctamente y vuelve a repetir el paso 3. 1.Programación I Ing. Al terminar. 6. En la siguiente pantalla de "File Associations". Esto te llevará muy poco.Prueba completa 1.

Es un desensamblador de Java..  Instalación y configuración del JDK (Windows 9x) El JDK normalmente se distribuye en archivos de instalación auto-extraibles. Es una herramienta utilizada para trabajar con los archivos JAR. Se encarga de convertir el código fuente escrito en Java a bytecode. En Java 2 por lo general.Programación I  Ing.zip por lo que sólo se hace referencia al directorio jre\lib. por lo que al momento de llevar a cabo la instalación.. Es el intérprete de Java.zip.%PATH% set CLASSPATH=C:\jdk1. javap.2\jre\lib.8. Por ejemplo. básicamente se tiene que indicar el directorio en el cual se colocarán los archivos y directorios que se distribuyen en el JDK. Por ejemplo. hacemos lo siguiente:   set PATH=C:\jdk1.1. Es el compilador de Java. http://www. Reneria García Bermúdez javac. Una vez instalado el JDK se tiene que actualizar la variable de ambiente PATH y crear una nueva variable llamada CLASSPATH. Es un visor de applets. java.8\bin.zip.1.8\lib\classes.javasoft. que contiene una librería de clases que conforma el API de Java. Ing.2 o posterior).2.%PATH% set CLASSPATH=C:\jdk1.com/ . En Sistemas 29 .2. hacemos lo siguiente: set PATH=C:\jdk1. jar. tal como el archivo classes. Ejecuta el bytecode a partir de los archivos class. Obtención del JDK       El JDK se puede obtener directamente de forma gratuita del sitio Web de JavaSoft.2\bin.1. no existe el archivo classes. si el JDK fue instalado en C:\jdk1. La variable de ambiente CLASSPATH le dice a la Máquina Virtual de Java y otras aplicaciones de Java en donde buscar las clases que se necesitan para ejecutar un programa. Se utiliza para crear documentación en formato HTML a partir de el código fuente Java y los comentarios que contiene. appletviewer. si se instaló una versión de Java 2 (JDK 1. En la mayoría de las ocasiones puede utilizarse en lugar de un Navegador Web. javadoc.

Programación I Ing. Reneria García Bermúdez Es necesario actualizar la variable PATH para que el sistema operativo sepa en donde encontrar los programas que se ejecutan cuando se trabaja con Java. básicamente el compilador y el intérprete de Java. En Sistemas 30 . Uso del JDK para construir aplicaciones Uso del JDK para construir applets Ing. javac y java. respectivamente.

Programación I Ing. Editar el archivo con el código fuente Guardar el archivo Ing. Reneria García Bermúdez Creación y ejecución de aplicaciones A continuación se describe de manera gráfica cuales son los pasos a seguir para construir una aplicación Java usando el JDK. En Sistemas 31 .

Editar el archivo con el código fuente del applet Ing.Programación I Ing. En Sistemas 32 . Reneria García Bermúdez Compilar y ejecutar el programa Creación de applets con el JDK A continuación se describe de forma gráfica cuales son los pasos básicos para crear applets utilizando el JDK.

En Sistemas 33 . Reneria García Bermúdez Guardar el archivo Compilar el código fuente Ing.Programación I Ing.

En Sistemas 34 .Programación I Ing. Reneria García Bermúdez Editar el archivo HTML que incluirá el applet Guardar el archivo HTML Abrir el archivo HTML con un navegador (Netscape) Ing.

La sintaxis de Java especifica como se escribirán los siguientes elementos:        Comentarios.2. Ing. Variables y tipos de datos.  Comentarios de varias líneas. Reneria García Bermúdez Abrir el archivo HTML con un navegador (Explorer) 1. los operadores y las variables para construir y evaluar expresiones. Expresiones y operadores. 1.1 Errores de programación. /* Este es un ejemplo de un comentario de varias líneas. como en C y C++. Operadores y expresiones La sintaxis de un lenguaje define cómo se usarán las palabras claves.1.1 Tipos de datos en Java. Bloques y sentencias. En Sistemas 35 . Literales. Los comentarios de varias líneas se incluyen entre los símbolos /* y */. Comentarios Java ofrece tres tipos de comentarios: dos para comentarios regulares en el código fuente y uno para la documentación especial del sistema javadoc. Palabras clave.Programación I Ing.2. Identificadores.

// Este es un comentario de una sola linea //Este es otro comentario  Comentarios para documentación. /** Este tipo de comentarios los utiliza la herramienta javadoc */ Identificadores Un identificador es una secuencia de caracteres comenzando por una letra y conteniendo letras y números. si el editor de texto lo soporta. Los identificadores no se limitan a los caracteres ASCII. No hay un límite en lo concerniente al número de caracteres que pueden tener los identificadores. Para propósitos de construir identificadores. Se distingue del comentario de varias líneas porque se agrega un asterisco adicional al inicio del comentario. Realmente este tipo de comentario es el mismo que el de varias líneas con la diferencia de que la información que contenga será usada para un procesamiento especial que lleva a cabo la herramienta javadoc. Reneria García Bermúdez Comentarios de una sola línea. El comentario se inicia cuando se encuentra la doble diagonal y continua hasta el final de la línea.Programación I */  Ing. En Sistemas 36 . Para comentariar una sola línea se utiliza la doble diagonal //. Estos son algunos ejemplos de identificadores válidos: _varx $var1 MAX_NUM var2 Ing. los caracteres ASCII $ y _ son también considerados letras Java. se pueden escribir identificadores utilizando caracteres Unicode. Las letras Java incluyen los caracteres ASCII A-Z y a-z. Los digitos Java incluyen los digitos ASCII 0-9.

así que tampoco pueden ser utilizadas como identificadores. ** Palabra clave agregada en Java 2 true.456F //literal float       Literales booleanas Las literales boolenas consisten de las palabras reservadas true y false. En Sistemas 37 . Son ejemplos de literales los números. and null no son palabras claves pero son palabras reservadas.Programación I Ing. abstract boolean break byte case catch char class const* continue Default Do Doublé Else Extends Final finally Float For goto* if implements import instanceof int interface long native new package private protected public return short static strictfp** super switch synchronized this throw throws transient try void volatile while * Son palabras claves de Java que no son usadas actualmente. Reneria García Bermúdez Palabras clave La siguiente tabla muestra las palabras claves de Java.456 //literal double 123L //literal long 123. false.  Literales numéricas Se pueden crear literales numéricas a partir de cualquier tipo de dato primitivo. Cualquier declaración en Java que defina un valor constante -un valor que no pueda ser cambiado durante la ejecución del programa. los caracteres y las cadenas de caracteres. Literales Una literal es un valor constante formado por una secuencia de caracteres. Ej.es una literal. Ing. éstas son reservadas y no pueden ser utilizadas como identificadores. 123 //literal int 123.

La tabla siguiente muestra los distintos tipos de operadores que utiliza Java. Las cadenas en Java son instancias de la clase String.Programación I  Ing. 'a'. En Sistemas 38 . operadores y llamadas de métodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor. "cadena123". El tipo de dato del valor regresado por una expresión depende de los elementos usados en la expresión. '%'.  Operadores Los operadores son símbolos especiales que por lo común se utilizan en expresiones. Las literales de cadena se representan por una secuencia de caracteres entre comillas dobles. Reneria García Bermúdez Literales de caracteres Las literales de caracteres se expresan por un solo caracter entre comillas sencillas Ej. "12345" Expresiones y Operadores  Expresión Una expresión es una combinación de variables. por ello cuentan con métodos que permiten combinar. Operador Significado Operadores aritméticos + * / Ejemplo Suma Resta Multiplicación División a+b a-b a*b a/b Ing. probar y modificar cadenas con facilidad. Ej. "hola". '7'  Literales de cadena Una cadena es una combinación de caracteres.

( ) La tabla siguiente muestra la precedencia asignada a los operadores.b) a *= b (a=a * b) a / b (a=a / b) a % b (a=a % b) == != < > <= >= Igualdad Distinto Menor que Mayor que Menor o igual que Mayor o igual que Operadores especiales a == b a != b a<b a>b a <= b a >= b ++ Incremento Decremento Cast Concatenación de cadenas Acceso a variables y métodos Agrupación de expresiones a++ (postincremento) ++a (preincremento) a-. Ing. éstos son listados en orden de precedencia. Reneria García Bermúdez % Módulo Operadores de asignación a%b = += -= *= /= %= Asignación Suma y asignación Resta y asignación Multiplicación y asignación División y asignación Módulo y asignación Operadores relacionales a=b a += b (a=a + b) a -= b (a=a . En Sistemas 39 .Programación I Ing.var1 a = (a + b) * c -- (tipo)expr + .(postdecremento) --a (predecremento) a = (int) b a = "cad1" + "cad2" a = obj.

Ing. En Sistemas 40 . Los operadores de asignación son evaluados de derecha a izquierda. de clase y locales. Variables y tipos de datos Las variables son localidades de memoria en las que pueden almacenarse datos. [] () ++ -.Programación I Ing. Cada una tiene un nombre. Java tiene tres tipos de variables: de instancia.! ~ new (tipo)expr * / % +<< >> >>> < > <= >= == != & ^ | && || ?: = += -= *= /= %= &= ^= |= <<= >>= >>>= Notas Los corchetes se utilizan para los arreglos ! es el NOT lógico y ~ es el complemento de bits new se utiliza para crear instancias de clases Multiplicativos Aditivos Corrimiento de bits Relacionales Igualdad AND (entre bits) OR exclusivo (entre bits) OR inclusivo (entre bits) AND lógico OR lógico Condicional Asignación Todos los operadores binarios que tienen la misma prioridad (excepto los operadores de asignación) son evaluados de izquierda a derecha. un tipo y valor. Reneria García Bermúdez Los operadores en la misma fila tienen igual precedencia Operador .

El tipo de una variable determina los valores que puede almacenar y las operaciones que se pueden hacer sobre ella. int edad = 24. // variable del tipo Punto Se pueden escribir varios nombres de variables del mismo tipo en una sola línea. Se utilizan para definir los atributos de un objeto. con la excepción de que sus valores son los mismos para todas las instancias de la clase. Java no tiene variables globales. apellido. String nombre. Ing. Reneria García Bermúdez Variables de instancia. y. Se declaran y se utilizan dentro de las definiciones de los métodos.  Variable locales. se escribe una declaración de una variable. El nombre de la variable debe de ser un identificador válido. apellido="MiApellido". También se puede asignar un valor inicial a las variables al momento de crearlas. Java es un lenguaje "fuertemente tipeado o tipificado" por lo que es necesario especificar el tipo de dato para cada una de las variables que se vayan a utilizar en un programa. En Sistemas 41 . Ej. variables que son vistas en cualquier parte del programa. z. String nombre. int x. String nombre. y se usa para referirse a los datos que contiene una variable. * A diferencia de otros lenguajes.  Variables de clase. Para dar a una variable un tipo y un nombre. // variable de tipo int Punto p. // variable de tipo String int edad. que tiene la siguiente forma: TipoDato nombreVariable. es decir. Son similares a las variables de instancia.Programación I  Ing.

un carácter.Programación I Ing.50F. cualquier numérico con punto flotante automáticamente se considera double. Para que sea considerado float se agrega una letra "f" o "F" al final del valor. o un valor booleano. double d = 10. Reneria García Bermúdez Variables y tipos de datos Las variables en Java pueden ser uno de los siguientes tipos:  Tipo primitivo. float f = 10. En Sistemas 42  . La tabla siguiente lista los tipos de datos primitivos soportados por Java. Tipo Descripción Números enteros byte short int long Tamaño/Formato Entero byte Entero corto Entero Entero largo Números reales 8-bit 2's 16-bit 2's 32-bit 2's 64-bit 2's float double Punto flotante Punto flotante de doble presición Otros tipos 32-bit IEEE 754 64-bit IEEE 754 char boolean Un solo carácter Un valor booleano 16-bit caracteres Unicode true o false En Java. Referencia. Ing. Una variable de tipo primitivo contiene un solo valor del tamaño y formato apropiado de su tipo: un número.50.

las clases y las interfaces son del tipo referencia. En Sistemas 43 .Programación I Ing. //referencia a un arreglo de enteros Ing. String cad. Ej. Las referencias en Java no son como en C++. éstas son identificadores de instancias de alguna clase en particular. //referencia a un objeto de la clase String Punto p. Reneria García Bermúdez Los arreglos. El valor de una variable del tipo referencia es una dirección de un conjunto de valores representados por una variable. //referencia a un objeto de la clase Punto int[] var_arreglo.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->