You are on page 1of 30

NetBeans IDE 5.

5
JAVA 2
Programacin II
2T1-IS
Profesor: Ing. Csar Giovanni Abea Zelaya

UNI - Norte

7/9/2007

Java surgi en 1991 cuando un grupo de


ingenieros de Sun Microsystems trataron de
disear un nuevo lenguaje de programacin
destinado a electrodomsticos. La reducida
potencia de clculo y memoria de los
electrodomsticos llev a desarrollar un
lenguaje sencillo capaz de generar cdigo de
tamao muy reducido.

Como

lenguaje de programacin para


computadores, Java se introdujo a finales
de 1995. La clave fue la incorporacin de un
intrprete Java en la versin 2.0 del
programa Netscape Navigator, produciendo
una verdadera revolucin en Internet. Java
1.1 apareci a principios de 1997,
mejorando sustancialmente la primera
versin del lenguaje. Java 1.2, ms tarde
rebautizado como Java 2, naci a finales
de 1998.
7/9/2007

Al

programar en Java no se parte de cero.


Cualquier aplicacin que se desarrolle
cuelga (o se apoya, segn como se
quiera ver) en un gran nmero de clases
preexistentes. Algunas de ellas las ha
podido hacer el propio usuario, otras
pueden ser comerciales, pero siempre hay
un nmero muy importante de clases que
forman parte del propio lenguaje (el API o
Application Programming Interface de
Java).
7/9/2007

Java

2 (antes llamado Java 1.2 o JDK 1.2)


es la tercera versin importante del
lenguaje de programacin Java.

7/9/2007

Los

programas desarrollados en Java


presentan diversas ventajas frente a los
desarrollados en otros lenguajes como
C/C++. La ejecucin de programas en Java
tiene muchas posibilidades: ejecucin
como aplicacin independiente (Standalone Application), ejecucin como applet,
ejecucin como servlet, etc.

7/9/2007

Un applet es una aplicacin especial que se


ejecuta dentro de un navegador o browser (por
ejemplo Netscape Navigator o Internet Explorer)
al cargar una pgina HTML desde un servidor

Web. El applet se descarga desde el servidor y no


requiere instalacin en el ordenador donde se

encuentra el browser.
Un servlet es una aplicacin sin interface grfica
que se ejecuta en un servidor de Internet. La
ejecucin como aplicacin independiente es
anloga a los programas desarrollados con otros
lenguajes.

7/9/2007

Existen distintos programas comerciales que


permiten desarrollar cdigo Java. La compaa
Sun, creadora de Java, distribuye gratuitamente

el Java(tm) Development Kit (JDK). Se trata de un

conjunto de programas y libreras que permiten


desarrollar, compilar y ejecutar programas en
Java. Incorpora adems la posibilidad de ejecutar
parcialmente el programa, deteniendo la
ejecucin en el punto deseado y estudiando en
cada momento el valor de cada una de las
variables (con el denominado Debugger).

7/9/2007

Cualquier programador con un mnimo de


experiencia sabe que una parte muy
importante (muchas veces la mayor parte) del
tiempo destinado a la elaboracin de un
programa se destina a la deteccin y

correccin de errores. Existe tambin una


versin reducida del JDK, denominada JRE
(Java
Runtime
Environment)
destinada
nicamente a ejecutar cdigo Java (no
permite compilar).

7/9/2007

El compilador de java:

Realiza un anlisis de sintaxis del cdigo escrito en


los ficheros fuente de Java (con extensin *.java). Si
no encuentra errores en el cdigo genera los
ficheros compilados (con extensin *.class). En otro
caso muestra la lnea o lneas errneas. En el JDK
de Sun dicho compilador se llama javac.exe.

La Java Virtual Machine

La existencia de distintos tipos de ordenadores


llev a los ingenieros de Sun a la conclusin de que
era muy importante conseguir un software que no
dependiera del tipo de procesador utilizado.
Se plante la necesidad de conseguir un cdigo
capaz de ejecutarse en cualquier tipo de mquina.
Una vez compilado no debera ser necesaria
ninguna modificacin por el hecho de cambiar de
procesador o de ejecutarlo en otra mquina.

La clave consisti en desarrollar un cdigo neutro


el cual estuviera preparado para ser ejecutado
sobre una mquina hipottica o virtual,
denominada Java Virtual Machine
(JVM).
Es esta JVM quien interpreta este cdigo neutro
convirtindolo a cdigo particular de la
CPU utilizada. Se evita tener que realizar un
programa diferente para cada CPU o plataforma.
La JVM es el intrprete de Java. Ejecuta ficheros
compilados con extensin *.class, creados por el
compilador de Java (javac.exe).

Un programa sencillo: Impresin de una lnea


de texto
/ / Un primer program en Java
import java.applet.Applet; // importar la clase Applet
import java.awt.Graphics; / / importar la clase Graphics
public class Welcome extends Applet {
public void paint( Graphics g )
{
g.drawString( i Bienvenidos a la programacin en Java! ", 25, 25 ) ;
}
}

Donde:
`
`

`
`

// se utilizan para escribir comentarios.


Java contiene muchos componentes predefinidos
llamados clases que se agrupan mediante directorios de disco en categoras de clases relacionadas
entre si llamadas paquetes. Llamamos a los paquetes
bibliotecas de clases de Java.
import java.applet.Applet; / / importar la clase Applet
import java. awt .Graphics; / / importar la clase Graphics

Un programa sencillo: Impresin de una lnea de texto


`

Para crear una applet en Java es necesario


importar la clase Applet.
Importarnos la clase Graphics para que el
programa pueda exhibir informacin en la
pantalla.

Un programa sencillo: Impresin de una lnea de


texto
`

`
9

public class Welcome extends Applet {


Donde:
Utilizamos la palabra public class para definir una clase,
seguido del nombre de la clase.
La palabra clave extends (extiende) seguida de un nombre
de clase indica la clase de la cual nuestra nueva clase
heredara algunas partes.
Todas las applets de Java deben heredar de la clase A p p
l e t , A p p l e t es la superclase o clase base y Welcome
es la subclase o clase derivada.

Un programa sencillo: Impresin de una lnea de


texto
`

La llave izquierda, {, inicia el cuerpo de toda


definicin de clase. Una llave derecha, } ,
correspondiente debe terminar toda definicin de
clase.

public void paint( Graphics g )


9
9
9

Contiene la definicin del mtodo paint


El mtodo paint sirve para exhibir informacin en
la pantalla.
La palabra clave void (vaci) indica que este
mtodo realiza una tarea, pero que no devuelve
ninguna informacin al terminarla.
El juego de parntesis despus de paint define la
lista de parmetros del mtodo.

public void paint( Graphics g )


9

La lista de parmetros sirve para que el mtodo


reciba la informacin que necesita para llevar a
cabo sus tareas.
La lista de parmetros del mtodo paint indica que
requiere un objeto Graphics (que se llama g) para
realizar su tarea.
Las llaves { } dan inicio y cierre al mtodo.

public void paint( Graphics g )


{
g.drawString( i Bienvenidos a la programacin en Java! ", 25,
25) ;
}

La Lnea:
g.drawString( "iBienvenidos a la programaci6n en Java!", 25, 25 );
`

Ordena a la computadora realizar una accin, usar el


mtodo drawstring (dibujar cadena) del objeto Graphics g
para dibujar la cadena de caracteres contenida entre el
par de comillas.

Suma de enteros
`
`
`

/ / Programa de suma
import java. awt . *; // importar el paquete java. awt
import java.applet.Applet;

Donde:
Import java.awt.*
importa el paquete j ava . awt para que el compilador pueda compilar esta
applet. El asterisco (*) indica que el compilador debe tener a su disposicin
todas las clases del paquete j ava . awt para la compilacin.
Del paquete java.awt se usaran las clases TextField y Label
import java.applet.Applet
Todas las Applets (programas) deben heredar de la clase Applet

Suma de enteros
public class Addition extends Applet {
Label prompt; // solicitar entrada a1 usuario
TextField input; / / introducir valores aqui
int number; / / alrnacenar valor introducido
int sum; / / almacenar suma de enteros
`

`
`
`
`

Se crea una nueva clase llamada Addition, que heredara caractersticas de la


clase Applet importada al inicio del programa.
Label prompt;
TextField input;
int number;
int sum;
Son declaraciones, Prompt e input son instancias de la clase Label y
textField, o nombres que utilizamos para referirnos a esas clases.
Number y sum son nombres de variables de tipo entero.

Suma de enteros
/ / preparar componentes de interfaz grafica de usuario
// e inicializar variables
public void init ( )
{
prompt = new Label( "Teclee un entero y pulse Enter:" );
input = new TextField( 10 );
add( prompt) ; // poner prompt (solicitud) en la applet
add( input); / / poner input (entrada) en la applet
sum = 0; / / hacer sum (suma) igual a cero
}
Donde:
Init es un mtodo p u b l i c que no devuelve informacin
(void) cuando termina de ejecutarse y que no recibe
argumentos (parntesis vacos despus de i n i t ) para
realizar su tarea.

prompt = new Label( "Teclee un entero y pulse Enter:" );

crea un objeto de la clase Label que se inicializa con la literal


de cadena "Teclee u n e n t ero y p u l s e E n t e r
input = new TextField( 10 );
crea un objeto de la clase TextField empleando el operador new y asigna el
resultado a input.
add ( prompt 1 ;
add ( input ) ;
El mtodo ADD coloca la etiqueta prompt y caja de texto input en la interfaz
grfica para que el usuario pueda interactuar con
ellos.

Suma de enteros
/ / procesar la accin del usuario en el campo de texto de
entrada
public boolean action( Event e, Object o )
{
number = Integer.parseInt( o.toString() ); / / obtener nmero
input. setText ( "" ) ; / / despejar campo de entrada de datos
sum = sum + number; / / suma number (nmero) a sum
(suma)
showstatus( Integer.toString( sum ) ); / / mostrar resultado
return true; // indica que la accin del usuario se proces
}
}

Suma de enteros
`

public boolean action( Event, Object o )


Se define un mtodo pblico llamado action, que devolver
un valor boolean (true/false), cual contiene dos argumentos.

9 El argumento Event sirve para determinar qu evento

ocurri.

E1 argumento Object contiene informacin especifica para el


evento.

Suma de enteros
`

number = Integer.parseInt( o.toString() ); / / obtener nmero


asigna a number el resultado del mtodo Integer .parseInt
que convierte su argumento string en un entero.
La cadena que se convierte aqu es el resultado del mtodo o.
tostring ( ) que convierte el Ob j ec t llamado o en un String.

input.setText( ); / / despejar campo de entrada de datos


utiliza el mtodo setText de la clase TextField para asignar la
cadena vaca

Suma de enteros
`

sum = sum + number; / / sumar number (nmero) a sum


(suma)
El anterior es un enunciado de asignacin donde se almacena
el valor de la suma .
showstatus( Integer.toString( sum ) ); / / mostrar resultado
utiliza el mtodo showstatus de la clase Applet para colocar
un String en la barra de estado.

return true; // indica que la accin del usuario se proces

le indica a action que devuelva el valor true

Suma de enteros
/ / Programa de suma
import java. awt . *; // importar el paquete java. awt
import java.applet.Applet;
public class Addition extends Applet {
Label prompt; // solicitar entrada a1 usuario
TextField input; / / introducir valores aqui
int number; / / alrnacenar valor introducido
int sum; / / almacenar suma de enteros
/ / preparar componentes de interfaz grafica de usuario
// e inicializar variables
public void init ( )
{
prompt = new Label( "Teclee un entero y pulse Enter:" );
input = new TextField( 10 );
add( prompt 1; // poner prompt (solicitud) en la applet
add( input 1; / / poner input (entrada) en la applet
sum = 0; / / hacer sum (suma) igual a cero
}

Suma de enteros
/ / procesar la accin del usuario en el campo de texto de entrada
public boolean action( Event e, Object o )
{
number = Integer.parseInt( o.toString() ); / / obtener nmero
input. setText ( "" ) ; / / despejar campo de entrada de datos
sum = sum + number; / / suma number (nmero) a sum (suma)
showstatus( Integer.toString( sum ) ); / / mostrar resultado
return true; // indica que la accin del usuario se proces
}
}

Ejecucin y salida del programa: