Vous êtes sur la page 1sur 93

Lenguaje JAVA

AGOSTO - ENERO

M.C.C. F. Alonso S.

10/09/2013

Qu es JAVA?

Java es un lenguaje de programacin y la primera plataforma informtica creada por Sun Microsystems en 1995. Es la tecnologa subyacente que permite el uso de programas punteros, como herramientas, juegos y aplicaciones de negocios. Java se ejecuta en ms de 850 millones de ordenadores personales de todo el mundo y en miles de millones de dispositivos, como dispositivos mviles y aparatos de televisin.

M.C.C. F. Alonso S.

10/09/2013

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.

M.C.C. F. Alonso S.

10/09/2013

El lenguaje de programacin Java fue originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compaa Oracle) y publicado en el 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva mucho de C y C++, pero tiene menos facilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que puede ejecutarse en cualquier mquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente.

M.C.C. F. Alonso S.

10/09/2013

Java es un lenguaje de programacin de propsito general, concurrente, orientado a objetos y basado en clases que fue diseado especficamente para tener tan pocas dependencias de implementacin como fuera posible. Su intencin es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en ingls como WORA, o "write once, run anywhere"), lo que quiere decir que el cdigo que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir del 2012, uno de los lenguajes de programacin ms populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados

M.C.C. F. Alonso S.

10/09/2013

Filosofa
El lenguaje Java se cre con cinco objetivos principales:

Debera usar el paradigma de la programacin orientada a objetos. Debera permitir la ejecucin de un mismo programa en mltiples sistemas operativos. Debera incluir por defecto soporte para trabajo en red. Debera disearse para ejecutar cdigo en sistemas remotos de forma segura. Debera ser fcil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.

M.C.C. F. Alonso S.

10/09/2013

Historia

Java se cre como una herramienta de programacin para ser usada en un proyecto de set-top-box en una pequea operacin denominada the Green Project en Sun Microsystems en el ao 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabaj durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo. El lenguaje se denomin inicialmente Oak (por un roble que haba fuera de la oficina de Gosling), luego pas a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas grficas y finalmente se renombr a Java.

M.C.C. F. Alonso S.

10/09/2013

Es frecuentada por algunos de los miembros del equipo. Pero no est claro si es un acrnimo o no, aunque algunas fuentes sealan que podra tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrnimo, Just Another Vague Acronym ("slo otro acrnimo ambiguo ms"). La hiptesis que ms fuerza tiene es la que Java debe su nombre a un tipo de caf disponible en la cafetera cercana, de ah que el icono de java sea una taza de caf caliente. Un pequeo signo que da fuerza a esta teora es que los 4 primeros bytes (el nmero mgico) de los archivos.class que genera el compilador, son en hexadecimal, 0xCAFEBABE. A pesar de todas estas teoras, el nombre fue sacado al parecer de una lista aleatoria de palabras.

M.C.C. F. Alonso S.

10/09/2013

Los objetivos de Gosling eran implementar una mquina virtual y un lenguaje con una estructura y sintaxis similar a C++. Entre junio y julio de 1994, tras una sesin maratoniana de tres das entre John Gaga, James Gosling, Patrick Naughton, Wayne Rosing y Eric Schmidt, el equipo reorient la plataforma hacia la Web. Sintieron que la llegada del navegador web Mosaic, propiciara que Internet se convirtiese en un medio interactivo, como el que pensaban era la televisin por cable. Naughton cre entonces un prototipo de navegador, WebRunner, que ms tarde sera conocido como HotJava. En 1994, se les hizo una demostracin de HotJava y la plataforma Java a los ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que vieran la luz pblica Java y HotJava, el navegador Web. El acontecimiento fue anunciado por John Gage, el Director Cientfico de Sun Microsystems. El acto estuvo acompaado por una pequea sorpresa adicional, el anuncio por parte de Marc Andreessen, Vicepresidente Ejecutivo de Netscape, de que Java sera soportado en sus navegadores. El 9 de enero del ao siguiente, 1996, Sun fund el grupo empresarial JavaSoft para que se encargase del desarrollo tecnolgico. Dos semanas ms tarde la primera versin de Java fue publicada.

M.C.C. F. Alonso S.

10/09/2013

La promesa inicial de Gosling era Write Once, Run Anywhere (Escrbelo una vez, ejectalo en cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de ejecucin (la JVM) ligero y gratuito para las plataformas ms populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma. El entorno de ejecucin era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las pginas web. Java ha experimentado numerosos cambios desde la versin primigenia, JDK 1.0, as como un enorme incremento en el nmero de clases y paquetes que componen la biblioteca estndar. Desde J2SE 1.4, la evolucin del lenguaje ha sido regulada por el JCP (Java Community Process), que usa Java Specification Requests (JSRs) para proponer y especificar cambios en la plataforma Java. El lenguaje en s mismo est especificado en la Java Language Specification (JLS), o Especificacin del Lenguaje Java. Los cambios en los JLS son gestionados en JSR 901.
10/09/2013 10

M.C.C. F. Alonso S.

Java ha experimentado numerosos cambios desde la versin primigenia, JDK 1.0, as como un enorme incremento en el nmero de clases y paquetes que componen la biblioteca estndar. Desde J2SE 1.4, la evolucin del lenguaje ha sido regulada por el JCP (Java Community Process), que usa Java Specification Requests (JSRs) para proponer y especificar cambios en la plataforma Java. El lenguaje en s mismo est especificado en la Java Language Specification (JLS), o Especificacin del Lenguaje Java. Los cambios en los JLS son gestionados en JSR 901.

JDK 1.0 (23 de enero de 1996) Primer lanzamiento: comunicado de prensa JDK 1.1 (19 de febrero de 1997) Principales adiciones incluidas: comunicado de prensa

M.C.C. F. Alonso S.

10/09/2013

11

J2SE 1.2 (8 de diciembre 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). J2SE 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)

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.

M.C.C. F. Alonso S.

10/09/2013

12

J2SE 5.0 (30 de septiembre de 2004) Nombre clave: Tiger. (Originalmente numerado 1.5, esta notacin an es usada internamente. Desarrollado bajo JSR 176 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 Java SE 7 Nombre clave Dolphin. En el ao 2006 an se encontraba en las primeras etapas de planificacin. Su lanzamiento fue en julio de 2011.

M.C.C. F. Alonso S.

10/09/2013

13

El lenguaje es Compilado o Interpretado?

Una vez compilado el programa, se crea un fichero que almacena lo que se denomina bytecodes o j_code (pseudocdigo prcticamente al nivel de cdigo mquina). Para ejecutarlo, es necesario un intrprete, la JVM (Java Virtual Machine) mquina virtual Java. De esta forma, es posible compilar el programa en una estacin UNIX y ejecutarlo en otra con Windows95 utilizando la mquina virtual Java para Windows95. Esta JVM se encarga de leer los bytecodes y traducirlos a instrucciones ejecutables directamente en un determinado microprocesador, de una forma bastante eficiente.

M.C.C. F. Alonso S.

10/09/2013

14

La Maquina Virtual JAVA

La mquina virtual Java es la idea revolucionaria del lenguaje. Es la entidad que proporciona la independencia de plataforma para los programas Javacompilados en byte-code.

M.C.C. F. Alonso S.

10/09/2013

15

Un mismo programa fuente compilado en distintas plataformas o sistemas operativos, genera el mismo fichero en byte-code. Esto es lgico, ya que se supone que el compilador de Java traduce el fichero fuente a cdigo ejecutable por una mquina que nicamente existe en forma virtual (aunque se trabaja en la construccin de microprocesadores que ejecuten directamente el byte-code). Evidentemente, si un mismo programa en byte-code puede ser ejecutado en distintas plataformas es porque existe un traductor de ese byte-code a cdigo nativo de la mquina sobre la que se ejecuta. Esta tarea es realizada por la JVM. Existe una versin distinta de esta JVM para cada plataforma. Esta JVM se carga en memoria y va traduciendo al vuelo, los byte-codes a cdigo mquina. La JVM no ocupa mucho espacio en memoria, pinsese que fue diseada para poder ejecutarse sobre pequeos electrodomsticos como telfonos, televisores, etc.
10/09/2013 16

M.C.C. F. Alonso S.

JavaScript

JavaScript es una variacin del lenguaje Java. Desarrollado por Netscape y Sun, fue diseado para simplificar la creacin de contenidos interactivos en pginas web sin necesidad de tener que programar applets en Java. En lugar de ello se utilizan tcnicas ms sencillas mediante el lenguaje JavaScript que es ms flexible, aunque mucho menos potente. El lenguaje JavaScript es totalmente interpretado por el navegador. El cdigo fuente se incluye como parte de la pgina web en HTML y es el navegador el encargado de interpretar el cdigo fuente.

M.C.C. F. Alonso S.

10/09/2013

17

No podra hacerse en Java? S, pero no de forma tan sencilla como con JavaScript.

Este lenguaje fue pensado para acercar Java a programadores inexpertos y creadores de contenidos HTML sin conocimientos avanzados de programacin.
Diferencias entre Java y JavaScript:

Java es compilado, mientras que JavaScript es totalmente interpretado. Java es orientado a objetos. JavaScript utiliza objetos, pero no permite la programacin orientada a objetos. En JavaScript no es necesario declarar las variables y en Java s. En JavaScript, las comprobaciones de validez de referencias a objetos se realizan en tiempo de ejecucin, mientras que en Java se realiza en tiempo de compilacin. JavaScript tiene un nmero limitado de tipos de datos y clases. Los applets Java se transmiten como cdigo aparte de la pgina Web. En JavaScript, los applets se transmiten conjuntamente con la pgina web (embebidos en ella).
10/09/2013 18

M.C.C. F. Alonso S.

El entorno de desarrollo JDK.

La herramienta bsica para empezar a desarrollar aplicaciones o applets en Java es el JDK (Java Developers Kit) o Kit de Desarrollo Java, que consiste, bsicamente, en un compilador y un intrprete (JVM) para la lnea de comandos. No dispone de un entorno de desarrollo integrado (IDE), pero es suficiente para aprender el lenguaje y desarrollar pequeas aplicaciones.

M.C.C. F. Alonso S.

10/09/2013

19

Dnde conseguirlo?

El Kit de desarrollo puede obtenerse en las direcciones siguientes:


http://www.sun.com http://www.oracle.com/technetwork/java/index.html

M.C.C. F. Alonso S.

10/09/2013

20

El entorno para Windows est formado por un fichero ejecutable que realiza la instalacin, creando toda la estructura de directorios. El kit contiene bsicamente:

El compilador: javac.exe El depurador: jdb.exe El intrprete: java.exe y javaw.exe El visualizador de applets: appletviewer.exe El generador de documentacin: javadoc.exe Un desensamblador de clases: javap.exe

El generador de archivos fuentes y de cabecera (.c y .h) para clases nativas en C: javah.exe
10/09/2013 21

M.C.C. F. Alonso S.

VISIN GENERAL Y ELEMENTOS BSICOS DEL LENGUAJE


En Java, prcticamente todo son clases (objetos). El lenguaje obliga a la programacin orientada a objetos y no permite la posibilidad de programar mediante ninguna otra tcnica que no sea sta. Por esta razn, un programa estar formado por uno o varios archivos fuente y en cada uno de ellos habr definida una o varias clases.

M.C.C. F. Alonso S.

10/09/2013

22

En un fichero fuente puede declararse una o ms clases y tendr un aspecto similar a este: class Clase1 { } class Clase2 { } class ClaseN {

}
M.C.C. F. Alonso S. 10/09/2013 23

Una clase est formada por una parte correspondiente a la declaracin, y otra correspondiente al cuerpo de la misma: Cuerpo de clase } En la plantilla anterior se ha simplificado el aspecto de la Declaracin de clase, pero s que puede asegurarse que la misma contendr, como mnimo, la palabra reservada class y el nombre que recibe la clase.

Declaracin de clase {

M.C.C. F. Alonso S.

10/09/2013

24

El cuerpo de las clases comienza con una llave abierta({) y termina con una llave cerrada (}). Dentro del cuerpo de la clase se declaran los atributos y los mtodos de la clase. Para que un programa se pueda ejecutar, debe contener una clase que tenga un mtodo main con la siguiente declaracin: public static void main( String argumentos [] )

M.C.C. F. Alonso S.

10/09/2013

25

class Hola {

public static void main(String argumentos[])


{ System.out.println("hola, mundo"); }

El lenguaje Java, al igual que C, distingue entre maysculas y minsculas, por lo que es importante transcribirlo literalmente. Tambin hay que comentar que en el nombre del archivo fuente tambin se hace distincin entre maysculas y minsculas a la hora de compilarlo, aunque el sistema operativo empleado no haga esta distincin. La extensin del mismo debe ser .java
10/09/2013 26

M.C.C. F. Alonso S.

Todo programa independiente escrito en Java empieza a ejecutarse (como en C) a partir del mtodo main(). Se pueden compilar clases que no posean mtodo main(), pero el intrprete Java no podr ejecutarlas inicialmente, aunque s pueden ejecutarse si son llamadas desde otro mtodo en ejecucin.

M.C.C. F. Alonso S.

10/09/2013

27

Declaracin del mtodo main():

public: indica que el mtodo main() es pblico y, por tanto, puede ser llamado desde otras clases. Todo mtodo main() debe ser pblico para poder ejecutarse desde el intrprete Java (JVM). static: indica que la clase no necesita ser instanciada para poder utilizar el mtodo al que califica. (No se crea ninguna instancia u objeto de la clase Hola). Tambin indica que el mtodo es el mismo para todas las instancias que pudieran crearse. void: indica que la funcin main no devuelve ningn valor. El mtodo main debe aceptar siempre, como parmetro, un vector de strings, que contendr los posibles argumentos que se le pasen al programa en la lnea de comandos, aunque como es nuestro caso, no se utilice. El mtodo main() siempre se declara de la misma forma:

public static void main(String argumentos[])


M.C.C. F. Alonso S. 10/09/2013 28

La instruccin que realmente realiza el trabajo efectivo de nuestro programa es la siguiente: System.out.println("hola, mundo"); Este lnea indica que se va a ejecutar el mtodo println(), encargado de mostrar un valor a travs de la salida estndar (en nuestro caso, un String) y despus realizar un retorno de carro y nueva lnea. Este mtodo pertenece al atributo out. Este atributo se encuentra incluido dentro de la clase System.

M.C.C. F. Alonso S.

10/09/2013

29

Comentarios.

Los comentarios en los programas fuente son muy importantes en cualquier Sirven para aumentar la facilidad de comprensin del cdigo y para recordar ciertas cosas sobre el mismo. Son porciones del programa fuente que no sern compiladas, y, por tanto, no ocuparn espacio en el fichero ejecutable. nicamente sirven para documentar.

lenguaje.

M.C.C. F. Alonso S.

10/09/2013

30

Si un comentario debe ocupar ms de una lnea, hay que anteponerle /* y al final */.

Ejemplo: /* Esto es un comentario que ocupa tres lneas */

Si el comentario que se desea escribir es de una sola lnea, basta con poner dos barras inclinadas: //

M.C.C. F. Alonso S.

10/09/2013

31

Ejemplo: for (i=0; i<20;i++) // comentario de bucle { System.out.println(Adis); }

No puede ponerse cdigo despus de un comentario introducido por // en la misma lnea, ya que desde la aparicin de las dos barras inclinadas // hasta el final de la lnea es considerado como comentario e ignorado por el compilador.

M.C.C. F. Alonso S.

10/09/2013

32

M.C.C. F. Alonso S.

10/09/2013

33

Secuencias de Escape

Una secuencia de escape esta formada por el carcter \ seguido de una letra o de una combinacin de dgitos. Son utilizadas por acciones como nueva lnea, tabular y para hacer referencia a caracteres no imprimibles. El lenguaje JAVA tiene predefinidas las siguientes secuencias de escape: Secuencia \n \t \b HT BS ASCII CR-LF Definicin Ir al principio de la siguiente lnea Tabulador horizontal Retroceso (backspace)

\r
M.C.C. F. Alonso S.

CR FF

Retorno de carro sin avance de lnea


10/09/2013 34 Alimentacin de pagina(solo para impresora)

\f

Secuencia \ \ \\ \ddd \udddd \u0007 \u000B BELL VT \

ASCII Comilla simple Comilla doble

Definicin

Barra invertida(backslash) Carcter ASCII. Representacin octal Carcter ASCII. Representacin hexadecimal Alerta, pitido Tabulador vertical(solo para impresora)

M.C.C. F. Alonso S.

10/09/2013

35

Tipos de datos

Para que el compilador JAVA reconozca esta operacin es necesario especificar previamente el tipo de cada uno de los operandos que intervienen en la misma, as como el tipo de resultado. Para ello escribimos una lnea como la siguiente:

Int dato1, dato2, resultado; La declaracin anterior le dice el compilador JAVA que dato1, dato2 y resultado son de tipo entero (int). Los tipos de datos en JAVA se clasifica en: tipos primitivos y tipos referenciados.

M.C.C. F. Alonso S.

10/09/2013

36

Tipos primitivos

Hay ocho tipos de datos que podemos clasificar en: tipos numricos y el tipo boolean. A su vez, los tipos numricos se clasifican en tipos enteros y tipos reales. Tipos enteros: byte, short, int, long y char. Tipos reales: float y double. Cada tipo primitivo tiene un rango diferente de valores positivos y negativos. El tipo de dato que se seleccione para declarar las variables de un determinado programa depender del rango y tipo de valores que se vayan a almacenar cada una de ellas y de si estos son enteros o fraccionarios.

M.C.C. F. Alonso S.

10/09/2013

37

Se les llama primitivos por que estn integrados al sistema y en realidad no son objetos, lo cual hace que su uso sea mas eficiente.

M.C.C. F. Alonso S.

10/09/2013

38

byte

El tipo byte, se utiliza para declarar enteros comprendidos entre -128 y +127. Un byte se define como un conjunto de 8 bits, independientemente de la plataforma en que se ejecute el cdigo byte de JAVA. El siguiente ejemplo declara la variable b de tipo byte y le asigna el valor inicial 0.

byte b=0;

M.C.C. F. Alonso S.

10/09/2013

39

short

El tipo short se utiliza para declarar datos enteros comprendidos entre -32768 y +32767. Un valor de short se define como un dato de 16 bits de longitud, independientemente de la plataforma en la que resida el cdigo byte de JAVA. El siguiente ejemplo declara i y j como variables enteras de tipo short:

Short i = 0, j = 0;

M.C.C. F. Alonso S.

10/09/2013

40

int

El tipo int se utiliza para declarar datos enteros comprendidos entre 2147483648 y +2147483647. Un valor int se define como un dato de 32 bits de longitud, independientemente de la plataforma en la que se ejecute el cdigo byte de JAVA. El siguiente ejemplo declara e inicia tres variables a,b y c, de tipo int.

int a = 2000; int b = -30;

Int c = 0xF003; /* valor en hexadecimal */


M.C.C. F. Alonso S. 10/09/2013 41

long

El tipo long se utiliza para declarar datos enteros comprendidos entre los valores -9223372036854775808 y +9223372036854775807. Un valor long, se define como un dato de 64 bits de longitud, independientemente de la plataforma en la que se ejecute el cdigo byte de JAVA. El siguiente ejemplo declara e inicializa las variables a.b y c, de tipo long:

Long a= -1L; /*L indica que la constante -1 es long*/ Long b = 125;

Long c = 0x1F00230F; /*Valor hexadecimal*/


M.C.C. F. Alonso S. 10/09/2013 42

char

El tipo char es utilizado para declarar datos enteros en el rango \u0000 a \Uffff en Unicode (0 a 65535). Los valores 0 a 127 se corresponden con los caracteres ASCII del mismo cdigo. El juego de caracteres ASCII conforman una parte muy pequea del juego de caracteres Unicode. Ejemplos:

Char car = a; Char car = 97; Char car = 0x0061; Char car = \u0061;
M.C.C. F. Alonso S. 10/09/2013 43

float

El tipo float se utiliza para declarar un dato en coma flotante de 32 bits en el formato IEEE 754 (este formato utiliza un bit para el signo, 8 bits para el exponente y 23 para la mantisa). Los datos de tipo float almacenan valores con una precisin aproximada de 7 dgitos. Para especificar que una constante (un literal) es de tipo float, hay que aadir al final de su valor la letra f o F. El siguiente ejemplo declara las variables a,b y c, de tipo real de precisin simple:

Float a = 3.14159F;

Float b = 2.2e-5F; /*2.2e-5 = 2.2 por 10 elevado a -5*/


Float c = 2/3F; /*0.6666667*/
M.C.C. F. Alonso S. 10/09/2013 44

double

El tipo doubl se utiliza para declarar un dato en coma flotante de 64 bits en el formato IEEE 754 (1 bit para el signo, 11 bits para el exponente y 52 para la mantisa). Los datos de tipo doubl almacenan valores con una precisin aproximada de 16 dgitos. Para especificar que una constante (un literal) es de tipo doubl, hay que aadir al final de su valor la letra d o D; El siguiente ejemplo declara las variables a,b y c, de tipo real de precisin doble:

Double a = 3.14159; /*una constante es doubl por omisin*/

Double b = 2.2e+5; /*2.2e+5v= 2.2 por 10 elevado a 5*/


Double c = 2/3D; /*Constante de tipo doubl*/
M.C.C. F. Alonso S. 10/09/2013 45

boolean

El tipo boolean se utiliza para indicar si el resultado de la evaluacin de una expresin booleana es verdadero falso. Los dos posibles valores de una expresin booleana son true y false. Los literales true y false son constantes definidas como palabras clave en el lenguaje JAVA.

M.C.C. F. Alonso S.

10/09/2013

46

literales

Una literal es la expresin de un valor de un tipo primitivo, de un tipo String(cadena de caracteres) o la expresin null(valor nulo o desconocido). Por ejemplo son literales: 5, 3.14, a. hola y null. En realidad son valores constantes. Una literal en JAVA puede ser: un entero, un real, un valor booleano, un carcter, una cadena de caracteres y un valor nulo.

M.C.C. F. Alonso S.

10/09/2013

47

Literales enteros

En lenguaje JAVA permite especificar una literal entero como base 10,8 y 16.

En general, el signo + es opcional si el valor es positivo y el signo estar presente siempre que el valor sea negativo.
Sintaxis:

{[+]|-}literal_entero[{] |[}]

Una literal entero decimal puede tener uno o mas dgitos del 0 al 9, de los cuales el primero de ellos es distinto de 0. Por ejemplo: Constante entera int constante entera long Constante entera long
10/09/2013 48

4326 4326L 34326000000


M.C.C. F. Alonso S.

Una literal entero octal puede tener uno o mas dgitos del 0 al 7, precedido por 0(cero). Por ejemplo: Constante entera int en base 8

0326

M.C.C. F. Alonso S.

10/09/2013

49

Una literal entero hexadecimal puede tener uno o mas dgitos del 0 al 9 y letras de la A a la F (en maysculas o en minsculas) precedidas por 0x o 0X. Ejemplos: Numero decimal 256 Numero decimal 256 expresado en octal numero decimal 256 expresado en hexadecimal numero decimal -256 expresado en octal numero decimal -256 expresado en hexadecimal

256 0400 0x100 -0400 -0x100

M.C.C. F. Alonso S.

10/09/2013

50

Tipos de datos referenciales.


El resto de tipos de datos que no son simples, son considerados referenciales. Estos tipos son bsicamente las clases, en las que se basa la programacin orientada a objetos. Al declarar un objeto perteneciente a una determinada clase, se est reservando una zona de memoria donde se almacenarn los atributos y otros datos pertenecientes a dicho objeto. Lo que se almacena en el objeto en s, es un puntero (referencia) a dicha zona de memoria. Dentro de estos tipos pueden considerarse las interfaces, los Strings y los vectores, que son unas clases un tanto especiales, y que se vern en detalle posteriormente

M.C.C. F. Alonso S.

10/09/2013

51

Existe un tipo referencial especial nominado por la palabra reservada null que puede ser asignado a cualquier variable de cualquier clase y que indica que el puntero no tiene referencia a ninguna zona de memoria (el objeto no est inicializado). Adems, todos los tipos de datos simples vistos en el punto anterior pueden ser declarados como referenciales (objetos), ya que existen clases que los engloban.

M.C.C. F. Alonso S.

10/09/2013

52

Estas clases son:

M.C.C. F. Alonso S.

10/09/2013

53

Identificadores

Son nombres dados a tipos, literales, variables, clases, interfaces, mtodos, paquetes y sentencias de un programa. La sintaxis para formar un identificador es la siguiente:

{letra|_|$}[{letra|digito|_|$|]

Las letras pueden ser maysculas o minsculas. Para Java una letras mayscula es un carcter diferente a esa msima letra minscula. Por ejemplo los identificadores: Suma, suma y SUMA son diferentes.

M.C.C. F. Alonso S.

10/09/2013

54

Reglas para la creacin de identificadores:


1.

Java hace distincin entre maysculas y minsculas, por lo tanto, nombres o identificadores como var1, Var1 y VAR1 son distintos. Pueden estar formados por cualquiera de los caracteres del cdigo Unicode, por lo tanto, se pueden declarar variables con el nombre: aoDeCreacin, ram, etc. (se acab la poca de los nombres de variable como ano_de_creacion), aunque eso s, el primer carcter no puede ser un dgito numrico y no pueden utilizarse espacios en blanco ni smbolos coincidentes con operadores. La longitud mxima de los identificadores es prcticamente ilimitada. No puede ser una palabra reservada del lenguaje ni los valores lgicos true o false.
10/09/2013 55

2.

3. 4.

M.C.C. F. Alonso S.

5. 6.

No pueden ser iguales a otra identificador declarado en el mismo mbito. Por convenio, los nombres de las variables y los mtodos deberan empezar por una letra minscula y los de las clases por mayscula. Adems, si el identificador est formado por varias palabras la primera se escribe en minsculas (excepto para las clases) y el resto de palabras se hace empezar por mayscula (por ejemplo: aoDeCreacin). Estas reglas no son obligatorias, pero son convenientes ya que ayudan al proceso de codificacin de un programa, as como a su legibilidad. Es ms sencillo distinguir entre clases y mtodos o variables.

M.C.C. F. Alonso S.

10/09/2013

56

Ya que el lenguaje permite identificadores todo lo largos que se desee, es aconsejable crearlos de forma que tengan sentido y faciliten su interpretacin. El nombre ideal para un identificador es aquel que no se excede en longitud (lo ms corto posible) siempre que califique claramente el concepto que intenta representar.

M.C.C. F. Alonso S.

10/09/2013

57

Declaracin de variables.

La declaracin de una variable se realiza de la misma forma que en C. Siempre contiene el nombre (identificador de la variable) y el tipo de dato al que pertenece. El mbito de la variable depende de la localizacin en el programa donde es declarada.

Ejemplo:
int x; Las variables pueden ser inicializadas en el momento de su declaracin, siempre que el valor que se les asigne coincida con el tipo de dato de la variable. Ejemplo: int x = 0;

M.C.C. F. Alonso S.

10/09/2013

58

mbito de una variable.

El mbito de una variable es la porcin de programa donde dicha variable es visible para el cdigo del programa y, por tanto, referenciable. El mbito de una variable depende del lugar del programa donde es declarada, pudiendo pertenecer a cuatro categoras distintas.

Variable local.

Atributo.
Parmetro de un mtodo. Parmetro de un tratador de excepciones.

M.C.C. F. Alonso S.

10/09/2013

59

Variables locales.

Una variable local se declara dentro del cuerpo de un mtodo de una clase y es visible nicamente dentro de dicho mtodo. Se puede declarar en cualquier lugar del cuerpo, incluso despus de instrucciones ejecutables, aunque es una buena costumbre declararlas justo al principio.

M.C.C. F. Alonso S.

10/09/2013

60

class Caracter { char ch;

public Caracter(char c) {
ch=c; } public void repetir(int num) { int i; for (i=0;i<num;i++) System.out.println(ch);

}
} class Ej1 { public static void main(String argumentos[]) { Caracter caracter; caracter = new Caracter('H'); caracter.repetir(20); } } M.C.C. F. Alonso S. 10/09/2013 61

En este ejemplo existe una variable local: int i; definida en el mtodo repetir de la clase Caracter, por lo tanto, nicamente es visible dentro del mtodo repetir. Tambin existe una variable local en el mtodo main. En este caso, la variable local es un objeto:

Caracter caracter; que slo ser visible dentro del mtodo en el que est declarada (main).

M.C.C. F. Alonso S.

10/09/2013

62

Cuando se pretende declarar mltiples variables del mismo tipo pueden declararse, en forma de lista, separadas por comas: Ejemplo: Declara tres variables x, y, z de tipo entero. Podran haberse inicializado en su declaracin de la forma: No es necesario que se declaren al principio del mtodo. Puede hacerse en cualquier lugar del mismo, incluso de la siguiente forma: for (int i=0;i<num;i++) System.out.println(ch);

int x,y,z;

int x=0,y=0,z=3;

public void repetir(int num) {

}
M.C.C. F. Alonso S. 10/09/2013 63

En el caso de las variables locales, stas no se inicializan con un valor por defecto, como se ha comentado en el punto anterior, sino que es necesario asignarles algn valor antes de poder utilizarlas en cualquier instruccin, de lo contrario el compilador genera un error, de tal forma que es imposible hacer uso de una variable local no inicializada sin que se percate de ello el compilador.

M.C.C. F. Alonso S.

10/09/2013

64

Atributos.

Los atributos de una clase son las caractersticas que se van a tener en cuenta sobre un objeto y por lo tanto su mbito est circunscrito, en principio, dentro de la clase a la cual caracterizan. Se declaran de la misma forma que las variables locales pero, adems, pueden tener algunos modificadores que afectan al mbito de los mismos. En el ejemplo anterior, ch es un atributo de la clase Caracter y por lo tanto es manipulable en cualquier mtodo de dicha clase, como de hecho ocurre en los mtodo repetir() y Carcter(). Para acceder a un atributo de un objeto desde algn mtodo perteneciente a otra

clase u objeto se antepone el nombre del objeto y un punto al nombre de dicho atributo. Por ejemplo:

caracter.ch
M.C.C. F. Alonso S. 10/09/2013 65

Parmetros de un mtodo.

Los parmetros se declaran en la cabecera del mtodo de la siguiente forma:

[Modificadores_de_mtodo] Tipo_devuelto Nombre_de_mtodo (lista_de_parmetros) { }

La lista_de_parmetros consiste en una serie de variables, separadas por comas y declarando el tipo al que pertenecen.

Ejemplo: public static void miMtodo(int v1, int v2, float v3, String v4, ClaseObjeto v5);
M.C.C. F. Alonso S. 10/09/2013 66

Ntese que aunque existan varios parmetros pertenecientes al mismo tipo o clase, no pueden declararse abreviadamente, como ocurre con las variables locales y los atributos, indicando el tipo y a continuacin la lista de parmetros separados por comas. As, es ilegal la siguiente declaracin del mtodo anterior:

public static void miMtodo(int v1, v2, float v3, String v4, ClaseObjeto v5);

M.C.C. F. Alonso S.

10/09/2013

67

Los parmetros de un mtodo pueden ser de dos tipos:

Variables de tipo simple de datos: En este caso, el paso de parmetros se realiza siempre por valor. Es decir, el valor del parmetro de llamada no puede ser modificado en el cuerpo del mtodo (El mtodo trabaja con una copia del valor utilizado en la llamada). Variables de tipo objeto (referencias): En este caso, lo que realmente se pasa al mtodo es un puntero al objeto y, por lo tanto, elvalor del parmetro de llamada s que puede ser modificado dentro del mtodo (El mtodo trabaja directamente con el valor utilizado en la llamada), a no ser que se anteponga la palabra reservada final..

M.C.C. F. Alonso S.

10/09/2013

68

M.C.C. F. Alonso S.

10/09/2013

69

M.C.C. F. Alonso S.

10/09/2013

70

La salida del programa seria la siguiente:

Como puede verse, despus de la llamada, el valor del objeto obj s ha sido modificado (se ha realizado un pase de parmetro por referencia), mientras que el valor de la variable var1 no ha sido modificado (se ha realizado un paso de parmetro por valor).
10/09/2013 71

M.C.C. F. Alonso S.

Operadores

Los operadores son partes indispensables en la construccin de expresiones. Existen muchas definiciones tcnicas para el trmino expresin. Puede decirse que una expresin es una combinacin de operandos ligados mediante operadores. Los operandos pueden ser variables, constantes, funciones, literales, etc. y los operadores todos los enumerados en este punto.

M.C.C. F. Alonso S.

10/09/2013

72

Operadores aritmticos

M.C.C. F. Alonso S.

10/09/2013

73

Como en C, los operadores unarios ++ y -- realizan un incremento y un decremento respectivamente. Estos operadores admiten notacin prefija y postfija.

++op1: En primer lugar realiza un incremento (en una unidad) de op1 y despus ejecuta la instruccin en la cual est inmerso. op1++: En primer lugar ejecuta la instruccin en la cual est inmerso y despus realiza un incremento (en una unidad) de op1. --op1: En primer lugar realiza un decremento (en una unidad) de op1 y despus ejecuta la instruccin en la cul est inmerso.
op1--:

En primer lugar ejecuta la instruccin en la cual est inmerso y despus realiza un decremento (en una unidad) de op1.

M.C.C. F. Alonso S.

10/09/2013

74

La diferencia entre la notacin prefija y la postfija no tiene importancia en expresiones en las que nicamente existe dicha operacin: es equivalente a: contador++; contador--;

++contador; --contador;

Es importante no emplear estos operadores en expresiones que contengan ms de una referencia a la variable incrementada, puesto que esta prctica puede generar resultados errneos fcilmente.

M.C.C. F. Alonso S.

10/09/2013

75

La diferencia es apreciable en instrucciones en las cules estn incluidas otras operaciones. Por ejemplo:

En el primer caso, el bucle se ejecutar 3 veces, mientras que en el segundo se ejecutar 2 veces.
10/09/2013 76

M.C.C. F. Alonso S.

Operadores relacionales:

M.C.C. F. Alonso S.

10/09/2013

77

Los operadores relacionales actan sobre valores enteros, reales y caracteres (char); y devuelven un valor del tipo boolean (true o false).

M.C.C. F. Alonso S.

10/09/2013

78

Salida por pantalla:

Nota: Los operadores == y != actan tambin sobre valores lgicos (boolean).

M.C.C. F. Alonso S.

10/09/2013

79

Operadores lgicos:

Estos operadores actan sobre operadores o expresiones lgicas, es decir, aquellos que se evalan a cierto o falso (true / false). Por ejemplo, el siguiente programa:
10/09/2013 80

M.C.C. F. Alonso S.

M.C.C. F. Alonso S.

10/09/2013

81

Producira la siguiente salida por pantalla:

M.C.C. F. Alonso S.

10/09/2013

82

Operadores de bits

M.C.C. F. Alonso S.

10/09/2013

83

M.C.C. F. Alonso S.

10/09/2013

84

Los operadores de bits actan sobre valores enteros (byte, short, int y long) o caracteres (char).

M.C.C. F. Alonso S.

10/09/2013

85

Producira la siguiente salida por pantalla:

M.C.C. F. Alonso S.

10/09/2013

86

Operadores de Asignacion

M.C.C. F. Alonso S.

10/09/2013

87

Palabras Clave
abstract boolean break byte case catch char class const continue
M.C.C. F. Alonso S.

default do double else extends final finally float for goto

if implements import instanceof int interface long native new package

private protected public return short static super switch synchonized this

throw throws transient try void volatile while

10/09/2013

88

Comentarios

Un comentarios es un mensaje a cualquiera que lea el cdigo fuente. Aadiendo comentarios se hace mas fcil la comprensin de un programa. La finalidad de los comentarios es explicar el cdigo fuente. Java soporta tres tipos de comentarios:

Comentario tradicional. Un comentario tradicional empieza con los caracteres /* y finaliza con */. Estos comentarios pueden ocupar mas de una lnea. Ejemplo: /********************************************************************************
* Le ejecucin del programa comienza con el mtodo main(). * La llamada al constructor de la clase no tiene lugar a menos * que se cree un objeto del tipo CElementosJava * en el mtodo main(). */

M.C.C. F. Alonso S.

10/09/2013

89

Operadores

M.C.C. F. Alonso S.

10/09/2013

90

M.C.C. F. Alonso S.

10/09/2013

91

M.C.C. F. Alonso S.

10/09/2013

92

M.C.C. F. Alonso S.

10/09/2013

93

Vous aimerez peut-être aussi