2. Introducción a la
Programación en Java
Objetivos
Al finalizar esta sesió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.
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.
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.
¿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
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.
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
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
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
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
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.
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.
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!″); }
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
Creación del programa (cont.)
La siguiente ventana muestra el
código fuente del programa escrito usando Notepad:
Creación del programa (cont.)
La siguiente ventana muestra el código
fuente del programa escrito usando el editor de Eclipse:
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.
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
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.)
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,
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.
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:
Compilación y ejecución del programa
(cont.)
La siguiente ventana muestra cómo
se compila y ejecuta el programa desde el command prompt:
Compilación y ejecución del programa
(cont.)
Para compilar y ejecutar un
programa desde Eclipse (un
Compilación y ejecución del programa
(cont.)
La siguiente ventana muestra cómo se
compila y ejecuta el programa desde Eclipse:
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
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);
} }
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.
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
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”.
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
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 (‘.’).
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
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.
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.
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
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);
} }
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.
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
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
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 }
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.
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
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
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.
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);
} }
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
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 }
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
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.
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 (‘″’).
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!″);
Los métodos print y println (cont.)
El método println es una forma
especial del método 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 próxima línea.
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!
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:
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
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
Cajas de diálogo (cont.)
A continuación se muestran los tres
tipos de cajas de diálogo:
Message Dialog:
Input Dialog:
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
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
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
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.
El método showMessageDialog
El método showMessageDialog permite
mostrar un mensaje en una caja de diálogo.
Por ejemplo:
JOptionPane.showMessageDialog(null,
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.
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);
} }
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.
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
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.
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. */
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;
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
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
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í:
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.Documentación externa y javadoc
(cont.)
A continuación se muestra la documentación
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.