Sunteți pe pagina 1din 9

Introduccin a Java

INTRODUCCIN A JAVA 1. Similitudes de Java con otros lenguajes orientados a objetos La sintaxis de Java es similar a C++ en expresiones y sentencias de control de flujo. Las expresiones orientadas a objetos son similares en proteccin de acceso a clases, y en constructores y declaracin de mtodos. Java es similar a SmallTalk en el modelo de objetos (herencia simple y acceso a objetos por referencias), en la compilacin a bytecode interpretable, y en la memoria dinmica y recolector de basuras. 2. Qu es Java Java es un lenguaje de programacin compuesto por bibliotecas (JavaCore) para acceder a strings, procesos, I/O, propiedades del sistema (fecha y hora), applets, API de red ,seguridad, JDBC, etc... Contiene tambin herramientas: compilador (javac), generador de documentacin (javadoc) y depurador de programas. Java requiere un entorno de ejecucin con mquina virtual de java (Java Virtual Machine JVM). Dicho entorno de ejecucin (Java Runtime Environment JRE) permite que una aplicacin Java pueda desarrollarse una nica vez con independencia de la plataforma en la que vaya a ejecutarse posteriormente. El objetivo de Java es facilitar un entorno interpretado para: permitir al usuario ejecutar ms de un hilo a la vez, aumentar la velocidad de desarrollo, generar cdigo portable, soportar cambios dinmicos en tiempo de ejecucin y proporcionar ms seguridad. Java es un lenguaje de programacin orientado a objetos, con las siguientes caractersticas: Encapsulacin, herencia y polimorfismo. Lenguaje interpretado. Independiente de la arquitectura y portable. Fuertemente tipado. Gestin automtica de la memoria (recogida de basura). Gestin de excepciones, concurrencia (multihilo). El ncleo del lenguaje es sencillo , pero se puede extender mediante el uso de bibliotecas. Estas bibliotecas son libreras de funciones, la mayor parte de las cules pertenecen a Java. Incluye un conjunto de libreras estndar. 3. La mquina virtual de Java (JVM) es una mquina imaginaria implementada mediante la emulacin por software en una mquina real. Caractersticas: El cdigo para la JVM se guarda en archivos compilados .class. Proporciona las especificaciones de hardware. Lee bytecodes independientes de la plataforma. Se puede emular por software o implementar en hardware. Se implementa con la herramienta de desarrollo de Java

Pgina 1 de 9

Introduccin a Java

4. Proceso de ejecucin de un programa de Java 1. Archivo fuente .java 2. Se compila y se origina un archivo Bytecode .class 3. Este archivo bytecode se carga en una JVM, que se encarga de ejecutarlo en cualquier sistema operativo y hardware. Un programa en Java est formado por un conjunto de clases que interactan entre s. La clase es la unidad bsica de programacin. La ejecucin del programa requiere de un nico mtodo esttico que se encargue de preparar la ejecucin. El resto del programa funciona por paso de mensajes entre objetos:
/* Programa Hola Mundo */ // definicin de la clase pblica (accesible) public class PrimeraAplicacion { //programa principal de la clase public static void main(String args[]) { //escritura por pantalla System.out.println( Hola Mundo! ); //Inicializar objetos y comenzar ejecucin ... } }

5. Bibliotecas de clases (paquetes) de Java Lang: Funcionalidades bsicas (entrada/salida, arrays, cadenas, excepciones, hilos...). Util: Utilidades (nmeros, aleatorios, vectores, propiedades del sistema...). Net: Conectividad y trabajo con redes. Applet: Aplicaciones para ejecutarse en navegadores web. Awt y Swing: Interfaces grficas. Y ms... 6. Comentarios en Java Permiten documentar el cdigo para hacerlo ms legible. // Una sola lnea /* */ Varias lneas /** */ Comentarios utilizados por javadoc para generar la documentacin HTML. 7. Identificadores Los identificadores permiten nombrar los distintos elementos que componen un programa (variables, objetos, clases, paquetes, interfaces...). Los identificadores comienzan con letra (incluyendo _ y $) seguida de letras o dgitos, pueden tener cualquier longitud y se distinguen maysculas y minsculas. Ejemplos vlidos:
x _var1 MAXIMO $Caracter Pgina 2 de 9

Introduccin a Java

8. Palabras reservadas Las siguientes palabras son reservadas con propsito especial en el sistema y no se pueden utilizar como identificadores:
abstract boolean break byte byvalue case catch char class const continue default do double else extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized this threadsafe throw throws transient true try void volatile while cast* future* generic* inner* operator* outer* rest* var*

* Estas palabras reservadas ya no se usan actualmente. 9. Variables La variable es la unidad bsica de almacenamiento de informacin. A cada variable se le asigna un determinado tipo de datos y un valor. Este valor puede cambiar a lo largo de la ejecucin del programa. Una variable se puede declarar de las siguientes maneras:
tipo identificador; tipo identificador [=valor_inicial], identificador2 [=valor_inicial2]... ;

Ejemplos:
int numero; int max=5, min=0;

10. Constantes Una constante es una variable cuyo valor no cambia nunca a lo largo de la ejecucin del programa. En Java, una constante se declara con la palabra clave final. Por ejemplo:
final float PI = 3.141592; final int MAX = 255; final int ABIERTO = 0, CERRADO = 1; final boolean FALSO = false;

A tener en cuenta: Adems de final, hay que indicar el tipo de dato que va a contener la constante (float, int, boolean, etc). Aunque no es obligatorio, existe una norma de estilo que dice que las constantes se escribirn en MAYSCULAS. 11. Tipos primitivos Enteros con signo: byte, short, int, long. Reales coma flotante IEEE 754-1985: float, double. Lgicos o booleano: boolean. Caracteres: char
Pgina 3 de 9

Introduccin a Java

12. Operadores Aritmticos: Suma: + Aritmticos unarios: Preincremento: ++x De asignacin: Normal: = Lgicos Y: && Relacionales (comparaciones):
Igual: == Diferente: != Mayor que: > Menor que: < Mayor o igual que: >= Menor o igual que: <=

Resta: -

Multiplicacin: *

Divisin: /

Resto: %

Postincremento: x++

Predecremento: --x

Postdecremento: x--

Adicin: +=

Resta: -=

Multiplicacin: *=

Divisin: /=

O: ||

Negacin: !

Operadores a nivel de bits: AND: & Desp. Der.: >>

OR: | Desp. Izq: <<

XOR: ^ Complemento de bits: ~

NOTA: Los operadores se evalan de izquierda a derecha. 13. Promocin automtica de tipos Cuando los tipos de operandos no coinciden, el operando de menor rango se convierte implcitamente al tipo de mayor rango: double > float > long > int > short > byte El resultado de la operacin es el del tipo de mayor rango. Al operar con byte y short, se convierten implcitamente a int. 14. Instruccin condicional if
if (expr_booleana){ instrucciones_que_se_ejecutan_si_se_cumple_la_expr_booleana; } if (expr_booleana){ instrucciones_que_se_ejecutan_si_se_cumple_la_expr_booleana; } else{ instrucciones_que_se_ejecutan_si_no_cumple_la_expr_booleana; }

Pgina 4 de 9

Introduccin a Java

15. Instruccin condicional switch


switch (expresin) { case expresin-constante: instrucciones; break; default: instrucciones; break; }

Consideraciones sobre switch: Se tiene que especificar break para salir de la instruccin. La expresin puede ser de tipo char, byte, short o int. Se puede usar un conjunto de expresiones para varios casos:
case expresin-constante1: case expresin-constante2: case expresin-constante3: instrucciones; break;

16. Bucle while Los bucles ejecutan de forma repetida un bloque de instrucciones mientras se est cumpliendo una condicin. En concreto, la sintaxis de while es la siguiente:
while (condicin){ instrucciones_a_repetir_mientras_se_cumpla_la_condicin; }

17. Bucle do while


do{ instrucciones_a_repetir_mientras_se_cumpla_la_condicin; }while (condicin)

18. Bucle for Forma compacta de expresar bucles, que no slo sirve para un nmero de repeticiones fijas. Sintaxis:
for (inicializacin; condicin; incremento){ instrucciones_a_repetir_mientras_se_cumpla_la_condicin; }

19. Otras instrucciones return permite salir de cualquier ciclo dentro del mtodo, y vuelve al punto donde se llam al mtodo.
return; return expresin; //para mtodos void

break permite salir de un bucle. continue salta a la siguiente iteracin.

Pgina 5 de 9

Introduccin a Java

20. Definicin de una clase


[Modificadores] class NombreClase [extends SuperClase] { // definicin de los atributos de la clase tipo1 identificador1; tipo1 identificador1; // definicin de los mtodos de la clase tipoDevuelto nombreMetodo1 (listaParametros) { //instrucciones del mtodo1 } tipoDevuelto nombreMetodo2 (listaParametros) { //instrucciones del mtodo2 } }

21. Modificadores de clase public: (Visible fuera del paquete) Normalmente la clase se almacena en un fichero NombreClase.java. En un fichero .java puede haber como mximo una clase public. extends: (La clase hereda de otra) Slo herencia de una nica superclase (herencia simple). Si no aparece extends la clase definida hereda de un objeto general del sistema llamado Object.
public class Rectangulo{ int x; int y; int ancho; int alto; //faltan los mtodos de Rectangulo }

22. Control de acceso a los miembros de una clase a) Si no se indica nada un miembro es accesible desde todo el paquete. b) private: acceso slo dentro de la clase. c) public: acceso desde cualquier lugar. d) protected: acceso en la clase, las subclases (en cualquier paquete) y desde las clases del mismo paquete. e) El control de acceso se aplica tanto a atributos como a mtodos. 23. Creacin de instancias Una instancia es una copia individual de la plantilla de la clase que tiene su propio conjunto de datos. Con el operador new se crea una instancia de la clase indicada y devuelve una referencia a dicho objeto. Se reserva un espacio en memoria para los datos del objeto.
int num = 5; //crea una referencia Rectangulo rect; //reserva la memoria rect = new Rectangulo(); Rectangulo otroRect; otroRect = rect;

Pgina 6 de 9

Introduccin a Java

24. Acceso a los atributos de un objeto Desde un objeto se puede acceder a sus atributos o miembros con la sintaxis:
referencia.Objeto.atributo;

25. Mtodos Los mtodos son funciones que se declaran en la clase y que determinan su comportamiento. La sintaxis para declarar mtodos es la siguiente:
tipoDevuelto nombreMetodo (listaParametros) { //instrucciones del mtodo }

Para llamar a un mtodo:


referenciaObjeto.nombreMetodo(listaArgumentos);

Los argumentos de tipos simples se pasan por valor; los objetos se pasan por referencia. 26. Constructor El constructor es el mtodo que inicializa el objeto en el momento de su creacin. El constructor es llamado automticamente cuando se crea un objeto. El nombre del constructor es igual que el de la clase, y no tiene tipo de retorno. Java proporciona un constructor sin parmetros por defecto, que inicializa todos los atributos con valores por defecto. 27. Objeto this this es una referencia especial que se refiere a la instancia actual. Permite parmetros con igual nombre que atributos. 28. Uso de paquetes A un paquete se puede acceder usando el nombre completo:
java.util.Date ahora = new java.util.Date();

O mediante la clusula import:


import java.util.Date;

29. Miembros estticos Se declaran con la palabra clave static. Se trata de variables, constantes y mtodos nicos comunes a toda la clase. Hay exactamente una copia, aunque no exista ningn objeto. Los miembros estticos pueden utilizarse como variables finales para definir constantes de clase:
public static final int MAXIMO = 12;

Pgina 7 de 9

Introduccin a Java

30. Mtodos finalizadores Java cuenta con un recolector de basura. Esto significa que un objeto se elimina automticamente cuando se deja de hacer referencia a l y que, por lo tanto, no hace falta eliminar los objetos explcitamente. Cuando el recolector va a destruir un objeto invoca al mtodo finalize(). Este mtodo lo tendremos que utilizar manualmente cuando necesitemos: Limpiar recursos externos (no de Java). Cerrar conexiones, cerrar ficheros, registrar resultados, etc. Al acabar un programa se ejecuta finalize() para todos los objetos. Las clases que utilizan muchos recursos suelen proporcionar un mtodo pblico close() / dispose(). 31. Programacin orientada a objetos en Java Java contiene las siguientes caractersticas de la programacin orientada a objetos: Herencia. Abstraccin. Polimorfismo. Clases y objetos. Composicin. Particularidades de Java: En Java no existe la herencia mltiple. Una subclase hereda de una superclase los mtodos y atributos. Los constructores no se heredan 32. Redefinicin de mtodos Para redefinir un mtodo escribimos un mtodo con la misma signatura en la subclase. Se puede simplificar la redefinicin de mtodos invocando a los mtodos de la clase superior. El atributo super contiene una referencia a la clase base (o superclase). Se puede emplear para invocar a mtodos o constructores. 33. Clases abstractas Una clase abstracta es aquella cuya descripcin es incompleta. Slo tiene funcionalidad en sus subclases. Se pueden declarar mtodos sin implementarlos (usar abstract en la declaracin). Una clase con un mtodo abstracto debe declararse como clase abstracta. La declaracin de la clase tiene que incluir el modificador abstract. No se pueden crear instancias de clases abstractas. Las subclases de una clase abstracta deben implementar todos los mtodos abstractos de la superclase, o ser declaradas tambin como clases abstractas. No se pueden definir constructores abstractos o mtodos estticos abstractos. Utilidad de las clases abstractas: Garantizar que las subclases van a tener los mtodos propuestos. Podemos escribir algunos mtodos que queremos que sean heredados sin permitir que se creen instancias de estas clases. Forzar el comportamiento de algn mtodo (patrn Template Method).

Pgina 8 de 9

Introduccin a Java

34. Interfaces en Java Las interfaces son un caso extremo de las clases abstractas. Slo declaran mtodos: Se utiliza la palabra clave interface. Por defecto, sus mtodos son pblicos y abstractos: No es necesario incluir public y abstract. Se recomienda usar public. Una clase puede extender una sola clase (herencia simple), pero puede implementar varias interfaces: Se utiliza la palabra clave implements. Hay que implementar todos sus mtodos. 35. Herencia entre interfaces Se puede definir un interface que especialice a otro mediante la palabra clave extends. Es algo similar a la herencia de clases. No obstante, un interface puede extender a varios interfaces al mismo tiempo. En este caso la herencia mltiple no supone ningn problema, porque no se hereda cdigo. 36. Polimorfismo En Java siempre se usa la vinculacin dinmica. Se puede impedir esto declarando un mtodo como final (no se puede redefinir en subclases). Existe polimorfismo en los mecanismos de herencia y en la implementacin de interfaces. 37. La clase Object En Java todas las clases heredan implcitamente de la clase Object. Object es la raz de la jerarqua de herencia en Java, y no se necesita usar la clave extends para heredar de Object. Object define un conjunto de mtodos tiles: public boolean equals (Object o): para comparar objetos de una determinada clase. Por defecto compara las referencias. public int hashCode(): devuelve el valor hash del objeto. Hay que redefinirlo al redefinir equals(). public String toString(): permite decidir la representacin externa de un objeto como una cadena. Por defecto es el valor de su referencia, y el nombre de la clase. protected Object clone(): permite hacer copias de objetos. Por defecto hace copias superficiales.

Pgina 9 de 9

S-ar putea să vă placă și