Está en la página 1de 22

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

Sesin 1. Introduccin al Lenguaje Java


Leccin 1.1 Panorama General
Objetivos El alumno definir el concepto de maquina virtual Java. El alumno identificar los elementos del lenguaje Java. El alumno describir los operadores aritmticos, relacionales y lgicos del lenguaje Java. El alumno aplicar los conceptos de esta sesin a travs de la escritura, compilacin, ejecucin y depuracin de programas en Java.

En Esta Sesin

Fundamentos El anlisis es la base de la programacin estructurada, es decir, la descomposicin de una tarea en tareas ms pequeas. Un programa no es otra cosa que una coleccin de funciones que son llamadas sucesivamente por la funcin principal y nica del programa. !ada funcin tiene sus propias variables, es un mdulo independiente. "a #rogramacin $rientada a $bjetos es el siguiente paso en la evolucin de los lenguajes de programacin, que combina funciones y datos en una unidad auto consistente denominada clase. "a creacin de interfaces grficos como el %indo&s de 'icrosoft es uno de los ejemplos ms claros de las ventajas que tiene la programacin orientada a objetos sobre la programacin estructurada. "as librer(as nos proporcionan clases que describen el aspecto y la conducta de elementos como la ventana, el dilogo, los controles, etc. )erivando una clase de otra base, estamos utili*ando el cdigo de la clase base para nuestras propias necesidades, y le aadimos el cdigo que implementa la conducta espec(fica. Un lenguaje de #rogramacin $rientada a $bjetos nos permite organi*ar el cdigo en entidades como las clases compuestas de datos y funciones, y a travs de la caracter(stica de la +erencia podemos organi*ar las clases en jerarqu(as. #ag. ,

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

-unque la #rogramacin $rientada a $bjetos es la manera ms natural de programar, aclimatarse a su ambiente requiere cierto tiempo, no se producen resultados inmediatos. "os numerosos ejemplos que se comentarn a lo largo de las siguientes pginas tratarn de ayudar a efectuar dic+a transicin de un modo suave y ordenado. Una ve* aclimatado, sentir por s( mismo la necesidad de organi*ar el cdigo en clases, y posteriormente, si lo requiere el problema, establecer jerarqu(as entre dic+as clases. El lenguaje Java se parece al lenguaje !.. de modo que un programador que cono*ca este lenguaje +a dado un gran paso adelante. /in embargo, e0isten tambin grandes diferencias entre ambos lenguajes. Un programador puede +aber usado el lenguaje !.. como un lenguaje ! mejorado sin +aber usado para nada la #rogramacin $rientada a $bjetos. /in embargo, Java es un lenguaje plenamente orientado a objetos, y para escribir el programa ms simple +emos de definir una clase. "os tipos bsicos de datos son similares, pero los arrays son distintos, y las cadenas de caracteres en Java son objetos de la clase String.

#ag. 1

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

Leccin 1.2 La

!"uina #irtual Java

$om%ilador e Int&r%rete El lenguaje Java es a la ve* compilado e interpretado. !on el compilador se convierte el cdigo fuente que reside en arc+ivos cuya e0tensin es .java, a un conjunto de instrucciones que recibe el nombre de bytecodes que se guardan en un arc+ivo cuya e0tensin es .class. Estas instrucciones son independientes del tipo de ordenador. El intrprete ejecuta cada una de estas instrucciones en un ordenador espec(fico 2%indo&s, 'acintos+, etc3. /olamente es necesario, por tanto, compilar una ve* el programa, pero se interpreta cada ve* que se ejecuta en un ordenador.

!ada intrprete Java es una implementacin de la 'quina 4irtual Java 2J4'3. "os bytecodes posibilitan el objetivo de 5&rite once, run any&+ere5, de escribir el programa una ve* y que se pueda correr en cualquier plataforma que disponga de una implementacin de la J4'. #or ejemplo, el mismo programa Java puede correr en %indo&s, /olaris, "inu0, 'acintos+, etc. Java es, por tanto, algo ms que un lenguaje, ya que la palabra Java se refiere a dos cosas inseparables6 el lenguaje que nos sirve para crear programas y la 'quina 4irtual Java que sirve para ejecutarlos. !omo vemos en la figura, el -#7 de Java y la 'quina 4irtual Java forman una capa intermedia 2Java platform3 que a(sla el programa Java de las especificidades del +ard&are 2+ard&are8based platform3.

#ag. 9

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

La

!"uina #irtual Java "a 'quina 4irtual Java 2J4'3 es el entorno en el que se ejecutan los programas Java, su misin principal es la de garanti*ar la portabilidad de las aplicaciones Java. )efine esencialmente un ordenador abstracto y especifica las instrucciones 2 bytecodes3 que este ordenador puede ejecutar. El intrprete Java espec(fico ejecuta las instrucciones que se guardan en los arc+ivos cuya e0tensin es .class. "as tareas principales de la J4' son las siguientes6

:eservar espacio en memoria para los objetos creados "iberar la memoria no usada 2garbage collection3. -signar variables a registros y pilas "lamar al sistema +usped para ciertas funciones, como los accesos a los dispositivos 4igilar el cumplimiento de las normas de seguridad de las aplicaciones Java

Esta ltima tarea, es una de las ms importantes que reali*a la J4'. -dems, las propias especificaciones del lenguaje Java contribuyen e0traordinariamente a este objetivo6

"as referencias a arrays son verificadas en el momento de la ejecucin del programa ;o +ay manera de manipular de forma directa los punteros "a J4' gestiona automticamente el uso de la memoria, de modo que no queden +uecos. ;o se permiten reali*ar ciertas conversiones 2casting3 entre distintos tipos de datos.

#or ejemplo, cuando el navegador encuentra una pgina &eb con un applet, pone en marc+a la J4' y proporciona la informacin que aparece en la etiqueta <-##"E= > ... <?-##"E=>. El cargador de clases dentro de la J4' ve que clases necesita el applet. )entro del proceso de carga, las clases se e0aminan mediante un verificador que asegura que las clases contienen cdigo vlido y no malicioso. @inalmente, se ejecuta el applet. #ag. A

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

El lenguaje Java El lenguaje Java no est diseado solamente para crear applets, servlets o J/#Bs que corren en la ventana del navegador. Java es un lenguaje de propsito general, de alto nivel, y orientado a objetos. Java es un lenguaje de programacin orientado a objetos puro, en el sentido de que no +ay ninguna variable, funcin o constante que no est dentro de una clase. /e accede a los miembros dato y las funciones miembro a travs de los objetos y de las clases. #or ra*ones de eficiencia, se +an conservado los tipos bsicos de datos, int, float, double, char, etc, similares a los del lenguaje !?!... "os tipos de programas ms comunes que se pueden +acer con Java son los applets 2se ejecutan en el navegador de la mquina cliente3 y las aplicaciones 2programas que se ejecutan directamente en la J4'3. $tro tipo especial de programa se denomina servlet que es similar a los applets y las J/# 2Java /erver #ages3 pero se ejecutan en los servidores Java. "a -#7 de Java es muy rica, est formada por un conjunto de paquetes de clases que le proporcionan una gran funcionalidad. El n cleo de la -#7 viene con cada una de las implementaciones de la J4'6

"o esencial6 tipos de datos, clases y objetos, arrays, cadenas de caracteres 2strings3, subprocesos 2t+reads3, entrada?salida, propiedades del sistema, etc. -pplets 'anejo de la red 2net&orCing3 7nternacionali*acin /eguridad !omponentes 2JavaDeans3 #ersistencia 2$bject seriali*ation3 !one0in a bases de datos 2J)D!3

Java proporciona tambin e0tensiones, por ejemplo define un -#7 para 9), para los servidores, telefon(a, reconocimiento de vo*, etc. La a%licacin m'nima "a apliacin m(nima consta de una clase que define la funcin esttica main.
public class PrimeroApp{ public static void main(String[] args) { }

#ag. E

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS }

)onde class es la palabra clave que se emplea para definir una clase cuyo nombre es PrimeroApp. )entro de la clase se define una funcin denominada main, que no devuelve nada void y que es esttica 2static3. !omo en el lenguaje !?!.. a esta funcin se le pueden pasar argumentos en el array de objetos del tipo String. "a definicin de una clase est entre dos llaves de apertura { y cierre }. El cuerpo o definicin de la funcin main est asimismo, entre las llaves de apertura y cierre, aqu( es donde situaremos nuestro cdigo para que la aplicacin tenga alguna funcionalidad. Estas pocas l(neas de cdigo de la aplicacin m(nima, son las que usaremos como plantilla a lo largo del curso.

#ag. F

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

Leccin 1.( Elementos del lenguaje Java


Elementos "a sinta0is de un lenguaje define los elementos de dic+o lenguaje y cmo se combinan para formar un programa. "os elementos t(picos de cualquier lenguaje son los siguientes6 7dentificadores6 los nombres que se dan a las variables =ipos de datos #alabras reservadas6 las palabras que utili*a el propio lenguaje /entencias Dloques de cdigo !omentarios E0presiones $peradores

Identi)icadores Un identificador es un nombre que identifica a una variable, a un mtodo o funcin miembro, a una clase. =odos los lenguajes tienen ciertas reglas para componer los identificadores. -dems de estas restricciones, +ay ciertas convenciones que +acen que el programa sea ms legible, pero que no afectan a la ejecucin del programa. "a primera y fundamental es la de encontrar un nombre que sea significativo, de modo que el programa sea lo ms legible posible. El tiempo que se pretende a+orrar eligiendo nombres cortos y poco significativos se pierde con creces cuando se revisa el programa despus de cierto tiempo. Tipo de identificador nombre de una clase nombre de funcin nombre de variable nombre de constante $omentarios #ag. J Convencin !omien*a por letra may scula comien*a con letra min scula comien*a por letra min scula En letras may sculas Ejemplo /tring, :ectangulo, !inematica-pplet calcular-rea, get4alue, set!olor area, color, applet/i*e #7, '-GH-;!I$

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

"a programacin orientada a objetos facilita muc+o la lectura del cdigo, por lo que lo que no se precisa +acer tanto uso de los comentarios como en los lenguajes estructurados. En Java e0isten tres tipos de comentarios

!omentarios en una sola l(nea !omentarios de varias l(neas !omentarios de documentacin

!omo podemos observar un comentario en varias l(neas es un bloque de te0to situado entre el s(mbolo de comien*o del bloque /*, y otro de terminacin del mismo */. =eniendo encuentra este +ec+o, los programadores disean comentarios como el siguiente6
/*--------------------------------| | ( ) Angel !ranco "arc#a | | $ec%a& 'ar(o )**+ | | programa& PrimeroApp,-ava | |---------------------------------*/

Iabitualmente, usaremos comentarios en una sola l(nea /?, ya que no tiene el inconveniente de aprendernos los s(mbolos de comien*o y terminacin del bloque, u olvidarnos de poner este ltimo, dando lugar a un error en el momento de la compilacin.
public class PrimeroApp{ public static void main(String[] args) { //imprime un mensa-e S.stem,out,println(/0l primer programa/)1 } }

Un procedimiento elemental de depuracin de un programa consiste en anular ciertas sentencias de un programa mediante los delimitadores de comentarios. #or ejemplo, se puede modificar el programa y anular la sentencia que imprime el mensaje, poniendo delante de ella el delimitador de comentarios en una sola l(nea.
//S.stem,out,println(/0l primer programa/)1

-l correr el programa, observaremos que no imprime nada en la pantalla. "a sentencia System.out.println() imprime un mensaje en la consola, una ventana )$/ que se abre en el escritorio de %indo&s KE. "a funcin println tiene un slo argumento una cadena de caracteres u objeto de la clase String. Sentencias Una sentencia es una orden que se le da al programa para reali*ar una tarea espec(fica, esta puede ser6 mostrar un mensaje en la pantalla, declarar una variable 2para reservar espacio en memoria3, iniciali*arla, llamar a una funcin, etc. "as sentencias acaban con ;. este carcter #ag. L

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

separa una sentencia de la siguiente. ;ormalmente, las sentencias se ponen unas debajo de otras, aunque sentencias cortas pueden colocarse en una misma l(nea. Ie aqu( algunos ejemplos de sentencias
int i231 import -ava,a4t,*1 S.stem,out,println(/0l primer programa/)1 rect,mover(3*5 )*)1

*lo"ues de cdigo Un bloque de cdigo es un grupo de sentencias que se comportan como una unidad. Un bloque de cdigo est limitado por las llaves de apertura { y cierre }. !omo ejemplos de bloques de cdigo tenemos la definicin de una clase, la definicin de una funcin miembro, una sentencia iterativa for, los bloques tr ... catch, para el tratamiento de las e0cepciones, etc. E+%resiones Una e0presin es todo aquello que se puede poner a la derec+a del operador asignacin M. #or ejemplo6
623)71 .2(683**)/91 area2circulo,calcularArea(),+)1 :ectangulo r2ne4 :ectangulo(3*5 3*5 )**5 7**)1

#ariables Una variable es un nombre que se asocia con una porcin de la memoria del ordenador, en la que se guarda el valor asignado a dic+a variable. Iay varios tipos de variables que requieren distintas cantidades de memoria para guardar datos. =odas las variables +an de declararse antes de usarlas, la declaracin consiste en una sentencia en la que figura el tipo de dato y el nombre que asignamos a la variable. Una ve* declarada se le podr asignar valores. Java tiene tres tipos de variables en cuanto al mbito o alcance6 de instancia de clase locales

"as variables de instancia o miembros dato como veremos ms adelante, se usan para guardar los atributos de un objeto particular. #ag. K

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

"as variables de clase o miembros dato estticos son similares a las variables de instancia, con la e0cepcin de que los valores que guardan son los mismos para todos los objetos de una determinada clase. En el siguiente ejemplo, PI es una variable de clase y radio es una variable de instancia. PI guarda el mismo valor para todos los objetos de la clase Circulo, pero el radio de cada c(rculo puede ser diferente.
class irculo{ static $inal double P;27,393<1 double radio1 //,,, }

"as variables locales se utili*an dentro de las funciones miembro o mtodos. En el siguiente ejemplo area es una variable local a la funcin calcularArea en la que se guarda el valor del rea de un objeto de la clase Circulo. Una variable local e0iste desde el momento de su definicin +asta el final del bloque en el que se encuentra.
class //,,, irculo{ double calcularArea(){ double area2P;*radio*radio1 return area1 }

En el lenguaje Java, las variables locales se declaran en el momento en el que son necesarias. Es una buena costumbre iniciali*ar las variables en el momento en el que son declaradas. 4eamos algunos ejemplos de declaracin de algunas variables
int 62*1 String nombre2/Angel/1 double a27,+5 b2*,*5 c2-),91 boolean b=uevo2true1 int[] datos1

,i%os de datos %rimitivos Tipo boolean Char " te #hort $nt !escripcion =iene dos valores true o false. !aracteres Unicode de ,F bits "os caracteres alfa8numricos son los mismos que los -/!77 con el bit alto puesto a N. El intervalo de valores va desde N +asta FEE9E 2valores de ,F8bits sin signo3. =amao L bits. El intervalo de valores va desde 81J +asta 1J 8, 28,1L a ,1J3 =amao ,F bits. El intervalo de valores va desde 81,E +asta 1,E8, 2891JFL a 91JFJ3 =amao 91 bits. El intervalo de valores va desde 819, +asta 19,8, 281,AJAL9FAL a #ag. ,N

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

1,AJAL9FAJ3 %on& 'loat double =amao FA bits. El intervalo de valores va desde 81F9 +asta 1F98, 28 K1199J1N9FLEAJJELNL a K1199J1N9FLEAJJELNJ3 =amao 91 bits. ; meros en coma flotante de simple precisin. Estndar 7EEE JEA8 ,KLE 2de ,.AN19KLAFeOAEf a 9.AN1L19AJe.9Lf3 =amao FA bits. ; meros en coma flotante de doble precisin. Estndar 7EEE JEA8 ,KLE. 2de A.KANFEFAELA,1AFEAAeO91Ad a ,.JKJFK9,9ALF19,EJe.9NLd.3

$aracteres En Java los caracteres no estn restringidos a los -/!77 sino son Unicode. Un carcter est siempre rodeado de comillas simples como P-P, PKP, PP, etc. El tipo de dato char sirve para guardar estos caracteres. Un tipo especial de carcter es la secuencia de escape, similares a las del lenguaje !?!.., que se utili*an para representar caracteres de control o caracteres que no se imprimen. Una secuencia de escape est formada por la barra invertida 2Q3 y un carcter. En la siguiente tabla se dan las secuencias de escape ms utili*adas. Car(cter retorno de carro tabulador +ori*ontal nueva l(nea barra invertida #ariables booleanas En el lenguaje !?!.. el valor N se toma como falso y el , como verdadero. En el lenguaje Java e0iste el tipo de dato boolean. Una variable booleana solamente puede guardar uno de los dos posibles valores6 true 2verdadero3 y false 2falso3.
boolean encontrado2$alse1 {,,,} encontrado2true1

#ecuencia de escape Qr Qt Qn QQ

#ag. ,,

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

#ariables enteras Una variable entera consiste en cualquier combinacin de cifras precedidos por el signo ms 2opcional3, para los positivos, o el signo menos, para los negativos. /on ejemplos de n meros enteros6 ,1, 89F, N, AFLJ, 89EKL !omo ejemplos de declaracin de variables enteras tenemos6
int numero23)*+1 int 65.1 long m27*>1

int es la palabra reservada para declarar una variable entera. En el primer caso, el compilador reserva una porcin de 91 bits de memoria en el que guarda el n mero ,1NE. /e accede a dic+a porcin de memoria mediante el nombre de la variable, numero. En el segundo caso, las porciones de memoria cuyos nombres son x e y, guardan cualquier valor entero si la variable es local o cero si la variable es de instancia o de clase. El uso de una variable local antes de ser convenientemente iniciali*ada puede conducir a consecuencias desastrosas. #or tanto, declarar e iniciali*ar una variable es una prctica aconsejable. En la tercera l(nea 9N es un n mero de tipo int por defecto, le ponemos el sufijo % en may sculas o min sculas para indicar que es de tipo lon&. E0isten como vemos en la tabla varios tipos de n meros enteros 2 b te, short, int, lon&3, y tambin e0iste una clase denominada BigInteger cuyos objetos pueden guardar un n mero entero arbitrariamente grande. #ariables en %unto )lotante "as variables del tipo float o double 2punto flotante3 se usan para guardar n meros en memoria que tienen parte entera y parte decimal.
double P;27,393+?1 double g2?,@A*+5 c2),??@?eA1

El primero es una apro0imacin del n mero real , el segundo es la aceleracin de la gravedad a nivel del mar, el tercero es la velocidad de la lu* en m?s, que es la forma de escribir 1.KKJK ,NL. El carcter punto P.P, separa la parte entera de la parte decimal que usamos +abitualmente en nuestro idioma. $tros ejemplos son los siguientes
$loat a23),+$1 $loat b2@$1

#ag. ,1

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS double c2@,*1 double d2@d1

En la primera l(nea ,1.E lleva el sufijo f, ya que por defecto ,1.E es double. En la segunda l(nea J es un entero y por tanto Jf es un n mero de tipo float. R as( el resto de los ejemplos. #alores constantes !uando se declara una variable de tipo final, se +a de iniciali*ar y cualquier intento de modificarla en el curso de la ejecucin del programa da lugar a un error en tiempo de compilacin. ;ormalmente, las constantes de un programa se suelen poner en letras may sculas, para distinguirlas de las que no son constantes. Ie aqu( ejemplos de declaracin de constantes.
$inal double P;27,393+?)<+7+A?@?71 $inal int 'ABCDAEFS23+*1

Las cadenas de caracteres o strings -dems de los oc+o tipos de datos primitivos, las variables en Java pueden ser declaradas para guardar una instancia de una clase, como veremos en el siguiente cap(tulo 2!lases y objetos3. "as cadenas de caracteres o strings son distintas en Java y en el lenguaje !?!.., en este ltimo, las cadenas son arrays de caracteres terminados en el carcter )*+P. /in embargo, en Java son objetos de la clase String.
String mensa-e2/0l primer programa/1

Empleando strings, el primer programa quedar(a de la forma equivalente


public class PrimeroApp{ public static void main(String[] args) { //imprime un mensa-e String mensa-e2/0l primer programa/1 S.stem,out,println(mensa-e)1 } }

En una cadena se pueden insertar caracteres especiales como el carcter tabulador PQtP o el de nueva l(nea PQnP
String te6to2/Gn string con Ht un carIcter tabulador . Hn un salto de l#nea/1

#ag. ,9

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

Palabras reservadas En el siguiente cuadro se listan las palabras reservadas, aquellas que emplea el lenguaje Java, y que el programador no puede utili*ar como identificadores. -lgunas de estas palabras le resultarn familiares al programador del lenguaje !?!... "as palabras reservadas sealadas con un arterisco 2S3 no se utili*an. -bstract !ase constS Else @loat 7f 7nt ;ull protected /atatic =+ro& 4oid boolean castS continue e0tends for implements interface operatorS public super transient volatile breaC catc+ default false futureS import long outerS restS s&itc+ true &+ile byte c+ar do final genericS innerS native pacCage return sync+roni*ed try byvalueS class double finally gotoS instanceof ne& private s+ort t+is varS

"as palabras reservadas se pueden clasificar en las siguientes categor(as6 =ipos de datos6 boolean, float, double, int, char /entencias condicionales6 if, else, s,itch /entencias iterativas6 for, do, ,hile, continue =ratamiento de las e0cepciones6 tr , catch, finall , thro, Estructura de datos6 class, interface, implements, e-tends 'odificadores y control de acceso6 public, private, protected, transient $tras6 super, null, this.

#ag. ,A

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

Leccin 1.- Los O%eradores .ritm&ticos


Java tiene cinco operadores aritmticos cuyo significado se muestra en la tabla adjunta .perador . 8 S ? T /ombre /uma )iferencia #roducto !ociente 'dulo Ejemplo 9.A 98A 9SA 1N?J 1NTJ

El o%erador asignacin ;os +abremos dado cuenta que el operador ms importante y ms frecuentemente usado es el operador asignacin 0, que +emos empleado para la iniciali*acin de las variables. -s(,
int numero1 numero2)*1

la primera sentencia declara una variable entera de tipo int y le da un nombre 2numero3. "a segunda sentencia usa el operador asignacin para iniciali*ar la variable con el n mero 1N. !onsideremos a+ora, la siguiente sentencia.
a2b1

que asigna a a el valor de b. - la i*quierda siempre tendremos una variable tal como a, que recibe valores, a la derec+a otra variable b, o e0presin que tiene un valor. #or tanto, tienen sentido las e0presiones
a23)791 double area2calculaArea(radio)1 super$icie2anc%o*alto1

/in embargo, no tienen sentido las e0presiones #ag. ,E

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS 3)792a1 calculaArea(radio)2area1

"as asignaciones m ltiples son tambin posibles. #or ejemplo, es vlida la sentencia
c2a2b1 //eJuivalente a c2(a2b)1

la cual puede ser empleada para iniciali*ar en la misma l(nea varias variables
c2a2b27)31 //asigna 7)3 a a5 b . c

El operador asignacin se puede combinar con los operadores aritmticos E-presin 0.My 08My 0SMy 0?My -s(, la sentencia
6268)71

#i&nificado 0M0.y 0M08y 0M0Sy 0M0?y

eval a la e0presin x+23, que es asignada de nuevo a x. El compilador lee primero el contenido de la porcin de memoria nombrada x, reali*a la suma, y guarda el resultado en la misma porcin de memoria. /e puede escribir la sentencia anterior de una forma equivalente ms simple
682)71

$oncatenacin de strings En Java se usa el operador . para concatenar cadenas de carcateres o strings. 4eremos en el siguiente apartado una sentencia como la siguiente6
S.stem,out,println(/la temperatura cent#grada es /8t )1

El operador . cuando se utili*a con strings y otros objetos, crea un solo string que contiene la concatenacin de todos sus operandos. /i alguno de los operandos no es una cadena, se convierte automticamente en una cadena. #or ejemplo, en la sentencia anterior el n mero del tipo double que guarda la variable tC se convierte en un string que se aade al string 5la temperatura cent(grada es 5.

#ag. ,F

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

#ara mostrar un resultado de una operacin, por ejemplo, la suma de dos n meros enteros, escribimos
iSuma2ia8ib1 S.stem,out,println(/0l resultado de la suma es /8iSuma)1

!oncatena una cadena de caracteres con un tipo bsico de dato, que convierte automticamente en un string. El operador .M tambin funciona con cadenas.
String nombre2/Kuan /1 nombre82/"arc#a/1 S.stem,out,println(nombre)1

Los o%eradores unarios "os operadores unarios son6 .. 7ncremento 88 )ecremento act an sobre un nico operando. /e trata de uno de los aspecto ms confusos para el programador, ya que el resultado de la operacin depende de que el operador est a la derec+a i++ o a la i*quierda ++i. !onoceremos, primero el significado de estos dos operadores a partir de las sentencias equivalentes6
i2i831 i881 //aLadir 3 a i

)el mismo modo, lo son


i2i-31 i--1 //restar 3 a i

E0aminemos a+ora, la posicin del operador respecto del operando. !onsideremos en primer lugar que el operador unario .. est a la derec+a del operando. "a sentencia
-2i881

asigna a , el valor que ten(a i. #or ejemplo, si i val(a 9, despus de ejecutar la sentencia, toma el valor de 9 e i el valor de A. "o que es equivalente a las dos sentencias
-2i1 i881

#ag. ,J

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

Un resultado distinto se obtiene si el operador .. est a la i*quierda del operando


-288i1

asigna a el valor incrementado de i. #or ejemplo, si i val(a 9, despus de ejecutar la sentencia e i toman el valor de A. "o que es equivalente a las dos sentencias
88i1 -2i1

#ag. ,L

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

Leccin 1./ Los O%eradores 0elacionales 1 Lgicos


Los o%eradores relacionales "os operadores relacionales son s(mbolos que se usan para comparar dos valores. /i el resultado de la comparacin es correcto la e0presin considerada es verdadera, en caso contrario es falsa. #or ejemplo, L>A 2oc+o mayor que cuatro3 es verdadera, se representa por el valor true del tipo bsico boolean, en cambio, L<A 2oc+o menor que cuatro3 es falsa, false. En la primera columna de la tabla, se dan los s(mbolos de los operadores relacionales, el la segunda, el nombre de dic+os operadores, y a continuacin su significado mediante un ejemplo. .perador < > MM UM <M >M nombre menor que mayor que igual a no igual a menor que o igual a mayor que o igual a ejemplo a!b a"b a##b a$#b a!#% a"#b si&nificado a es menor que b a es mayor que b a es igual a b a no es igual a b a es menor que o igual a b a es menor que o igual a b

/e debe tener especial cuidado en no confundir el operador asignacin con el operador relacional igual a. "as asignaciones se reali*an con el s(mbolo 0, las comparaciones con 00. Los o%eradores lgicos "os operadores lgicos son6

VV -;) 2el resultado es verdadero si ambas e0presiones son verdaderas3 WW $: 2el resultado es verdadero si alguna e0presin es verdadera3 U ;$= 2el resultado invierte la condicin de la e0presin3

-;) y $: trabajan con dos operandos y retornan un valor lgico basadas en las denominadas tablas de verdad. El operador ;$= act a sobre un operando. Estas tablas de verdad son conocidas y usadas en el conte0to de la vida diaria, por ejemplo6 5si +ace sol R tengo tiempo, ir a la playa5, 5si ;$ +ace sol, me quedar en casa5, 5si llueve $ +ace viento, ir al cine5. "as tablas de verdad de los operadores -;), $: y ;$= se muestran en las tablas siguientes #ag. ,K

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

El operador lgico -;) true true true resultado true

false false false

false true

false false false El operador lgico $: true true true resultado true

false true true

false true

false false false El operador lgico ;$= true resultado false

false true "os operadores -;) y $: combinan e0presiones relacionales cuyo resultado viene dado por la ltima columna de sus tablas de verdad. #or ejemplo6
(aMb) NN (bMc)

es verdadero 2true3, si ambas son verdaderas. /i alguna o ambas son falsas el resultado es falso 2false3. En cambio, la e0presin
(aMb) ||(bMc)

es verdadera si una de las dos comparaciones lo es. /i ambas, son falsas, el resultado es falso. "a e0presin 5 ;$ a es menor que b5 #ag. 1N

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS O(aMb)

es falsa si (a!b) es verdadero, y es verdadera si la comparacin es falsa. #or tanto, el operador ;$= actuando sobre (a!b) es equivalente a
(aP2b)

"a e0presin 5;$ a es igual a b5


O(a22b)

es verdadera si a es distinto de b, y es falsa si a es igual a b. Esta e0presin es equivalente a


(aO2b)

Leccin 1.2 3it de desarrollo 1 Entorno de ejecucin 4J536 J0E7


El Xit de desarrollo conocido como J)X 2Java )evelopment Xit3 provee de un compilador, un mecanismo para comprimir un proyecto en un solo arc+ivo de tipo J-: 2que es compatible con Y7#3 y un entorno de ejecucin para nuestros binarios. !uando nuestro proyecto terminado se prepara para distribuir, no es necesario tener el compilador y la mayor(a de las +erramientas que se proveen en el J)X, entonces podemos prescindir de dic+o J)X y utili*ar el entorno de ejecucin que es ms pequeo en cuestiones slo de espacio en disco. Este J:E 2Java :untime Environment3 tambin puede redistribuirse sin problemas de licencias.

Comandos que inician el JDK, JRE


Comando java Descripcin 7nicia el entorno de ejecucin recibiendo como argumento el nombre del binario ejecutable en formato Dyte!odes sin la e0tensin de arc+ivo .class que identifica de manera visual un binario java. Este comando es parte de J)X y J:E 7nicia el compilador Java recibiendo como argumento todos los arc+ivos de cdigo fuente cuya terminacin es .java incluida dic+a e0tensin. Este comando no es parte de J:E. #or medio de este comando iniciamos el empaquetador de clases y arc+ivos de Java que nos permiten fabricar un nico arc+ivo contenedor de nuestras aplicaciones, multimedia y grficos. Este comando es parte slo de J)X.

javac jar

#ag. 1,

LICENCIATURA EN INGENIERA EN SISTEMAS COMPUTACIONALES PROGRAMACIN ORIENTADA A OBJETOS

Link para descarga de JDK 7u25 para NetBeans 7 ! " #ttp$%%&&& oracle com%tec#net&ork%es%'a(a%'a(ase%do&nloads%'dk )7)net*eans)do&nload)+!2"2, #tml Link para descarga de Net*eans 7 ! " #ttps$%%net*eans org%do&nloads%

#ag. 11

También podría gustarte