Está en la página 1de 61

PROGRAMACIN DE COMPUTADORAS V LENGUAJE DE PROGRAMACIN JAVA

Historia de Java

Java surge de un equipo de trabajo de Sun Microsystems en 1991. La idea original era crear un lenguaje universal para que con un mismo aparato de control remoto se pudieran manejar diferentes equipos de entretenimiento. El lenguaje original, creado por James Gosling, se llamaba Oak, por un rbol que Gosling vea desde su oficina.
2

Historia de Java (cont.)

Con el tiempo, el nombre del lenguaje se cambia a Java (1994) en honor al caf, una de las bebidas favoritas de los programadores. El grupo de trabajo de Sun se dio cuenta de lo efectivo que podra ser este lenguaje en Internet y lo utilizan para desarrollar un Web browser, que llaman HotJava.
3

Historia de Java (cont.)

Lo novedoso de HotJava es que se podan correr applets escritos en Java que permitan animaciones e interaccin con el usuario. El browser fue demostrado en una conferencia mundial de Sun que se ofreci en 1995. El 23 enero de 1996 surge la primera versin pblica, Java 1.0.
4

Historia de Java (cont.)

Java ha seguido desarrollndose a travs de los aos. Las siguientes son las versiones de Java:

Java Java Java Java Java Java Java

1.0 1.1 1.2 1.3 1.4 1.5 1.6

en en en en en en en

1995 1997 1998, tambin conocido como Java 2 2000 2002 2004, tambin conocido como Java 5 2006, tambin conocido como Java 6

Qu es Java?

En nuestro curso utilizaremos un lenguaje de programacin moderno conocido como Java. Java no es slo un lenguaje de programacin, es adems un sistema de tiempo de ejecucin, un juego de herramientas de desarrollo y una interfaz de programacin de aplicaciones (api) Java puede usarse para crear dos tipos de programas:

Aplicaciones programas tradicionales que se ejecutan en la computadora Applets pequeos programas que se ejecutan dentro de una pgina Web. Para verlos hace falta un browser como Internet Explorer o Firefox 6

Qu es java? (cont.)

Al compilar un programa en Java se crea un cdigo objeto denominado Bytecode, que es un fichero independiente de la plataforma (S.O.)que puede ser ejecutado por la mquina virtual java. La mquina virtual java puede considerarse como un microprocesador que se apoya por encima de la arquitectura tanto de hardware como del S.O.
7

Caractersticas de Java

Simple: su principal simplicidad se basa en no incluir ficheros de cabeceras, la ausencia de punteros, no tener que gestionar la memoria y la gran variedad de libreras. Distribuido: es una de las principales caractarsticas que marcaron la orientacin en el diseo de java. Robusto: los programas robustos son aquellos que no detienen su ejecucin bruscamente al presentarse errores. En este sentido Java es robusto ya que no gestiona memoria y tiene un garbage collector que nos evita el trabajo de ir liberando memoria al presentarse errores en la ejecucin. Seguro: como java se utiliza en entornos de red y distribuidos se han cuidado los aspectos de seguridad.
8

Caractersticas de Java (cont.)

Arquitectura neutra: el compilador de java genera un cdigo (bytecode) independiente de cualquier arquitectura. Portable: este aspecto corresponde a que los programas en java los tipos de datos ocupan estrictamente los mismo en cualquier plataforma. No diferencias si son de 16 o 32 bits como en C/C++. Todo se codifica en Big endian. Interpretado: Java no genera un ejecutable diferente cada vez que compilamos en plataformas diferentes. Se genera el mismo cdigo intermedio (bytecode). Lo que permite ser interpretado por cualquier equipo que tenga 9 instalado la MVJ.

Caractersticas de Java (cont.)

Alto rendimiento: ya que los lenguajes interpretados son entre 20 y 100 veces ms lentos, el rendimiento de java es ms aceptable. Multiflujo o multihilo: Java ofrece unos resultados muy buenos debido a que ofrece libreras especificas que nos simplifican mucho el trabajo. Dinmico: Java esta adaptado para entornos en evolucin. En este sentido las libreras pueden aadir nuevos mtodos y atributos a sus clases sin afectar a los clientes.

10

El entorno de Programacin

Los programadores necesitamos adems un conjunto de programas que nos permita crear aplicaciones y applets en Java. ste se conoce como el Kit para Desarrollo de Java (JDK, Java Development Kit). Actualmente J2SDK el cual surge de la versin 1.2. La ltima versin 1.6 o 6 del J2SDK. Existen diferentes ediciones del JDK que se pueden obtener, totalmente gratis, de Sun Microsystems: Java SE, Java EE y Java ME.
11

Ediciones de Java

Java SE (Java Standard Edition)

Provee todo lo necesario para la creacin de aplicaciones y applets. Permite crear aplicaciones para empresas que proveen servicios por el Web. Permite crear aplicaciones para productos como telfonos celulares y enseres elctricos.
12

Java EE (Java Enterprise Edition)

Java ME (Java Micro Edition)

Aplicaciones del J2SDK


Javac: es compilador java que se utiliza para generar el Bytecode. Ejmplo: javac Holamundo.java Java: es programa que se utiliza para ejecutar el programa compilado. Ejemplo: java Holamundo Appletviewer: los applets son miniaplicaciones Java con interfaz grfica que se insertan en paginas web. El appletviewer nos permite probar dichos applets antes de ponerlos en nuestra web. Ejemplo: appletviewer c:\java\demo\applets\TicTacToe\example.html Debugger jdb: es el programa que nos permite depurar nuestro fuente y localizar de forma ms rpida y precisa los errores. Ejemplo: jdb miClase

espreciso haber miClase.java)

compilado

previamente

con

la

opcin

(javac

13

El entorno de ejecucin

Para ejecutar un programa en Java, lo mnimo que se necesita es que la computadora contenga el Ambiente de Ejecucin de Java (JRE, Java Runtime Environment). El JRE se instala de forma automtica la primera vez que se accede a una pgina Web que contiene un applet.

14

Un programa en Java

El siguiente es un programa simple que muestra el mensaje Hello, world!:

public class HolaMundo {

public static void main(String[] args) { System.out.println(Hola, mundo!); } }

15

Creacin del programa

Para escribir el programa se usa un editor de texto y se guarda en un archivo. El programa se conoce como cdigo fuente (source code) y el archivo es el archivo fuente (source file). La extensin .java se usa para los archivos fuente en Java.
16

Creacin del programa (cont.)

La siguiente ventana muestra el cdigo fuente del programa escrito usando Notepad:

17

Creacin del programa (cont.)

La siguiente ventana muestra el cdigo fuente del programa escrito usando el editor de Eclipse:

18

Compilacin y ejecucin del programa

Para poder ejecutar (correr) un programa es necesario traducir el cdigo fuente a lenguaje de mquina. Un compilador es un programa que traduce el cdigo fuente a un cdigo ejecutable en lenguaje de mquina. La extensin .exe se utiliza normalmente para indicar que un archivo es ejecutable, pero no en Java.
19

Compilacin y ejecucin del programa (cont.)

A diferencia de la mayora de los compiladores, el compilador de Java traduce las instrucciones a un cdigo intermedio que se conoce como byte code. La extensin .class es usada para identificar el archivo que contiene la versin en byte code del archivo fuente. Este cdigo intermedio es luego interpretado y ejecutado por otro programa que se conoce como Java Virtual Machine (JVM).
20

Compilacin y ejecucin del programa (cont.)


Step 1 Text Editor

HelloWorldApp.java (Source File)

Step 2

Java Complier

HelloWorldApp.class (Byte Code File) Java Virtual Machine

Step 3

21

Compilacin y ejecucin del programa (cont.)

Existen varias alternativas para compilar y ejecutar un programa en Java:


Puede

hacerse mediante comandos desde el command prompt del sistema operativo. Puede hacerse desde un ambiente integrado de desarrollo (IDE, Integrated Development Enviroment).

22

Compilacin y ejecucin del programa (cont.)

En un IDE se integran un editor de texto, compilador, depurador y otras herramientas a las cuales se accede por un conjunto de mens. Los IDE que ms se utilizan para Java son Eclipse y NetBeans, los cuales estudiaremos en ste y el prximo curso.

23

Compilacin y ejecucin del programa (cont.)

Para compilar y ejecutar un programa desde el command prompt es necesario hacer tres cosas:
1.

Indicarle al sistema operativo dnde est el compilador y el JVM:


set path=C:\Program Files\Java\jdk1.6.0_07\bin

2.

Compilar el programa:
javac HelloWorldApp.java

3.

Invocar el JVM para ejecutar el programa:


java HelloWorldApp

24

Compilacin y ejecucin del programa (cont.)

La siguiente ventana muestra cmo se compila y ejecuta el programa desde el command prompt:

25

Compilacin y ejecucin del programa (cont.)

Para compilar y ejecutar un programa desde Eclipse (un IDE), se presiona el botn Run:

26

Compilacin y ejecucin del programa (cont.)

La siguiente ventana muestra cmo se compila y ejecuta el programa desde Eclipse:

27

Elementos comunes en los lenguajes de programacin

Los lenguajes de programacin, incluyendo Java, incluyen una serie de elementos comunes:
Palabras

reservadas Identificadores Signos de puntuacin Operadores Reglas de Sintaxis

28

Elementos comunes en los lenguajes de programacin (cont.)

Usaremos el siguiente programa para identificar estos elementos:


public static void main(String[] args) { int horas = 40; double pagoxhora = 25.0, sueldobruto; sueldobruto = horas * pagoxhora; System.out.print(Sueldo Bruto: $); System.out.println(sueldobruto); }

public class NominaApp {

}
29

Elementos comunes en los lenguajes de programacin (cont.)

Las palabras reservadas (keywords) tienen un significado especial en el lenguaje.


En

el programa aparecen: public, class, static, void, int y double.

No pueden ser utilizadas para ninguna otra cosa que no sea para lo que fueron definidas. En Java las palabras reservadas se escriben usando slo letras minsculas.
30

Elementos comunes en los lenguajes de programacin (cont.)

Los identificadores son palabras que el programador utiliza para nombrar cosas tales como programas, clases, variables y rutinas (mtodos), entre otros.
En

el programa aparecen:

Nominapp, String y System para el programa y otras clases args, horas, pagoxhora, sueldobruto y out para las variables main y println para los mtodos
31

Elementos comunes en los lenguajes de programacin (cont.)

En Java los identificadores que corresponden a las clases comienzan con letra mayscula. Los identificadores que corresponden a las variables y a los mtodos se escriben comenzando con letra minscula y usando una letra mayscula al comienzo de cada nueva palabra.
32

Elementos comunes en los lenguajes de programacin (cont.)

Java es un lenguaje sensitivo a maysculas y minsculas (case sensitive). Esto quiere decir que todos los identificadores tienen que escribirse tal como fueron definidos.
Por

ejemplo, sueldobruto y SueldoBruto seran dos identificadores distintos.


33

Elementos comunes en los lenguajes de programacin (cont.)

Los signos de puntuacin sirven propsitos especficos, tales como marcar el final de una instruccin o indicar el comienzo y el fin de un conjunto de instrucciones.

En Java las instrucciones terminan con punto y coma (;). En Java las cadenas de caracteres (Strings) se colocan dentro de comillas dobles (). En el programa aparecen otros signos de puntuacin tales como las llaves ({ y }), los parntesis (( y )), los corchetes ([ y ]) y el punto (.).

34

Elementos comunes en los lenguajes de programacin (cont.)

Los operadores son smbolos o que llevan a alguna operacin con datos, tambin conocidos como operandos. Algunos ejemplos de operadores aritmticos son:
para - para * para / para
+

sumar dos nmeros restar dos nmeros multiplicar dos nmeros dividir dos nmeros
35

Elementos comunes en los lenguajes de programacin (cont.)


Algunos operadores pueden utilizarse para varias cosas. Por ejemplo, el operador + puede ser utilizado para:
Sumar

dos nmeros Indicar que un nmero es positivo Concatenar (unir) dos cadenas de caracteres

36

Elementos comunes en los lenguajes de programacin (cont.)

Un operador importante es el =, que requiere una variable a la izquierda y una expresin a la derecha: sueldobruto = horas * pagoxhora; Este operador, llamado operador de asignacin, evala la expresin de la derecha y asigna el resultado a la variable de la izquierda. 37

Elementos comunes en los lenguajes de programacin (cont.)

Las reglas de sintaxis indican cmo escribir correctamente los programas. Estas reglas indican cmo se pueden utilizar las palabras reservadas y los operadores y cmo los signos de puntuacin deben aparecer. Un programa con errores de sintaxis no puede compilarse ni ejecutarse.
38

Elementos fundamentales de un programa en Java

Consideremos de nuevo este programa:


public static void main(String[] args) { int horas = 40; double pagoxhora = 25.0, sueldobruto; sueldobruto = horas * pagoxhora; System.out.print(Sueldo Bruto: $); System.out.println(sueldobruto); }

public class Nominapp {

}
39

Elementos fundamentales de un programa en Java (cont.)

Todo programa en Java debe tener por lo menos una clase. Una clase (class) es un contenedor de rutinas (llamadas mtodos en Java). En un archivo fuente se puede tener ms de una clase pero slo una puede tener el atributo public.
40

Elementos fundamentales de un programa en Java (cont.)

Cuando un archivo fuente en Java contiene una clase pblica, el nombre de la clase pblica tiene que ser el mismo del archivo. En el ejemplo, la clase pblica que representa el programa se llama NominaApp. Por lo tanto, el archivo fuente se tiene que llamar NominaApp.java
41

Elementos fundamentales de un programa en Java (cont.)

La definicin de una clase comienza con un encabezado que contiene la palabra class. Todas las definiciones e instrucciones que pertenecen a una clase estn encerrados entre llaves: { } Estas definiciones e instrucciones son conocidas como el cuerpo de la clase (class body).
42

Elementos fundamentales de un programa en Java (cont.)

En el programa de ejemplo se defini esta clase:


cuerpo de la clase NominaApp

public class NominaApp { }

43

Elementos fundamentales de un programa en Java (cont.)

Como se indic anteriormente, una clase es un contenedor de mtodos. Un mtodo (method) es un contenedor de instrucciones que llevan a cabo una tarea. Toda aplicacin tiene que tener un mtodo principal de nombre main que es el punto de comienzo de la aplicacin.
44

Elementos fundamentales de un programa en Java (cont.)

public class NominaApp {

En el programa de ejemplo se defini el mtodo main:


public static void main(String[] args) { cuerpo del mtodo main }

El mtodo main siempre lleva el mismo encabezado. Durante el curso se explicarn los componentes de este encabezado.

45

Elementos fundamentales de un programa en Java (cont.)

Los mtodos tambin llevan un encabezado y el cuerpo del mtodo (method body) se coloca dentro de llaves. Los mtodos contienen enunciados (statements) que son las instrucciones que se le dan a la computadora. Existen dos tipos principales de enunciados:

Enunciados de declaracin Enunciados ejecutables


46

Elementos fundamentales de un programa en Java (cont.)

Los enunciados de declaracin (declaration statements) permiten indicar el tipo de datos, nombre y, posiblemente, un valor inicial para cada variable.

47

Elementos fundamentales de un programa en Java (cont.)

Nuestro programa contiene los siguientes enunciados de declaracin (resaltados):

public class NominaApp { public static void main(String[] args) { int horas = 40; double pagoxhora = 25.0, sueldobruto; suledobruto = horas * pagoxhora; System.out.print(Suledo Bruto: $); System.out.println(sueldobruto); } }
48

Elementos fundamentales de un programa en Java (cont.)

Los enunciados ejecutable (executable statements) permiten que la computadora lleva a cabo instrucciones tales como:
Obtener

un valor del usuario (input) Asignarle a una variable el resultado de una expresin (process) Mostrar un valor en la pantalla (output)
49

Elementos fundamentales de un programa en Java (cont.)

Nuestro programa contiene los siguientes enunciados ejecutables (resaltados):

public class NominaApp { public static void main(String[] args) { int horas = 40; double pagoxhora = 25.0, sueldobruto; sueldobruto = horas * pagoxhora; // Process System.out.print(Sueldo Bruto: $); // Output System.out.println(sueldobruto); // Output } }
50

Los mtodos print y println

Java provee la clase System que contiene una referencia a la pantalla llamada out. La variable out reconoce los mtodos print y println que se utilizan para mostrar valores en la pantalla (una operacin de output). La clase System es un contenedor de definiciones y mtodos pero no es una aplicacin ya que no contiene el mtodo main.
51

Los mtodos print y println (cont.)

Los clase System y los mtodos print y println pertenecen a lo que se denomina como la Interfaz de Programacin de Aplicaciones (Java API, Application Programming Interface). Un API es una biblioteca (library) que contiene una serie de clases para llevar a cabo ciertas operaciones. Las clases y los mtodos en el Java API estn disponibles para todos los programas en Java.
52

Los mtodos print y println (cont.)

Para mostrar en la pantalla (out) el mensaje:


Programming is Fun!

se puede utilizar el mtodo println de la siguiente manera:


System.out.println(Programming is Fun!);

Como el mensaje es una cadena de caracteres, ste debe colocarse entre comillas dobles ().
53

Los mtodos print y println (cont.)

El mtodo println muestra un valor en la pantalla y mueve el cursor al inicio de la prxima lnea. El mtodo print muestra un valor en la pantalla pero no mueve el cursor. Por ejemplo, otra forma de mostrar el mensaje Programming is Fun! es:
System.out.print(Programming); System.out.println( is Fun!);
54

Los mtodos print y println (cont.)


El mtodo println es una forma especial del mtodo print. Por ejemplo, el siguiente enunciado
System.out.println(Programming is Fun!);

es equivalente a
System.out.print(Programming is Fun!\n);

El segundo enunciado utiliza la secuencia de escape \n (newline) para indicar que se debe mover el cursor al inicio de la prxima lnea.
55

Los mtodos print y println (cont.)

Existen varias secuencias de escape (escape sequences) que controlan cmo se muestran los valores en la pantalla pero las veremos cuando las necesitemos. La secuencia \n se puede colocar en cualquier lugar de una cadena de caracteres. Por ejemplo,
System.out.println(Programming\n is Fun!);

muestra lo siguiente:
Programming is Fun!
56

Los mtodos print y println (cont.)

En el programa del ejemplo se calcula el salario de un empleado asumiendo que trabaj 40 horas, a $25 por hora:
grossPay = hours * payRate; System.out.print(Gross Pay: $); System.out.println(grossPay);

El resultado saldr as en la pantalla:


Gross Pay: $1000.0
57

Los mtodos print y println (cont.)

Otra forma de mostrar varios valores en una sola lnea es usar el operador +, como muestra este ejemplo:
System.out.println(Gross Pay: $ + grossPay);

Cuando uno de los valores es un caracter o una cadena de caracteres, al operador + se le llama concatenacin. Este operador simplemente une los dos valores. El resultado saldr as en la pantalla:
Gross Pay: $1000.0
58

Documentacin interna

El cdigo fuente de todo programa debe estar documentado con comentarios descriptivos y explicativos. Los comentarios son anotaciones que hace el programador para explicar lneas o secciones de cdigo. Son para las personas que van a ver el cdigo ya que el compilador los ignora.
59

Documentacin interna (cont.)

Existen tres formas de hacer comentarios en Java:


Comentarios

de una sola lnea Comentarios de ms de una lnea Comentarios de documentacin

60

Documentacin interna (cont.)

Para escribir un comentario de una sola lnea se usan los smbolos //:
// Esto es un comentario.

Para escribir un comentario de varias lneas se comienzan con /* y se finaliza con */:
/* * Esto es un comentario * de dos lneas. */
61

También podría gustarte