Está en la página 1de 8

3.

ElementosformalesdellenguajeJava(I)
Enestedocumentopodrsencontrarinformacinrelacionadaconlasintaxisgeneral
necesariaparalaconstruccindeprogramasenJavabasadosenasignaciones.

Notacin

Entodoslosdocumentosdesintaxisseusarunanotacinsencillaqueusteddebe
conocerparaentenderrpidamentelaestructuradeloselementosdescritos.

Elementosobligatorios:sonelementosquedebenserespecificadosparaconstruiruna
estructura.Serepresentanusando<y>

Elementosopcionales:sonelementosqueesposibledefinir,peronosondeuso
obligatorio.Serepresentanusando(y)

Usodefuentesdetexto:alusaresta fuente,nosreferimosaque,paraqueel
procesodecompilacinseaexitoso,eltextosedebeescribirexactamenteigualacomose
presenta.Conesta fuenteescribiremoselcdigoenJava.

Aclaracinimportante:Javaesunlenguajesensiblealusodemaysculasyminsculas,
porlotantoFloatesdiferenteafloat.Muchasvecescomoenesteejemplo,las
dospalabrastienenusosyunaconnotacindistinta.Poreso,esimportanteusarcada
elementodellenguajetalycomoesdefinidoenestedocumento.

3.1.Tiposdedatos

EnJavaexistentiposdedatosbsicosorientadosalaconstruccindeexpresionesquenos
sirvenparahallarelresultadodeoperaciones.Estostiposdedatossebasanenlostipos
definidosparalasexpresionesqueconocemos(Enteros,Realesetc)ysediferenciande
acuerdoconsuusoysuprecisinoelrangodevaloresquepermitenalmacenar.

POLITCNICO GRANCOLOMBIANO EN ALIANZA CON WHITNEY INTERNATIONAL UNIVERSITY SYSTEM

AdrianNicolsMalaverBarrera
1

Tipodedato TipoenJava Rangodevalores Usodememoria


7 7
byte De128(2 )a127(2 1) 8bits
15 15
short De32768(2 )a32767(2 1) 16bits
Entero 31 31
int De2147483648(2 )a2147483647(2 1) 32bits
63
De9223372036854775808(2 )a
long 63 64bits
9223372036854775807(2 1)

Elnmeromspequeoquesepuede
float representares1.40129846432481707e45.El 32bits
msgrandees3.40282346638528860e+38
Real
Elnmeromspequeoquesepuede
double representares4.94065645841246544e324.El 64bits
msgrandees1.79769313486231570e+308.

Booleano boolean false y true

De0a65535,dondecadavalorrepresentaun
Carcter char carcterdetextodeacuerdoconlacodificacin 16bits
usada.

Tabla1.TiposdedatosbsicosenJava

3.2. Definicindevariables

Deacuerdoconlanecesidad,esposibledefinirvariablesquealmacenarnelresultadode
operaciones,parmetrosyotrosvaloresqueserequieranparalasolucinalgortmicade
problemas.Lasintaxiseslasiguiente:

<Tipodedato><Nombredelavariable>(=<Valorinicial>);

Porejemplo:
float f;
int i;
int y, z, t, w;

Nombresdevariables:losnombressonunasecuenciadecaracteresdetextoquepueden
comenzarconletras,conelsigno$oconelsigno_.Haypalabrasquenopuedenusarse
paradefinirnombresdevariables,dadoquesonpalabrasqueusaellenguajeJavapara

AdrianNicolsMalaverBarrera
2
definirsuspropiasestructuras.Estaspalabrassonllamadaspalabrasreservadasysonlas
siguientes:

abstract continue for new switch


assert default goto package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp volatile
const float native super while

Valorinicial:Aldefinirunavariableesposibleasignarleunvalorinicial,deacuerdoconel
tipodedato.Notaimportante:Lasvariablesdefinidasdentrodemtodos,enestecaso,
dentrodelmtodomain,enelquedefinimoslalgicadelosprogramas,requierendeun
valorinicial,yaqueJavanolesasignauno.

Datosenteros:Valoresnumricosenterospositivosonegativos.Pordefectoestn
enbasedecimal.Paradefinirvaloresenbaseoctalseanteponeun0alvalor.Para
definirvaloresenbasehexadecimalseantepone0x.
int x = 12;
long personas = 94674242;
byte dato = -123;
int h = 0x19fe; //6654 en base hexadecimal

Datosreales:valoresnumricosrealespositivosynegativos.Lapartedecimalse
separadelaenteraconpunto..Paradefinirvaloresdetipoflotanteesnecesario
colocarfalfinaldelnmero.Esposibleusarnotacincientfica.Porejemplo,el
nmero4326.783puedeserescritocomo4.326783x103.EnJava:4.326783e3;
float valor = 1.452f;
double dato = 1.45e-6;
double numeroGrande = 9.87e230;

Datosbooleanos:falseotrue.
boolean llueve = true;
boolean cieloRojo = false;
double resultado = true;

Caracteresdetexto:sedefinenentrecomillassencillas('').Esposible,adems,
usarelcdigounicodeespecfico:\u00F1esiguala.

AdrianNicolsMalaverBarrera
3
Unicodeesunestndarinternacionalqueasignaunvalornumricoacadaunode
losposiblessmbolosquepodemosrepresentar;nosoloenespaol,sinoen
muchosotrosidiomas.
char letra = 'A';
char arroba = '\u0041';
char otraLetra = 65;

Enestecaso,sepresentantresformasposiblesdehacerreferenciaalsmbolo'A'.

Cadenasdetexto:sedefinenentrecomillasdobles("").Lasutilizaremos
inicialmenteparamostrarinformacinalusuariodenuestrasaplicaciones.
String palabra = Hola;
String otraPalabra = Hola mundo;

3.3 Asignaciones
Paraasignarunavariable,seusaeloperadordeasignacin'='deformasimilarala
asignacindevalorinicial.

<Nombredelavariable>=<Valor>;

SiemprequeescribamosasignacionesenellenguajeJava,usaremospuntoycoma(;)para
definirsufinalizacin.Nosoloaldefinirasignaciones,sinotambinaldefinirvariableso
hacerllamadoamtodosespecficos.

Porejemplo:
f = 1.45f;
i = 23;
letra = 'W';

Lasreglasparalosvaloresusadossonlasmismasqueparalosvaloresiniciales.Las
variablesdebenhabersidodefinidaspreviamente.

3.4 Expresiones
LaescrituradelasexpresionesenJavasiguelasmismasreglasdefinidasparalas
expresionesenpseudocdigo.Acontinuacinserelacionanlosoperadoresprincipales
queusaremosalolargodelcurso.Unalistamsdetalladapuedeencontrarseaqu
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/operators.html.Los
operadoressepresentanenordendeprioridad(delmsimportantealmenosimportante
enelordendeevaluacin).

AdrianNicolsMalaverBarrera
4
Operador Descripcin

Incrementan(++)odisminuyen(--)elvalordeunavariabledespusde
Operadores laevaluacindelaexpresinqueloscontiene.Porejemplo:
unitariosde 1 int x = 10, y;
incremento 2 y = 15 + x++;
postfijos
(x++, x--) Lavariablexvaleinicialmente10.Elresultadodelalnea2es25yluego
sehaceelincremento.Estosignificaqueenlaslneassiguientes,xvale
16.
Operadores Cumplenlamismafuncinquelosanteriores,conlaexcepcindeque
unitariosde primeromodificanelvalorantesdelclculodelaexpresin
incremento correspondiente.
infijos Paraelejemploanterior,elvaloralmacenadoenlavariableysera26y
(x++, x--) no25.
Operadores Operadoresbinariosdemultiplicacin,divisinymdulo.Esteltimo
multiplicativos funcionademaneraequivalentealoperadorMODusadopreviamente
(*, /, %) enexpresiones.
Operadores
aditivos Operadoresbinariosderestaysumausadosentiposdedatosnumricos.
(+,-)
Operadores Operadoresaplicadosatiposdedatosquedefinenrelacionesdeorden,
relacionales comotiposnumricosycaracteresdetexto.Elresultadodeestos
(<,>,<=,>=) operadoresesdetipobooleano.
Operadores Operadoresdeequivalencia.Elresultadodeestosoperadoresesdetipo
deigualdad booleano.
(==,!=)
Operador
lgicoY Permiterealizarlaoperacinlgica'Y'vistaenexpresionesbooleanas.Se
(&&) puedeaplicaraoperandosdetipobooleano.

Operador
lgicoO Permiterealizarlaoperacinlgica'O'vistaenexpresionesbooleanas.Se
(||) puedeaplicaraoperandosdetipobooleano

Permitenrealizaroperacionesaritmticasyasignacinalmismotiempo.
Porejemplo:
Operadores
deasignacin 1 int x = 10;
(=,+=,- 2 x += 15;
=,*=,/=) 3 x *= 3;

Lalnea2esequivalenteax = x + 15;
Lalnea3esequivalenteax = x * 3;

4 Referenciadeoperacionesdelecturayescrituraporconsola
AdrianNicolsMalaverBarrera
5
Conelobjetivodecapturarinformacindeunusuarioodepresentarinformacinen
pantalla,sehandefinidooperacionesenJavaquepermitenrealizarestatareaenforma
sencilla.

Presentacindeinformacinenlaconsoladetexto

Cuandoseanecesariopresentarelresultadodeunaoperacinocualquierinformacinal
usuario,usaremoslosmtodosprintyprintln quepertenecenalafuncionalidad
bsicaqueofreceJava.

Porejemplo:
1 int x = 10;
2 float f = 1.45f;
3 long l = 34543566;
4 String s = Hola;

5 System.out.println(f);
6 System.out.println(l);
7 System.out.println(x);
8 System.out.println(s);
9 System.out.println(El resultado es: + f);

Alejecutarestecdigo,lasalidaenlaconsoladetextosera:
1.45
34543566
10
Hola
El resultado es: 1.45

Laslneas5,6,7y8muestranelcontenidodelasvariablesenpantalla.Tambines
posiblemostrarcadenasdetextoqueacompaenalcontenidodelasvariables,como
sucedeenlalnea9.

Cuandoseusaelmtodoprintenvezdeprintln,nosebajalalneadespusdeescribir
cadavariable.Siseusaraprintlasalidasera:
1.453454356610HolaEl resultado es: 1.45

Lecturadeinformacindeconsola
Cuandoseanecesariocapturarinformacindelusuario,porejemploparaestablecer
valoresparalasvariablesdeentradadeunalgoritmo,debemoshacerlosiguiente:
1. DefinirunobjetoScanner,quecuentaconmtodosparaleerinformacindeteclado:
Scanner scanner = new Scanner(System.in);
2. Definiryasignarvaloresparalasvariablesqueseannecesarias,usandolosmtodos
adecuadosdelobjetodelaclaseScanner:
n = scanner.nextInt(); //Para leer valores enteros
f = scanner.nextFloat(); //Para leer valores de tipo float
d = scanner.nextDouble(); //Para leer valores de tipo double

AdrianNicolsMalaverBarrera
6
b = scanner.nextBoolean(); //Para leer valores de tipo boolean

Despusdelaejecucindecadalnea,quedaralmacenadoelvalorledoencada
variable.Paramsinformacin,puedeconsultarseladocumentacindelaclase
scannerdeJava:http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html.

5 Invocacindemtodos
Esposibleconstruirexpresionesqueinvolucrenlarealizacindetareascomunescomo
racescuadradas,valoresabsolutos,entreotras.Loharemosdelasiguienteforma:

<Variabledetipoadecuado>=<Nombredelmtodo>(<Parmetros>);

Esnecesarioidentificareltipodevariablequedeberaserusado,deacuerdoconeltipo
dedatoqueretornaunmtodoparticular.Deigualmanera,haymtodosquenotienen
valorderetornoy,porlotanto,nopodranserusadosparaasignarvaloresavariables.

Losmtodosrelacionadosconfuncionesmatemticas,puedenserencontradosenlaclase
Mathyseusandeacuerdoconlosparmetrosquerequieren1.Porejemplo,sise
requierecalcularlarazcuadradade95738,loqueseharaeslosiguiente:
double x = 0.0f;

x = Math.sqrt(95738);

Siempre,alusarmtodoscomoeste,esrecomendableleerlareferenciasobreeluso,
parmetrosyvalorderetornoparaestarsegurosdequeeselmtodomsadecuado.

Esposibleusarestetipodemtodosenexpresionesquepermitanrealizaroperaciones
mscomplejas:
d = x*x + Math.sqrt(y * y) + 98 * z;

6 Comentarios
EnJava,comoenlamayoradelenguajesdeprogramacin,esposiblehacercomentarios
paraexplicarseccionesdecdigo,oagregaranotacionesparafuturasmodificaciones.

Loscomentariospuedenhacerseparaunasolalneaoparaunbloquedetexto.

Comentariosdeunalnea:Sehacenusando"//".Todoeltextosubsiguientehastaelfinal
delalneanosetieneencuentaalcompilarelcdigopresenteenelarchivo.

1
ParainformacinsobrelosmtodosdefinidosenlaclaseMath:
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html[Recuperado:15deEnerode2010]

AdrianNicolsMalaverBarrera
7
int x = 8; //x almacenar el nmero de personas que inicialmente es 8
float t = 3.45; //La temperatura t ser inicialmente 3.45C
//x = 10;

Comentariosdebloque:Sehacenusando"/*"y"*/".Cualquiertextoencerradoentre
estosdoselementosnosertenidoencuentaalcompilarelcdigopresenteenelarchivo.
/*El propsito del siguiente bloque de cdigo es calcular la ruta ptima
para llegar del punto (x,y) al punto (x1,y1) en coordenadas planas*/
int x = 10, y = 30;
int x1 = 100, y1 = 54;
.
.
.

/*
Cdigo generado por: nmalaver
Fecha: 30-02-08
*/
.
.
.

Usandocomentarios,adems,esposibleocultartemporalmenteunbloquedecdigoque
norequerimosoquenoestlistoparasuejecucin:
/*
y = 17 * 1.6180 + z;
x = 100*34 + 18*(45+5)/y
*/

AdrianNicolsMalaverBarrera
8

También podría gustarte