Vous êtes sur la page 1sur 76

2.

Introduccin a la Programacin en Java


Algoritmos y Desarrollo de Programas I

Objetivos

Cuando finalice esta leccin, el estudiante:

Sabr qu es Java y para qu tipos de programas puede ser utilizado. Conocer los datos ms importantes sobre el desarrollo histrico de Java. Podr crear, compilar y ejecutar programas en Java utilizando herramientas de la lnea de comandos y ambientes integrados de desarrollo.
2

Objetivos (cont.)

Cuando finalice esta leccin, el estudiante:

Podr identificar los elementos de un lenguaje de programacin, en particular de Java. Sabr lo que es un mtodo y cmo Java utiliza clases como contenedores de mtodos. Podr escribir programas que muestren mensajes en la pantalla utilizando interfaces de texto.
3

Objetivos (cont.)

Cuando finalice esta leccin, el estudiante:

Podr escribir programas que muestren mensajes en la pantalla utilizando cajas de dilogo. Sabr la diferencia entre documentacin interna y documentacin externa y cmo usar la herramienta javadoc.

Qu es Java?

En nuestro curso utilizaremos un lenguaje de programacin moderno conocido como Java. 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
5

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.
6

Historia de Java (cont.)

Con el tiempo, el nombre del lenguaje se cambia a Java 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.
7

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. Este es el ao en que surge la primera versin pblica, Java 1.0.
8

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

Ediciones de Java (cont.)

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.
10

Ediciones de Java (cont.)

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). 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 (cont.)

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)

Un programa en Java

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

public class HelloWorld {

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

13

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.
14

Creacin del programa (cont.)

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

15

Creacin del programa (cont.)

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

16

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.
17

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).
18

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

19

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).

20

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.

21

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
22

Compilacin y ejecucin del programa (cont.)

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

23

Compilacin y ejecucin del programa (cont.)

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

24

Compilacin y ejecucin del programa (cont.)

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

25

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

26

Elementos comunes en los lenguajes de programacin (cont.)

Usaremos el siguiente programa para identificar estos elementos:


public static void main(String[] args) { int hours = 40; double payRate = 25.0, grossPay;
grossPay = hours * payRate; System.out.print(Gross Pay: $); System.out.println(grossPay); }

public class PayrollApp {

}
27

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.
28

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:
PayRollApp, String y System para el programa y otras clases args, hours, payRate, grossPay y out para las variables main y println para los mtodos

29

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.
30

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, grossPay y GrossPay seran dos identificadores distintos.

31

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 (.).

32

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
33

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

A estos operadores se les llama operadores sobrecargados.


34

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:
grossPay = hours * payRate;

Este operador, llamado operador de asignacin, evala la expresin de la derecha y asigna el resultado a la variable de la izquierda.
35

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.
36

Elementos fundamentales de un programa en Java

Consideremos de nuevo este programa:


public static void main(String[] args) { int hours = 40; double payRate = 25.0, grossPay;
grossPay = hours * payRate; System.out.print(Gross Pay: $); System.out.println(grossPay); }

public class PayrollApp {

}
37

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.
38

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 PayrollApp. Por lo tanto, el archivo fuente se tiene que llamar PayrollApp.java
39

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).
40

Elementos fundamentales de un programa en Java (cont.)

En el programa de ejemplo se defini esta clase:


cuerpo de la clase PayrollApp

public class PayrollApp {

41

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.
42

Elementos fundamentales de un programa en Java (cont.)

En el programa de ejemplo se defini el mtodo main:


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

public class PayrollApp {

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

43

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


44

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.

45

Elementos fundamentales de un programa en Java (cont.)

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


public static void main(String[] args) { int hours = 40; double payRate = 25.0, grossPay;

public class PayrollApp {

grossPay = hours * payRate; System.out.print(Gross Pay: $); System.out.println(grossPay);


} }
46

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)
47

Elementos fundamentales de un programa en Java (cont.)

Nuestro programa contiene los siguientes enunciados ejecutables (resaltados):


public static void main(String[] args) { int hours = 40; double payRate = 25.0, grossPay;
grossPay = hours * payRate; // Process System.out.print(Gross Pay: $); // Output System.out.println(grossPay); // Output }

public class PayrollApp {

}
48

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.
49

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.
50

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 ().
51

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!);
52

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.
53

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!
54

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
55

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
56

Cajas de dilogo

Otra forma de mostrar mensajes en la pantalla es usando cajas de dilogo. Una caja de dilogo (dialog box) es una ventana que muestra un mensaje o solicita datos. Las principales cajas de dilogo son:

Message Dialog muestra un mensaje Input Dialog solicita un valor al usuario Confirm Dialog le hace al usuario una pregunta de tipo S/No/Cancelar

57

Cajas de dilogo (cont.)

A continuacin se muestran los tres tipos de cajas de dilogo:

Message Dialog:

Input Dialog:

Confirm Dialog:

58

Cajas de dilogo (cont.)

Para mostrar cajas de dilogo se usan los mtodos showMessageDialog, showInputDialog y showConfirmDialog. Estos mtodos se definen en la clase JOptionPane. Como ocurre con la clase System, la clase JOptionPane es un contenedor de definiciones y mtodos pero no es una aplicacin ya que no contiene el mtodo main.
59

Cajas de dilogo (cont.)

Para tener acceso a la clase JOptionPane y a sus mtodos hay que colocar la siguiente instruccin al inicio del programa:
import javax.swing.JOptionPane;

Este enunciado le indica al compilador de Java dnde se encuentra la clase JOptionPane. La clase JOptionPane es parte del paquete javax.swing.
60

Cajas de dilogo (cont.)

Los paquetes permiten agrupar clases relacionadas y el paquete javax.swing contiene las clases que permiten crear aplicaciones con interfaces grficas para los usuarios (GUI, Graphical User Interface).

61

Cajas de dilogo (cont.)

El mtodo main de todo programa que use cajas de dilogo debe terminar con el siguiente enunciado:
System.exit(0);

Este enunciado permite que el programa termine su ejecucin despus de cerrar la ventana de dilogo.
62

El mtodo showMessageDialog

El mtodo showMessageDialog permite mostrar un mensaje en una caja de dilogo. Por ejemplo:
JOptionPane.showMessageDialog(null, This is a message dialog box.);

63

El mtodo showMessageDialog (cont.)

El mtodo showMessageDialog requiere dos argumentos (valores):

El primero normalmente es null para que la caja se muestre en el centro de la pantalla El segundo es el mensaje

Existen versiones de este mtodo que permiten indicar el ttulo y el cono que se muestran.
64

El mtodo showMessageDialog (cont.)

El siguiente programa muestra el mensaje Hello, World! usando una caja de dilogo:

import javax.swing.JOptionPane;
public class HelloWorldGUIApp { public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Hello, World!"); System.exit(0); } }

65

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.
66

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

67

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. */

68

Documentacin interna (cont.)

El tercer tipo de comentario se conoce en Java como comentario de documentacin. Se usan para describir las clases y los mtodos. Esta forma de comentario comienza con /** y termina con */
/** * Esto es un comentario de * documentacin de dos lneas. */
69

Documentacin interna (cont.)


/** * This program computes the gross pay for an employee * that works 40 hours at $25 an hour. * @author Tony Gaddis * @version 1.0, September 08, 2008 */ public class PayrollApp { /** * The application's entry point. */ public static void main(String[] args) { /* * Declare the numbers of hours worked during the * week, the pay rate and the gross pay. */ int hours = 40; double payRate = 25.0, grossPay; // Compute and display the gross pay. grossPay = hours * payRate; System.out.println("Gross Pay: $" + grossPay);

}
}

70

Documentacin interna (cont.)

Como se puede observar en el programa anterior, los comentarios de documentacin pueden contener unas etiquetas precedidas por el smbolo @.

@author permite indicar el nombre del autor del programa @version permite indicar la versin y la fecha del programa

Estas etiquetas son procesadas por una herramienta llamada javadoc.


71

Documentacin externa y javadoc

Los comentarios de documentacin pueden ser ledos y procesados por javadoc, un programa que viene en el JDK. javadoc puede leer el cdigo fuente (source code) y generar archivos en HTML que documentan el cdigo externamente.

72

Documentacin externa y javadoc (cont.)

Los archivos generados por javadoc pueden ser vistos con un browser como Internet Explorer o Firefox. La herramienta javadoc puede ejecutarse desde el command prompt y desde Eclipse. Desde el command prompt se puede ejecutar javadoc as:
javadoc PayrollApp.java

73

Documentacin externa y javadoc (cont.)

Desde Eclipse, se puede ejecutar javadoc seleccionando Project Generate Javadoc. El documento generado se almacenar en un folder llamado doc.
74

Documentacin externa y javadoc (cont.)

A continuacin se muestra la documentacin generada:

75

Documentacin externa y javadoc (cont.)

Adems de la documentacin generada por javadoc, cualquier otro manual que escriba el programador y que no forme parte del cdigo fuente constituye la documentacin externa del programa. Este tipo de documentacin externa incluye los manuales de anlisis, diseo y operacin del programa.
76

Vous aimerez peut-être aussi