Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sin t x is
Te m a 2 .3
n dice de la u n ida d:
3. I dent ificadores
4. Variables
5. Tipos de dat os
7.
Un ida d 2 .3 Sin t a x is
En est a unidad t rat arem os en det alle la sint axis del lenguaj e de program acin Java.
Dicha sint axis es com probada por el com pilador y en caso de no ser correct a, est e
nos indicar los errores o avisos exist ent es. Por defect o, no se pueden ej ecut ar
program as Java con errores de com pilacin, por lo que la sint axis del program a de-
be ser 100% correct a.
1 . Com e n t a r ios
Los com ent arios son lneas de cdigo que no son ej ecut adas en t iem po de ej ecu-
cin, ni siquiera son incluidas en el byt e code com pilado. Est os com ent arios, perm i-
t en incluir explicaciones acerca de qu es lo que est haciendo nuest ro cdigo, do-
cum ent acin, inhabilit ar lneas de cdigo que ya no son necesarias en runt im e, et c.
Exist en t res form as dist int as de escribir los com ent arios:
/ / com ent ario de una sola lnea. Abarca desde el com ienzo del
com ent ario / / hast a el final de lnea.
79
MDULO 2
Uno de los caract eres m s im port ant es a t ener en cuent a en Java es el punt o y co-
ma o ;.
El punt o y com a define una sent encia Java o lo que es lo m ism o una lnea sim ple de
cdigo t erm inada en un punt o y com a. La lnea sim ple de cdigo puede o no est ar
fsicam ent e form ada en una lnea fsica.
80
Un ida d 2 .3 Sin t a x is
Suelen ut ilizarse conj unt am ent e con las sent encias de cont rol de fluj o ( ver punt o
8) , pero t am bin pueden ut ilizarse, por ej em plo, para m inim izar el m bit o de cier-
t as variables, com o son las variables de bloque ( ver punt o 4.2) .
Java perm it e los espacios en blanco ent re elem ent os de cdigo fuent e. Son ut iliza-
dos principalm ent e para separar cada uno de los elem ent os de la sint axis Java ( al
m enos un espacio en blanco com o m nim o) y m ej orar el ent endim ient o del cdigo
( el nm ero de espacios ut ilizado para est e propsit o es irrelevant e) .
81
MDULO 2
3 . I de n t ifica dor e s
Son los nom bres unvocos que se le dan a las clases, m t odos y variables. Hay que
t ener present e las siguient es reglas:
82
Un ida d 2 .3 Sin t a x is
4 . Va r ia ble s
Una variable es un cont enedor de dat os ident ificado m ediant e un ident ificador o
nom bre. Dicho ident ificador se ut ilizar para referenciar el dat o que cont iene.
Toda variable debe llevar asociado un t ipo que describe el t ipo de dat o ( ver punt o
5) que guarda. Por t ant o, una variable t iene:
Un t ipo
Un ident ificador
Un dat o o valor.
83
MDULO 2
4 . 2 m bit o de la s va r ia ble s
El lugar de declaracin de una variable est ablece su m bit o. Los dist int os m -
bit os exist ent es son:
84
Un ida d 2 .3 Sin t a x is
85
MDULO 2
86
Un ida d 2 .3 Sin t a x is
5 . Tipos de da t os.
Tipos Prim it ivos. Exist en ocho t ipos de dat os prim it ivos clasifi-
cados en cuat ro grupos diferent es:
Lgico: boolean.
Carct er: char.
Nm eros ent eros: byt e, short , int y long.
Nm eros reales: double y float .
5 .1 Tipo de da t o lgico
La keyword ut ilizada para definir un t ipo de dat o lgico es boolean. Sus posibles
valores son:
t rue: o verdadero
Se suelen ut ilizar en las sent encias de cont rol de fluj o del t ipo bifurcaciones del
t ipo if- t hen- else ( ver punt o 8) .
5 .2 Tipo de da t o ca r ct e r
87
MDULO 2
Para las cadenas de caract eres exist e un t ipo com plej o: la clase St ring que se
ver en m s det alle en la Unidad 2.6 Clases bsicas.
Se suelen ut ilizar para el t rat am ient o de caract eres, ya sea com o caract eres in-
dividuales dent ro de un St ring, caract eres cont enidos en un fichero, et c.
5 .3 Tipo de da t os e n t e r os
Las keyword ut ilizadas para definir un t ipo de dat o ent ero son byt e, short , int y
long. Sus t am aos son:
88
Un ida d 2 .3 Sin t a x is
Se suelen ut ilizar en operaciones arim t icas, en sent encias de cont rol de t ipo bu-
cle ( en concret o la sent encia for y el t ipo int ) , et c.
5 .4 Tipo de da t os r e a le s
Las keyword ut ilizadas para definir un t ipo de dat o real son float y double. Sus
t am aos son:
89
MDULO 2
Las keyword es el nom bre de la clase del obj et o que va a cont ener la variable.
5 .6 Tipo de da t o e n u m e r a cin
Se t rat a de un t ipo de dat o com plej o algo especial que surge con la versin 5.0
de Java. I m plem ent a una clase que t iene un at ribut o que puede t om ar varios va-
lores y solo esos.
Se suelen ut ilizar para t ener una list a de posibles valores asociados a una varia-
ble y solam ent e dichos valores.
El siguient e ej em plo m uest ra el valor de variables de dist int os t ipos con sus va-
lores por defect o.
90
Un ida d 2 .3 Sin t a x is
El siguient e ej em plo m uest ra el valor de variables de dist int os t ipos con sus va-
lores asignados en la declaracin
91
MDULO 2
Un t ipo de dat o nm erico puede llegar a convert irse a ot ro t ipo. Exist en cuat ro
ent ornos de conversin en Java:
Llam ada a m t odos con parm et ros. Por ej em plo: f( long p) - >
f( 5) / / se llam a a un m t odo con un int y se conviert e a un long
Una variable de t ipo prim it ivo cont iene el dat o direct am en-
t e:
Una variable de t ipo com plej o cont iene una referencia ( punt ero) a la zona de m e-
m oria donde est el obj et o:
92
Un ida d 2 .3 Sin t a x is
7 . Ope r a dor e s
Los operadores realizan funciones sobre uno, dos o t res operandos ( op) . Por t ant o,
una prim era clasificacin puede ser est a:
Operadores t ernarios: op ? op : op
Ej e m plo: cont ador > 2 ? t rue : false; / / es sim ilar a un if- t hen- else
de la siguient e m anera if ? Then : else ;
Los operadores siem pre devuelven un valor que depende del operador y del t ipo
de los operandos.
Arit m t icos
Relacionales
Condicionales
De desplazam ient o
93
MDULO 2
Lgicos
De asignacin
Ot ros
A sim ilit ud con el m undo m t em at ico, exist en los siguient es operadores arit m t i-
cos binarios:
Los valores que devuelven est os operadores depende de los t ipos de los ope-
randos:
Tam bin exist en operadores arit m t icos unarios ( act an solo sobre un operan-
do) :
94
Un ida d 2 .3 Sin t a x is
95
MDULO 2
Todos est os operandos devuelven un boolean indicando si cum ple la com para-
cin.
Suelen com binarse con los operadores relacionales para crear expresiones m s
com plej as, devolviendo un boolean. Java t iene los siguient es operadores
condicionales:
96
Un ida d 2 .3 Sin t a x is
> > : desplaza los bit s del prim er operando hacia la derecha
t ant as veces com o indique el segundo operando op1 > > op2 . Reali-
za la m ism a funcin que m ult iplicar por 2, t ant as veces se desplace.
< < : desplaza los bit s del prim er operando hacia la izquierda
t ant as veces com o indique el segundo operando op1 < < op2 . Reali-
za la m ism a funcin que dividir por 2, t ant as veces se desplace.
> > > : desplaza los bit s del prim er operando hacia la derecha
t ant as veces com o indique el segundo operando pero sin signo op1
> > > op2 . Realiza la m ism a funcin que m ult iplicar por 2, t ant as ve-
ces se desplace, pero sin t ener en cuent a la posicin de signo.
97
MDULO 2
98
Un ida d 2 .3 Sin t a x is
~ : com plem ent o a nivel de bit del operando ( cam bia los ceros
por uno y viceversa) ~ op1
99
MDULO 2
/ = , % = , &= , | = , ^ = , < < = , > > = , > > > = : Sim ilar al ant erior,
para cada uno de los operadores indicados.
7 .7 Ot r os ope r a dor e s
?: : se t rat a de una abreviat ura de la est ruct ura if- t hen- else ( if
op1? t hen op2 : else op3) op1 ?op2 :op3
Sin las sent encias de cont rol de fluj o, el cdigo Java se ej ecut ara linealm ent e des-
de la prim era lnea hast a la lt im a.
100
Un ida d 2 .3 Sin t a x is
La sent encia while se ut iliza para ej ecut ar cont inuam ent e un bloque de cdigo
m ient ras que la condicin del while sea cum pla ( es decir la evaluacin de la
condicin sea t rue o verdadera) .
while(expresin)
{
sentencias;
}
La sent encia do- while es parecida a la sent encia while pero asegura que com o
m nim o el bloque de cdigo se ej ecut a una vez.
do
{
sentencias;
}
while(expresin);
8 .2 Se n t e n cia for
La sent encia for facilit a la ej ecucin de un bloque de cdigo un nm ero det er-
m inado de veces, m ient ras la evaluacin de la expresin de t erm inacin se
cum pla o sea t rue.
Las variables definidas en la sent encia de inicializacin son locales al bloque. Por
t ant o dej an de exist ir una vez se haya t erm inado el bucle.
101
MDULO 2
8 .3 Se n t e n cia for / in
Est a nueva sent encia que aparece en el Java SE 5.0 nos facilit a la it eracin por
los elem ent os de cualquier t ipo de coleccin: arrays, list as, et c
Las variables definidas en la sent encia de inicializacin son locales al bloque. Por
t ant o dej an de exist ir una vez se haya t erm inado el bucle.
102
Un ida d 2 .3 Sin t a x is
8 .4 Se n t e n cia if t h e n - e lse
La sent encia if- t hen- else perm it e elegir qu bloque de cdigo ej ecut ar ent re dos
posibilidades dependiendo de la evaluacin de la expresin. Si se cum ple ( t rue)
ej ecut a el prim er bloque o bloque del if. Sino se cum ple se ej ecut a el bloque del
else.
La sint axis del if sin else sera la siguient e:
if(expresin)
{
sentencias;
}
if(expresin)
{
sentencias;
}
else
{
sentencias;
}
Las sent encias if pueden est ar concat enadas. Su sint axis sera:
if(expresin)
{
sentencias;
}
else if (expresin2)
{
sentencias;
}else
{
sentencias;
}
103
MDULO 2
8 .5 Se n t e n cia sw it ch
La sent encia swit ch es un caso part icular de la sent encia if- t hen- else if- else.
Evala una expresin del t ipo int o que pueda ser convert ida a int de form a im -
plcit a ( com o puede ser un char) .
As se evala la expresin int Expresin y va com parando cada uno de los case a
ver si cum ple la condicin. En el caso de que la com paracin sea t rue, se ej ecu-
t an las sent encias siguient es hast a que se encuent re la siguient e sent encia
break o llegue al final de la sent encia swit ch.
En el caso de que t odas las com paraciones sean false se ej ecut ar las sent en-
cias del default ( en el caso de exist ir, puest o que es opt at ivo) .
switch(intExpresin)
{
case intExpresin:
sentencias;
break;
default: // es optativo
sentencias;
}
104
Un ida d 2 .3 Sin t a x is
8 .6 Se n t e n cia de r u pt u r a
break: sirve para det ener la ej ecucin t ant o de los bucles co-
m o de la sent encia swit ch. Por t ant o, salt a a la siguient e lnea de c-
digo despus del bucle o swit ch.
cont inue: sirve para det ener la ej ecucin del bloque de cdigo
de un bucle y volver a evaluar la condicin de est e.
Not a: Las guas de program acin est ruct urada prohiben el uso de est as sent en-
cias o aconsej an un uso m uy lm it ado para facilit ar la legibilidad y m ant enim ien-
t o del cdigo
105
MDULO 2
PRCTI CA A: I dent ificar que sent encias son correct as y cules no ( se irn ut ili-
zando las variables segn se va avanzando en el ej ercicio) :
1. int x = 34.5;
2. boolean boo = x;
3. int g = 17;
4. int y = g;
5. y = y + 10;
6. short s;
7. s = y;
8. byt e b = 3;
9. byt e v = b;
10. short n = 12;
11. v = n;
12. byt e k = 128;
13. int p = 3 * g + y;
Solucin:
1. int x = 34.5; - > int x = ( int ) 34.5; / / Posible con downcast ing
2. boolean boo = x; - > No hay solucin
3. int g = 17;
4. int y = g;
5. y = y + 10;
6. short s;
7. s = y; - > s = ( short ) y; / / posible con downcast ing
8. byt e b = 3;
9. byt e v = b;
10. short n = 12;
11. v = n; - > v = ( byt e) n; / / posible con downcast ing
12. byt e k = 128; - > byt e k = ( byt e) 128; / / posible con downcast ing
13. int p = 3 * g + y;
PRCTI CA B: I dent ificar si est e cdigo com pila bien. Si no com pila solucionarlo. Si
com pila decir cul sera la salida.
106
Un ida d 2 .3 Sin t a x is
Solucin:
El cdigo com pila bien. Pero ent ra en un bucle infinit o. Habra que m odificarlo con
la lnea roj a y saldra la palabra Hola siet e veces por pant alla.
PRCTI CA C: I dent ificar si est e cdigo com pila bien. Si no com pila solucionarlo.
Si com pila decir cul sera la salida.
Solucin:
Com pila y saldra la palabra Hola dos veces por pant alla.
107
MDULO 2
Seleccionar para cada t rozo de cdigo de la izquierda, la salida por pant alla al
ej ecut ar el program a ant erior con ese t rozo de cdigo
Solucin
108
Un ida d 2 .3 Sin t a x is
PRCTI CA E: Desarrollar un program a Java que m uest re por pant alla los nm eros
prim os del 1 al 1000 y t odos los aos bisiest os ent re el ao 2000 y el 3000.
En el caso de que no est puest a la variable de ent orno PATH, abrir una sesin DOS
y aj ust ar la variable de ent orno PATH para que el Sist em a Operat ivo sepa encont rar
las herram ient as del JDK. Para respet ar el valor que ya t uviese la variable PATH le
aadim os % PATH% .
109
MDULO 2
Aj ust ar la variable de ent orno CLASSPATH para que las herram ient as del JDK sepan
encont rar nuest ras clases Java. Tenem os dos opciones, o aadir el . ( punt o) y
siem pre ej ecut ar las herram ient as en el direct orio donde se encuent re el cdigo, o
aadir el direct orio de t rabaj o y ej ecut ar las herram ient as donde queram os. Para
respet ar el valor que ya t uviese la variable CLASSPATH le aadim os % CLASS-
110
Un ida d 2 .3 Sin t a x is
PATH% .
Ahora arrancam os un edit or de t ext o ( por ej em plo Not epad) para escribir el cdigo
fuent e de nuest ro program a que guardarem os en el fichero Pract icaE.j ava; el
nom bre del fichero debe ser exact am ent e igual ( incluyendo m aysculas y
m insculas) al de la clase Java que vam os a desarrollar.
111
MDULO 2
112
Un ida d 2 .3 Sin t a x is
Com pilam os el program a Java con el com pilador j avac . Al com pilador hay que
darle el nom bre del fichero incluyendo su ext ensin.
Si no sale ningn m ensaj e significa que t odo ha ido bien y que ha creado el byt eco-
de, es decir, Pract icaE.class
Por lt im o, ej ecut am os el program a Java con la JVM j ava . A la JVM hay que darle
el nom bre del fichero del byt ecode sin la ext ensin.
113
MDULO 2
Cerrar la vent ana de bienvenida si aparece ( est a vent ana aparece la prim era vez
que se arranca Eclipse) .
114
Un ida d 2 .3 Sin t a x is
115
MDULO 2
Verificar que la perspect iva Java est abiert a, y sino cam biar a ella
116
Un ida d 2 .3 Sin t a x is
Crear una clase Java nueva llam ada Pract icaE con el m t odo m ain.
117
MDULO 2
Seleccionar Finish
Escribir el cdigo dent ro de la clase y salvar con Ct rl + S o File - > Save
118
Un ida d 2 .3 Sin t a x is
Por defect o, en eclipse, al salvar los cam bios realizados en un fichero, se realiza la
com pilacin de las clases que est n en el worskpace.
En el caso de producirse algn error de com pilacin, se pueden ver en la vist a Pro-
blem s
Seleccionando la clase Java, con el bot n derecho del rat n ej ecut arla com o Java
Applicat ion
119
MDULO 2
120
Un ida d 2 .3 Sin t a x is
En est a unidad hem os vist o la sint axis del cdigo Java, aprendiendo a ut ilizar co-
m e n t a r ios, delim it ar una sent encia Java con el ; y el uso de los e spa cios e n
bla n co.
Se han definido los I de n t ifica dor e s, las Ke yw or ds, las Va r ia ble s y los m bit os
donde se pueden ut ilizar:
At ribut os
Parm et ros de m t odo.
Variables locales
Variables de bloque
Por lt im o se han det erm inado los dist int os t ipos de Sent encias de cont rol de fluj o,
que perm it en ej ecut ar el cdigo de una m anera no secuencial:
Bu cle s: while, do- while, for y for/ in
Bifu r ca cion e s: if- t hen- else y swit ch- case
Ge st in de e x ce pcione s: t ry- cat ch- finally y t hrow
D e r upt u r a : break, cont inue, label: y ret urn.