You are on page 1of 17

INDICE

I.

QU ES JAVA?.................................................................................................1

II.

QUIN LO DESARROLLO?.............................................................................2
2.1

III.

Versiones del lenguaje Java.........................................................................2


PARA QU SE UTILIZA JAVA?.....................................................................6

3.1

En dispositivos mviles y sistemas empotrados..........................................6

3.2

Sun Mobile DeviceTecnology.......................................................................6

3.3

En sistemas de servidor...............................................................................7

3.4

En aplicaciones de escritorio........................................................................8

3.5

Plataformas soportadas...............................................................................9

IV.

SINTAXIS DE JAVA.......................................................................................10

V. COMO ADQUIRIRLO........................................................................................14
5.1

Java se puede descargar de forma gratuita?..........................................14

5.2

Por qu debo actualizar a la ltima versin de Java?.............................14

5.3

Qu obtengo al descargar el software de Java?.....................................14

5.4

Qu es el complemento Java?.................................................................14

VI.

PROGRAMAS QUE SE UTILIZAN COMO INTERPRETES PARA ESTE

LENGUAJE..............................................................................................................16
6.1

Software para la manipulacin de Java.....................................................16

6.2

La plataforma Java.....................................................................................17

I.

QU ES JAVA?

Java es una tecnologa que se usa para el desarrollo de aplicaciones que convierten a la
Web en un elemento ms interesante y til. Java no es lo mismo que javascript, que se trata
de una tecnologa sencilla que se usa para crear pginas web y solamente se ejecuta en el
explorador.
Java le permite jugar, cargar fotografas, chatear en lnea, realizar visitas virtuales y utilizar
servicios como, por ejemplo, cursos en lnea, servicios bancarios en lnea y mapas
interactivos. Si no dispone de Java, muchas aplicaciones y sitios web no funcionarn.
Por defecto, Java le notificar inmediatamente que hay nuevas actualizaciones listas para
instalarse. Si desea estar al da y mantener la seguridad de su computadora, es importante
que acepte e instale las actualizaciones. Si recibe una notificacin de actualizacin de Java
en su computadora Windows y no recuerda haberla descargado o instalado, lo ms probable
es que Java estuviera ya instalado en la nueva computadora.
Por qu necesito Java? Existe un gran nmero de aplicaciones y sitios Web que no
funcionan a menos que Java est instalado, y muchas ms que se crean a diario. Java es
rpido, seguro y fiable. De porttiles a centros de datos, de consolas de juegos a
superequipos cientficos, de telfonos mviles a Internet, Java est en todas partes.

II.

QUIN LO DESARROLLO?

Java es un lenguaje de programacin orientado a objetos desarrollado por Sun Microsystems


a principios de los aos 90.
Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liber la mayor parte de sus
tecnologas Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java
CommunityProcess, de tal forma que prcticamente todo el Java de Sun es ahora software
libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas
Java todava no es software libre).

II.1 Versiones del lenguaje Java


a) JDK 1.0 (23 de enero de 1996).
b) JDK 1.1 (19 de febrero de 1997). Una reestructuracin intensiva del modelo de eventos
AWT (Abstract Windowing Toolkit), clases internas (inner classes), JavaBeans, JDBC
(Java Database Connectivity), para la integracin de bases de datos, RMI (Remote
Method Invocation).
c) J2SE 1.2 (8 de dieciembre de 1998 - Nombre clave Playground. Esta y las siguientes
versiones fueron recogidas bajo la denominacin Java 2 y el nombre "J2SE" (Java 2
Platform, Standard Edition), reemplaz a JDK para distinguir la plataforma base de J2EE
(Java 2 Platform, Enterprise Edition) y J2ME (Java 2 Platform, Micro Edition).
La palabra reservada (keyword) strictfp.
Reflexin en la programacin.
La API grfica ( Swing) fue integrada en las clases bsicas.
La mquina virtual (JVM) de Sun fue equipada con un compilador JIT (Just in Time)
por primera vez.
Java Plug-in.
Java IDL, una implementacin de IDL (Interfaz para Descripcin de Lenguaje) para la
interoperabilidad con CORBA
Colecciones (Collections)
d) 2SE 1.3 (8 de mayo de 2000) - Nombre clave Kestrel.
La inclusin de la mquina virtual de HotSpot JVM (la JVM de HotSpot fue lanzada
inicialmente en abril de 1999, para la JVM de J2SE 1.2)
RMI fue cambiado para que se basara en CORBA.
JavaSound
3

Se incluy el Java Naming and Directory Interface (JNDI) en el paquete de libreras


principales (anteriormente disponible como una extensin).
Java Platform Debugger Architecture (JPDA)
e) J2SE
1.4
(6
de
febrero
de
2002)
Nombre

Clave

Merlin.

Este fue el primer lanzamiento de la plataforma Java desarrollado bajo el Proceso de la


Comunidad Java como JSR 59. Los cambios ms notables fueron: comunicado de
prensalista completa de cambios.
Palabra reservada assert (Especificado en JSR 41.)
Expresiones regulares modeladas al estilo de las expresiones regulares Perl.
Encadenacin de excepciones Permite a una excepcin encapsular la excepcin de

bajo nivel original.


Non-blocking NIO (New Input/Output) (Especificado en JSR 51.)
Logging API (Specified in JSR 47.)
API I/O para la lectura y escritura de imgenes en formatos como JPEG o PNG
Parser XML integrado y procesador XSLT (JAXP) (Especificado en JSR 5 y JSR 63.)
Seguridad integrada y extensiones criptogrficas (JCE, JSSE, JAAS) Java Web Start
incluido (El primer lanzamiento ocurri en Marzo de 2001 para J2SE 1.3)

(Especificado en JSR 56.)


f) J2SE 5.0 (30 de septiembre de 2004) - Nombre clave: Tiger. (Originalmente numerado
1.5, esta notacin an es usada internamente.[4]) Desarrollado bajo JSR 176, Tiger
aadi un nmero significativo de nuevas caractersticas comunicado de prensa.
Plantillas (genricos) - provee conversion de tipos (type safety) en tiempo de compilacin
para colecciones y elimina la necesidad de la mayora de conversion de tipos (type
casting). (Especificado por JSR 14.)
Metadatos - tambin llamados anotaciones, permite a estructuras del lenguaje como
las clases o los mtodos, ser etiquetados con datos adicionales, que puedan ser
procesados posteriormente por utilidades de proceso de metadatos. (Especificado por
JSR 175.)
Autoboxing/unboxing - Conversiones automticas entre tipos primitivos (Como los int)
y clases de envoltura primitivas (Como Integer). (Especificado por JSR 201.)
Enumeraciones - la palabra reservada enum crea una typesafe, lista ordenada de
valores (como Dia.LUNES, Dia.MARTES, etc.). Anteriormente, esto solo poda ser
llevado a cabo por constantes enteras o clases construidas manualmente (enum
pattern). (Especificado por JSR 201.)
Varargs (nmero de argumentos variable) - El ltimo parmetro de un mtodo puede
ser declarado con el nombre del tipo seguido por tres puntos (e.g. void
4

drawtext(String... lines)). En la llamada al mtodo, puede usarse cualquier nmero de


parmetros de ese tipo, que sern almacenados en un array para pasarlos al metodo.
Bucle for mejorado - La sintaxis para el bucle for se ha extendido con una sintaxis
especial para iterar sobre cada miembro de un array o sobre cualquier clase que
implemente Iterable, como la clase estndar Collection, de la siguiente forma:
void displayWidgets (Iterable widgets) { for (Widget w : widgets) { w.display(); } } Este
ejemplo itera sobre el objeto Iterable widgets, asignando, en orden, cada uno de los
elementos a la variable w, y llamando al mtodo display() de cada uno de ellos.
(Especificado por JSR 201.)
g) Java SE 6 (11 de diciembre de 2006) - Nombre clave Mustang. Estuvo en desarrollo bajo
la JSR 270. En esta versin, Sun cambi el nombre "J2SE" por Java SE y elimin el ".0"
del nmero de versin.[5]. Est disponible en http://java.sun.com/javase/6/. Los cambios
ms importantes introducidos en esta versin son:
Incluye un nuevo marco de trabajo y APIs que hacen posible la combinacin de Java
con lenguajes dinmicos como PHP, Python, Ruby y JavaScript.
Incluye el motor Rhino, de Mozilla, una implementacin de Javascript en Java.
Incluye un cliente completo de Servicios Web y soporta las ltimas especificaciones
para Servicios Web, como JAX-WS 2.0, JAXB 2.0, STAX y JAXP.
Mejoras en la interfaz grfica y en el rendimiento.
h) Java SE 7 - Nombre clave Dolphin. En el ao 2006 an se encontraba en las primeras
etapas de planificacin. Se espera que su desarrollo d comienzo en la primavera de
2006, y se estima su lanzamiento para 2008.
Soporte para XML dentro del propio lenguaje
Un nuevo concepto de superpaquete
Soporte para closures
Introduccin de anotaciones estndar para detectar fallos en el software.
Adems de los cambios en el lenguaje, con el paso de los aos se han efectuado muchos
ms cambios dramticos en la librera de clases de Java (Java class library) que ha crecido
de unos pocos cientos de clases en JDK 1.0 hasta ms de tres mil en J2SE 5.0. APIs
completamente nuevas, como Swing y Java2D, han sido introducidas y muchos de los
mtodos y clases originales de JDK 1.0 estn desaprobados.

III.
5

PARA QU SE UTILIZA JAVA?

El diseo de Java, su robustez, el respaldo de la industria y su fcil portabilidad han hecho de


Java uno de los lenguajes con un mayor crecimiento y amplitud de uso en distintos mbitos
de la industria de la informtica.

III.1

En dispositivos mviles y sistemas empotrados

Desde la creacin de la especificacin J2ME (Java 2 Platform, Micro Edition), una versin del
entorno de ejecucin Java reducido y altamente optimizado, especialmente desarrollado para
el mercado de dispositivos electrnicos de consumo se ha producido toda una revolucin en
lo que a la extensin de Java se refiere.
Es posible encontrar microprocesadores diseados para ejecutar bytecode Java y software
Java para tarjetas inteligentes (JavaCard), telfonos mviles, buscapersonas, set-top-boxes,
sintonizadores de TV y otros pequeos electrodomsticos.
El modelo de desarrollo de estas aplicaciones es muy semejante a las applets de los
navegadores salvo que en este caso se denominan MIDlets.

III.2

Sun Mobile DeviceTecnology

En el navegador web: Desde la primera versin de java existe la posibilidad de desarrollar


pequeas aplicaciones (Applets) en Java que luego pueden ser incrustadas en una pgina
HTML para que sean descargadas y ejecutadas por el navegador web. Estas miniaplicaciones se ejecutan en una JVM que el navegador tiene configurada como extensin
(plug-in) en un contexto de seguridad restringido configurable para impedir la ejecucin local
de cdigo potencialmente malicioso.
El xito de este tipo de aplicaciones (la visin del equipo de Gosling) no fue realmente el
esperado debido a diversos factores, siendo quizs el ms importante la lentitud y el reducido
ancho de banda de las comunicaciones en aquel entonces que limitaba el tamao de las
applets que se incrustaban en el navegador. La aparicin posterior de otras alternativas
6

(aplicaciones web dinmicas de servidor) dej un reducido mbito de uso para esta
tecnologa, quedando hoy relegada fundamentalmente a componentes especficos para la
intermediacin desde una aplicacin web dinmica de servidor con dispositivos ubicados en
la mquina cliente donde se ejecuta el navegador.
Las applets Java no son las nicas tecnologas (aunque s las primeras) de componentes
complejos incrustados en el navegador. Otras tecnologas similares pueden ser: ActiveX de
Microsoft, Flash, Java Web Start, etc.

III.3

En sistemas de servidor

En la parte del servidor, Java es ms popular que nunca, desde la aparicin de la


especificacin de Servlets y JSP (Java Server Pages).
Hasta entonces, las aplicaciones web dinmicas de servidor que existan se basaban
fundamentalmente en componentes CGI y lenguajes interpretados. Ambos tenan diversos
inconvenientes (fundamentalmente lentitud, elevada carga computacional o de memoria y
propensin a errores por su interpretacin dinmica).
Los servlets y las JSPs supusieron un importante avance ya que:

El API de programacin es muy sencilla, flexible y extensible.


Los servlets no son procesos independientes (como los CGIs) y por tanto se ejecutan
dentro del mismo proceso que la JVM mejorando notablemente el rendimiento y

reduciendo la carga computacional y de memoria requeridas.


Las JSPs son pginas que se compilan dinmicamente (o se pre-compilan
previamente a su distribucin) de modo que el cdigo que se consigue una ventaja en

rendimiento substancial frente a muchos lenguajes interpretados.


La especificacin de Servlets y JSPs define un API de programacin y los requisitos
para un contenedor (servidor) dentro del cual se puedan desplegar estos
componentes para formar aplicaciones web dinmicas completas. Hoy da existen

multitud

de

contenedores

(libres

comerciales)

compatibles

con

estas

especificaciones.
A partir de su expansin entre la comunidad de desarrolladores, estas tecnologas han dado
paso a modelos de desarrollo mucho ms elaborados con frameworks (pe Struts, Webwork)
que se sobreponen sobre los servlets y las JSPs para conseguir un entorno de trabajo mucho
ms poderoso y segmentado en el que la especializacin de roles sea posible
(desarrolladores, diseadores grficos,...) y se facilite la reutilizacin y robustez de cdigo. A
pesar de todo ello, las tecnologas que subyacen (Servlets y JSPs) son substancialmente las
mismas.
Este modelo de trabajo se ha convertido en uno de los estndar de-facto para el desarrollo
de aplicaciones web dinmicas de servidor.

III.4

En aplicaciones de escritorio

Hoy en da existen multitud de aplicaciones grficas de usuario basadas en Java. El entorno


de ejecucin Java (JRE) se ha convertido en un componente habitual en los PC de usuario
de los sistemas operativos ms usados en el mundo. Adems, muchas aplicaciones Java lo
incluyen dentro del propio paquete de la aplicacin de modo que se ejecuten en cualquier
PC.
En las primeras versiones de la plataforma Java existan importantes limitaciones en las APIs
de desarrollo grfico (AWT). Desde la aparicin de la biblioteca Swing la situacin mejor
substancialmente y posteriormente con la aparicin de bibliotecas como SWT hacen que el
desarrollo de aplicaciones de escritorio complejas y con gran dinamismo, usabilidad, etc. sea
relativamente sencillo.

III.5

Plataformas soportadas

Una versin del entorno de ejecucin Java JRE (Java RuntimeEnvironment) est disponible
en la mayora de equipos de escritorio. Sin embargo, Microsoft no lo ha incluido por defecto
en sus sistemas operativos. En el caso de Apple, ste incluye una versin propia del JRE en
su sistema operativo, el Mac OS. Tambin es un producto que por defecto aparece en la
mayora de las distribuciones de GNU/Linux. Debido a incompatibilidades entre distintas
versiones del JRE, muchas aplicaciones prefieren instalar su propia copia del JRE antes que
confiar su suerte a la aplicacin instalada por defecto. Los desarrolladores de applets de
Java o bien deben insistir a los usuarios en la actualizacin del JRE, o bien desarrollar bajo
una versin antigua de Java y verificar el correcto funcionamiento en las versiones
posteriores.

IV.

SINTAXIS DE JAVA

La siguiente tabla recoge la sintaxis general de los elementos bsicos del lenguaje Java,
junto con un ejemplo simplsimo de su utilizacin, para que pueda servir al lector como
referencia rpida de la forma en que se declaran o construyen expresiones, o de los valores
y formas que pueden tener algunos tipos de datos u operadores.
Tipo
Tipos de Datos
Entero
9

Sintaxis/Ambito
Base

decimal

Ejemplos/Declaracin
[ej.

1234] int variable;

Coma Flotante

Booleano
Carcter

Base
octal
[ej.
01234]
Base hexadecimal [ej. 0xF10]
byte
[-128
a
127]
short [-32768 a 32767]
int
[-2147483648
a
2147483647]
long
[9223372036854775808
a
9223372036854775807]
float [32 bits, precisin
simple; 3,4E-38 a 3,4E38]
double [64 bits, precisin
doble; 1,7E-308 a 1,7E308]
true
[valor
cierto]
false [valor falso]
char [carcter alfanumrico]

Cadena

String [Matriz de caracteres;


realmente se trata de una
clase, que encapsula las
operaciones de gestin de
caracteres]

Matrices

array [puede ser de varias


dimensiones]

Caracteres
Especiales

\ [contina en
siguiente]
\n
[nueva

10

la

lnea
lnea]

byte variable;
short variable;
long variable;
int i1,i2;

floatfvar=3,1416;
fvar=6.5E-5;
doubledvar=3.1416d;
dvar=6.5E-5d;
Boolean llave=false;
llave=true;
char letra=a;
letra=b;
String s;
s=new String();
// declaracin conjunta
String s=new String();
// con inicializacin
String s="cadena";
// forma alternativa
String s;
s="cadena";
char c[];
// forma alternativa
char[] c;
// declarar amplitud
c=new char[10];
// declaracin conjunta
char c[]=new char[10];
// multidimensional
int i[][];
// declararamplitud
i=new int[10][15];
// declaracin conjunta
int i[][]=new int[10][15]
String fin="final\n";

\t
[tabulador
horizontal]
\b
[retroceso]
\r
[retorno
de
carro]
\f
[salto
de
pgina]
\\
[carcter
\]
\
[comilla
simple]
\"
[comilla
doble]
\udddd [carcter unicode]
Operadores
Aritmticos

+
[adicin]
[sustraccin]
*
[multiplicacin]
/
[divisin]
%
[resto]
++
[incremento]
-- [decremento]
Lgicos
>
[mayor
que]
>= [mayor o igual que]
<
[menor
que]
<= [menor o igual que]
==
[igual
a]
!= [distinto de]
Condicionales &&
[ambos
ciertos]
|| [cierto al menos uno]
! [negacin]
Sobre bits
>> [desplazamiento a la
derecha]
<< [desplazamiento a la
izquierda]
>>>
[desplazamiento
sin
signo]
&
[operador
Y
and-]
|
[operador
O
or-]
^ [operador O exclusivo xor-]
~ [complemento a]
Asignacin con operador =
operacin
Conversin de (tipo) variable o expresin
tipos
Sintaxis General
11

suma=a + b;
resta=c - d;

verdad=a < b;

(a && b) es cierto si a y b
son ciertos
c=a | b;

a += b;
a=(int)b/c;

Comentarios

// comentario de una lnea


/* comentario multilnea */
/**comentario
de
documentacin
*/
Declaracin de tipo nombre1 [,nombre2,...];
variables
Declaracin de [mbito]
class
nombre
clase
[extends
clase]
{
//
variables
globales
//
mtodos
}

Mtodos

[mbito]
nombre(
.
}

parmetros
.

publicclass dato {
...
}
// clase con herencia
class valor extends dato {
...
}
tipo public void metodo(int i){
) { ...
. }

Estructuras de Control
Bucles for
for( var=min; var<max; inc ) {
//
acciones
}
Bucles while
while(
condicin
)
{
//
acciones
}
Bucles
do..while

do
{
//
acciones
} while( condicin );

Bifurcaciones
if..else

if(

condicin
//

}
else
//
}
Bifurcaciones
switch

12

/* Este es un comentario de
varias lneas */
// comentario unilnea
/** Esto es documentacin
*/
int a, b;

)
{
acciones
{
acciones

switch(
variable
)
{
case
n1:
//
acciones
break;

for( i=0; i < 8; i++ ) {


System.out.println(i);
}
while( i < 8 ) {
System.out.println(i);
i++
}
do {
System.out.println(i);
i++;
} while( i < 8 );
if( i== 0 ) {
System.out.println("cero");
}
else if( i==(i/2)*2) {
System.out.println("par");
else{
System.out.println("impar");
switch( i ) {
case 0:
System.out.println("cero");
break;

case
n2:
//
acciones
break;
//
otros
case
default:
// acciones alternativas

case 1:
System.out.println("uno");
break;
default:
System.out.println(">uno");
}

V.

13

COMO ADQUIRIRLO

V.1Java se puede descargar de forma gratuita?


S, Java se puede descargar de forma gratuita. Obtenga la ltima versin en http://java.com.

V.2Por qu debo actualizar a la ltima versin de Java?


La ltima versin de Java contiene importantes mejoras para el rendimiento, estabilidad y
seguridad de las aplicaciones Java que se ejecutan en su equipo. La instalacin de la
actualizacin gratuita garantiza que sus aplicaciones Java sigan ejecutndose de forma
segura y eficaz.

V.3Qu obtengo al descargar el software de Java?


Al descargar el software de Java se obtiene el Entorno de tiempo de ejecucin (JRE). El JRE
consta de la Mquina virtual de Java (JVM), las clases centrales de la plataforma Java y
bibliotecas de apoyo de la plataforma Java. El JRE es la parte relacionada con la ejecucin
del software de Java y es lo nico necesario para ejecutar Java en el navegador Web. Al
descargar el software de Java, se obtiene nicamente aquello que se necesita, sin spyware
ni virus.

V.4Qu es el complemento Java?


El complemento Java es un componente del entorno de ejecucin de Java (JRE). El JRE
permite ejecutar en diversos navegadores los applets escritos en el lenguaje de
programacin Java. El complemento Java no es un programa independiente y no se puede
instalar por separado.
He odo hablar de los trminos Mquina virtual de Java y JVM. Se trata del software de
Java?

14

Java Virtual Machine (mquina virtual de Java) es nicamente un aspecto del software de
Java, especficamente utilizado para la interaccin en la web. Java Virtual Machine se incluye
en la descarga del software de Java y ayuda a ejecutar las aplicaciones Java.

15

VI.

PROGRAMAS QUE SE UTILIZAN COMO INTERPRETES PARA ESTE


LENGUAJE

VI.1

Software para la manipulacin de Java

HotJava: Pequeo visualizador de WWW que permite un perfecto manejo de applets.


Se distribuye con el propio Java y se invoca como hotjava

Intrprete de Java: Se invoca con el comando java y debe de disponerse del propio de
la plataforma existente. Ocupa alrrededor de 40 Kb (175 con todas las bibliotecas).

Compilador de Java: se invoca con javac y produce la conversin de cdigo Java en


Bytecode.

Generador de archivos fuente y cabecera C: Genera archivos de ambos tipos para


elaborar mtodos. Se invoca como javah o javah_g.

Desamblador de Java: Se invoca con javap e imprime informacin sobre un archivo de


clase.

Generador de documentos: Imprime documentacin sobre una clase Java. Estas


pginas, visualizables como HTML se encuentran en cantidad de sitios con
informacin sobre aplicaciones Java. Se invoca como javadoc.

Herramienta de perfilado: Se invoca con javaprof y formatea la opcin prof del


compilador.

Documentacin:

La

distribucin

documentacin en formato HTML.

16

del

compilador

incluye

gran

cantidad

de

Interfaz de Programacin: Son un conjunto de clases que se distribuyen con el cdigo


fuente del Java y que los programadores pueden utilizar. Esto se agrupa en tres
paquetes que contienen completa documentacin y que incluyen:
1. package java.lang: caractersticas del lenguaje como: objetos, hilos, excepciones,
caracteres, enteros y cadenas.
2. package java.util: caractersticas como: la cache, vinculador, pila y vector.
3. package java.io: caractersticas de entrada/salida como: flujos de datos de salida,
de impresin y de entrada de texto.

VI.2

La plataforma Java

Una plataforma es el ambiente de hardware o software en el cual se ejecutan los programas.


En general, la mayora de las plataformas pueden ser descritas como una combinacin de
hardware y sistema operativo. Algunas de las plataformas ms populares son Windows,
Solaris, Linux y MacOS.
La plataforma Java difiere de las anteriores en que sta es una plataforma basada
nicamente en software que corre por encima de las plataformas basadas en hardware. La
plataforma Java consta de dos componentes:

La Mquina Virtual de Java (JVM)


La Interfaz de Programacin de Aplicaciones de Java (API Java)

A continuacin se muestra una representacin de los elementos que forman parte de la


plataforma Java.

17