76
1 2. Introducción a la Programación en Java Algoritmos y Desarrollo de Programas I

Introduccion a Java

  • Upload
    ladyjac

  • View
    212

  • Download
    0

Embed Size (px)

DESCRIPTION

Curso basico Java

Citation preview

Page 1: Introduccion a Java

1

2. Introducción a la Programación en Java

Algoritmos y Desarrollo de Programas I

Page 2: Introduccion a Java

22

Objetivos

Cuando finalice esta lección, el estudiante: Sabrá qué es Java y para qué tipos de

programas puede ser utilizado. Conocerá los datos más importantes

sobre el desarrollo histórico de Java. Podrá crear, compilar y ejecutar

programas en Java utilizando herramientas de la línea de comandos y ambientes integrados de desarrollo.

Page 3: Introduccion a Java

33

Objetivos (cont.)

Cuando finalice esta lección, el estudiante: Podrá identificar los elementos de un

lenguaje de programación, en particular de Java.

Sabrá lo que es un método y cómo Java utiliza clases como contenedores de métodos.

Podrá escribir programas que muestren mensajes en la pantalla utilizando interfaces de texto.

Page 4: Introduccion a Java

44

Objetivos (cont.)

Cuando finalice esta lección, el estudiante: Podrá escribir programas que muestren

mensajes en la pantalla utilizando cajas de diálogo.

Sabrá la diferencia entre documentación interna y documentación externa y cómo usar la herramienta javadoc.

Page 5: Introduccion a Java

55

¿Qué es Java?

En nuestro curso utilizaremos un lenguaje de programación moderno conocido como Java.

Java puede usarse para crear dos tipos de programas: Aplicaciones – programas tradicionales que

se ejecutan en la computadora Applets – pequeños programas que se

ejecutan dentro de una página Web. Para verlos hace falta un browser como Internet Explorer o Firefox

Page 6: Introduccion a Java

66

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 veía desde su oficina.

Page 7: Introduccion a Java

77

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 podría ser este lenguaje en Internet y lo utilizan para desarrollar un Web browser, que llaman HotJava.

Page 8: Introduccion a Java

88

Historia de Java (cont.)

Lo novedoso de HotJava es que se podían correr applets escritos en Java que permitían animaciones e interacción con el usuario.

El browser fue demostrado en una conferencia mundial de Sun que se ofreció en 1995.

Este es el año en que surge la primera versión pública, Java 1.0.

Page 9: Introduccion a Java

99

Historia de Java (cont.)

Java ha seguido desarrollándose a través de los años.

Las siguientes son las versiones de Java: Java 1.0 en 1995 Java 1.1 en 1997 Java 1.2 en 1998, también conocido como Java 2 Java 1.3 en 2000 Java 1.4 en 2002 Java 1.5 en 2004, también conocido como Java 5 Java 1.6 en 2006, también conocido como Java 6

Page 10: Introduccion a Java

1010

Ediciones de Java (cont.)

Para ejecutar un programa en Java, lo mínimo que se necesita es que la computadora contenga el Ambiente de Ejecución de Java (JRE, Java Runtime Environment).

El JRE se instala de forma automática la primera vez que se accede a una página Web que contiene un applet.

Page 11: Introduccion a Java

1111

Ediciones de Java (cont.)

Los programadores necesitamos además 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.

Page 12: Introduccion a Java

1212

Ediciones de Java (cont.)

Java SE (Java Standard Edition) Provee todo lo necesario para la creación

de aplicaciones y applets. Java EE (Java Enterprise Edition)

Permite crear aplicaciones para empresas que proveen servicios por el Web.

Java ME (Java Micro Edition) Permite crear aplicaciones para

productos como teléfonos celulares y enseres eléctricos.

Page 13: Introduccion a Java

1313

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

}

}

Page 14: Introduccion a Java

1414

Creación del programa

Para escribir el programa se usa un editor de texto y se guarda en un archivo.

El programa se conoce como código fuente (source code) y el archivo es el archivo fuente (source file).

La extensión .java se usa para los archivos fuente en Java.

Page 15: Introduccion a Java

1515

Creación del programa (cont.)

La siguiente ventana muestra el código fuente del programa escrito usando Notepad:

Page 16: Introduccion a Java

1616

Creación del programa (cont.) La siguiente ventana muestra el código

fuente del programa escrito usando el editor de Eclipse:

Page 17: Introduccion a Java

1717

Compilación y ejecución del programa

Para poder ejecutar (correr) un programa es necesario traducir el código fuente a lenguaje de máquina.

Un compilador es un programa que traduce el código fuente a un código ejecutable en lenguaje de máquina.

La extensión .exe se utiliza normalmente para indicar que un archivo es ejecutable, pero no en Java.

Page 18: Introduccion a Java

1818

Compilación y ejecución del programa (cont.)

A diferencia de la mayoría de los compiladores, el compilador de Java traduce las instrucciones a un código intermedio que se conoce como byte code.

La extensión .class es usada para identificar el archivo que contiene la versión en byte code del archivo fuente.

Este código intermedio es luego interpretado y ejecutado por otro programa que se conoce como Java Virtual Machine (JVM).

Page 19: Introduccion a Java

1919

Text Editor

Java Complier

Java Virtual Machine

HelloWorldApp.java(Source File)

HelloWorldApp.class(Byte Code File)

Step 1

Step 2

Step 3

Compilación y ejecución del programa (cont.)

Page 20: Introduccion a Java

2020

Compilación y ejecución 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).

Page 21: Introduccion a Java

2121

Compilación y ejecución 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 menús.

Los IDE que más se utilizan para Java son Eclipse y NetBeans, los cuales estudiaremos en éste y el próximo curso.

Page 22: Introduccion a Java

2222

Compilación y ejecución del programa (cont.)

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

1. Indicarle al sistema operativo dónde 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

Page 23: Introduccion a Java

2323

Compilación y ejecución del programa (cont.)

La siguiente ventana muestra cómo se compila y ejecuta el programa desde el command prompt:

Page 24: Introduccion a Java

2424

Compilación y ejecución del programa (cont.)

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

Page 25: Introduccion a Java

2525

Compilación y ejecución del programa (cont.) La siguiente ventana muestra cómo se

compila y ejecuta el programa desde Eclipse:

Page 26: Introduccion a Java

2626

Elementos comunes en los lenguajes de programación

Los lenguajes de programación, incluyendo Java, incluyen una serie de elementos comunes: Palabras reservadas Identificadores Signos de puntuación Operadores Reglas de Sintaxis

Page 27: Introduccion a Java

2727

Elementos comunes en los lenguajes de programación (cont.)

Usaremos el siguiente programa para identificar estos elementos:

public class PayrollApp {

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); }}

Page 28: Introduccion a Java

2828

Elementos comunes en los lenguajes de programación (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 sólo letras minúsculas.

Page 29: Introduccion a Java

2929

Elementos comunes en los lenguajes de programación (cont.)

Los identificadores son palabras que el programador utiliza para nombrar cosas tales como programas, clases, variables y rutinas (métodos), 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 métodos

Page 30: Introduccion a Java

3030

Elementos comunes en los lenguajes de programación (cont.)

En Java los identificadores que corresponden a las clases comienzan con letra mayúscula.

Los identificadores que corresponden a las variables y a los métodos se escriben comenzando con letra minúscula y usando una letra mayúscula al comienzo de cada nueva “palabra”.

Page 31: Introduccion a Java

3131

Elementos comunes en los lenguajes de programación (cont.)

Java es un lenguaje sensitivo a mayúsculas y minúsculas (case sensitive).

Esto quiere decir que todos los identificadores tienen que escribirse tal como fueron definidos. Por ejemplo, grossPay y GrossPay

serían dos identificadores distintos.

Page 32: Introduccion a Java

3232

Elementos comunes en los lenguajes de programación (cont.)

Los signos de puntuación sirven propósitos específicos, tales como marcar el final de una instrucción 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

puntuación tales como las llaves (‘{’ y ‘}’), los paréntesis (‘(’ y ‘)’), los corchetes (‘[’ y ‘]’) y el punto (‘.’).

Page 33: Introduccion a Java

3333

Elementos comunes en los lenguajes de programación (cont.)

Los operadores son símbolos o que llevan a alguna operación con datos, también conocidos como operandos.

Algunos ejemplos de operadores aritméticos son: + para sumar dos números - para restar dos números * para multiplicar dos números / para dividir dos números

Page 34: Introduccion a Java

3434

Elementos comunes en los lenguajes de programación (cont.)

Algunos operadores pueden utilizarse para varias cosas.

Por ejemplo, el operador + puede ser utilizado para: Sumar dos números Indicar que un número es positivo Concatenar (unir) dos cadenas de

caracteres A estos operadores se les llama

operadores sobrecargados.

Page 35: Introduccion a Java

3535

Elementos comunes en los lenguajes de programación (cont.)

Un operador importante es el =,que requiere una variable a la izquierda y una expresión a la derecha:

grossPay = hours * payRate; Este operador, llamado operador

de asignación, evalúa la expresión de la derecha y asigna el resultado a la variable de la izquierda.

Page 36: Introduccion a Java

3636

Elementos comunes en los lenguajes de programación (cont.)

Las reglas de sintaxis indican cómo escribir correctamente los programas.

Estas reglas indican cómo se pueden utilizar las palabras reservadas y los operadores y cómo los signos de puntuación deben aparecer.

Un programa con errores de sintaxis no puede compilarse ni ejecutarse.

Page 37: Introduccion a Java

3737

Elementos fundamentales de un programa en Java

Consideremos de nuevo este programa:

public class PayrollApp {

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); }}

Page 38: Introduccion a Java

3838

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 métodos en Java).

En un archivo fuente se puede tener más de una clase pero sólo una puede tener el atributo public.

Page 39: Introduccion a Java

3939

Elementos fundamentales de un programa en Java (cont.)

Cuando un archivo fuente en Java contiene una clase pública, el nombre de la clase pública tiene que ser el mismo del archivo.

En el ejemplo, la clase pública que representa el programa se llama PayrollApp.

Por lo tanto, el archivo fuente se tiene que llamar PayrollApp.java

Page 40: Introduccion a Java

4040

Elementos fundamentales de un programa en Java (cont.)

La definición de una clase comienza con un encabezado que contiene la palabra class.

Todas las definiciones e instrucciones que pertenecen a una clase están encerrados entre llaves: { }

Estas definiciones e instrucciones son conocidas como el cuerpo de la clase (class body).

Page 41: Introduccion a Java

4141

Elementos fundamentales de un programa en Java (cont.)

En el programa de ejemplo se definió esta clase:

public class PayrollApp {

cuerpo de la clase PayrollApp}

Page 42: Introduccion a Java

4242

Elementos fundamentales de un programa en Java (cont.)

Como se indicó anteriormente, una clase es un contenedor de métodos.

Un método (method) es un contenedor de instrucciones que llevan a cabo una tarea.

Toda aplicación tiene que tener un método principal de nombre main que es el punto de comienzo de la aplicación.

Page 43: Introduccion a Java

4343

Elementos fundamentales de un programa en Java (cont.)

En el programa de ejemplo se definió el método main:

public class PayrollApp {

public static void main(String[] args) {

cuerpo del método main }}

El método main siempre lleva el mismo encabezado.

Durante el curso se explicarán los componentes de este encabezado.

Page 44: Introduccion a Java

4444

Elementos fundamentales de un programa en Java (cont.)

Los métodos también llevan un encabezado y el cuerpo del método (method body) se coloca dentro de llaves.

Los métodos contienen enunciados (statements) que son las instrucciones que se le dan a la computadora.

Existen dos tipos principales de enunciados: Enunciados de declaración Enunciados ejecutables

Page 45: Introduccion a Java

4545

Elementos fundamentales de un programa en Java (cont.)

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

Page 46: Introduccion a Java

4646

Elementos fundamentales de un programa en Java (cont.)

Nuestro programa contiene los siguientes enunciados de declaración (resaltados):

public class PayrollApp {

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); }}

Page 47: Introduccion a Java

4747

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 expresión (process) Mostrar un valor en la pantalla

(output)

Page 48: Introduccion a Java

4848

Elementos fundamentales de un programa en Java (cont.) Nuestro programa contiene los

siguientes enunciados ejecutables (resaltados):

public class PayrollApp {

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 }}

Page 49: Introduccion a Java

4949

Los métodos print y println

Java provee la clase System que contiene una referencia a la pantalla llamada out.

La variable out reconoce los métodos print y println que se utilizan para mostrar valores en la pantalla (una operación de output).

La clase System es un contenedor de definiciones y métodos pero no es una aplicación ya que no contiene el método main.

Page 50: Introduccion a Java

5050

Los métodos print y println (cont.)

Los clase System y los métodos print y println pertenecen a lo que se denomina como la Interfaz de Programación 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 métodos en el Java API están disponibles para todos los programas en Java.

Page 51: Introduccion a Java

5151

Los métodos print y println (cont.)

Para mostrar en la pantalla (out) el mensaje:

Programming is Fun!

se puede utilizar el método 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 (‘″’).

Page 52: Introduccion a Java

5252

Los métodos print y println (cont.)

El método println muestra un valor en la pantalla y mueve el cursor al inicio de la próxima línea.

El método 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!″);

Page 53: Introduccion a Java

53

Los métodos print y println (cont.)

El método println es una forma especial del método print.

Por ejemplo, el siguiente enunciadoSystem.out.println(″Programming is Fun!″);

es equivalente aSystem.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 próxima línea.

Page 54: Introduccion a Java

54

Los métodos print y println (cont.)

Existen varias secuencias de escape (escape sequences) que controlan cómo 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!

Page 55: Introduccion a Java

5555

Los métodos 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

Page 56: Introduccion a Java

56

Los métodos print y println (cont.)

Otra forma de mostrar varios valores en una sola línea 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 concatenación.

Este operador simplemente une los dos valores.

El resultado saldrá así en la pantalla:Gross Pay: $1000.0

Page 57: Introduccion a Java

5757

Cajas de diálogo

Otra forma de mostrar mensajes en la pantalla es usando cajas de diálogo.

Una caja de diálogo (dialog box) es una ventana que muestra un mensaje o solicita datos.

Las principales cajas de diálogo 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

Page 58: Introduccion a Java

5858

Cajas de diálogo (cont.)

A continuación se muestran los tres tipos de cajas de diálogo: Message Dialog:

Input Dialog:

Confirm Dialog:

Page 59: Introduccion a Java

5959

Cajas de diálogo (cont.)

Para mostrar cajas de diálogo se usan los métodos showMessageDialog, showInputDialog y showConfirmDialog.

Estos métodos se definen en la clase JOptionPane.

Como ocurre con la clase System, la clase JOptionPane es un contenedor de definiciones y métodos pero no es una aplicación ya que no contiene el método main.

Page 60: Introduccion a Java

60

Cajas de diálogo (cont.)

Para tener acceso a la clase JOptionPane y a sus métodos hay que colocar la siguiente instrucción al inicio del programa:

import javax.swing.JOptionPane;

Este enunciado le indica al compilador de Java dónde se encuentra la clase JOptionPane.

La clase JOptionPane es parte del paquete javax.swing.

Page 61: Introduccion a Java

6161

Cajas de diálogo (cont.)

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

Page 62: Introduccion a Java

62

Cajas de diálogo (cont.)

El método main de todo programa que use cajas de diálogo debe terminar con el siguiente enunciado:

System.exit(0);

Este enunciado permite que el programa termine su ejecución después de cerrar la ventana de diálogo.

Page 63: Introduccion a Java

6363

El método showMessageDialog

El método showMessageDialog permite mostrar un mensaje en una caja de diálogo.

Por ejemplo:JOptionPane.showMessageDialog(null,

″This is a message dialog box.″);

Page 64: Introduccion a Java

6464

El método showMessageDialog (cont.)

El método 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 método

que permiten indicar el título y el ícono que se muestran.

Page 65: Introduccion a Java

6565

El método showMessageDialog (cont.)

El siguiente programa muestra el mensaje “Hello, World!” usando una caja de diálogo:

import javax.swing.JOptionPane;

public class HelloWorldGUIApp {

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

Page 66: Introduccion a Java

6666

Documentación interna

El código fuente de todo programa debe estar documentado con comentarios descriptivos y explicativos.

Los comentarios son anotaciones que hace el programador para explicar líneas o secciones de código.

Son para las personas que van a ver el código ya que el compilador los ignora.

Page 67: Introduccion a Java

6767

Documentación interna (cont.)

Existen tres formas de hacer comentarios en Java: Comentarios de una sola línea Comentarios de más de una línea Comentarios de documentación

Page 68: Introduccion a Java

6868

Documentación interna (cont.)

Para escribir un comentario de una sola línea se usan los símbolos //:

// Esto es un comentario. Para escribir un comentario de varias

líneas se comienzan con /* y se finaliza con */:

/*

* Esto es un comentario

* de dos líneas.

*/

Page 69: Introduccion a Java

6969

Documentación interna (cont.)

El tercer tipo de comentario se conoce en Java como comentario de documentación.

Se usan para describir las clases y los métodos.

Esta forma de comentario comienza con /** y termina con */

/** * Esto es un comentario de * documentación de dos líneas. */

Page 70: Introduccion a Java

7070

Documentación 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); }}

Page 71: Introduccion a Java

7171

Documentación interna (cont.)

Como se puede observar en el programa anterior, los comentarios de documentación pueden contener unas etiquetas precedidas por el símbolo @. @author – permite indicar el nombre del

autor del programa @version – permite indicar la versión y la

fecha del programa Estas etiquetas son procesadas por

una herramienta llamada javadoc.

Page 72: Introduccion a Java

7272

Documentación externa y javadoc

Los comentarios de documentación pueden ser leídos y procesados por javadoc, un programa que viene en el JDK.

javadoc puede leer el código fuente (source code) y generar archivos en HTML que documentan el código externamente.

Page 73: Introduccion a Java

73

Documentación 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

Page 74: Introduccion a Java

74

Documentación externa y javadoc (cont.)

Desde Eclipse, se puede ejecutar javadoc seleccionando Project – Generate Javadoc.

El documento generado se almacenará en un folder llamado doc.

Page 75: Introduccion a Java

75

Documentación externa y javadoc (cont.)

A continuación se muestra la documentación generada:

Page 76: Introduccion a Java

7676

Documentación externa y javadoc (cont.)

Además de la documentación generada por javadoc, cualquier otro manual que escriba el programador y que no forme parte del código fuente constituye la documentación externa del programa.

Este tipo de documentación externa incluye los manuales de análisis, diseño y operación del programa.