Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
AdrianNicolsMalaverBarrera
1
Elnmeromspequeoquesepuede
float representares1.40129846432481707e45.El 32bits
msgrandees3.40282346638528860e+38
Real
Elnmeromspequeoquesepuede
double representares4.94065645841246544e324.El 64bits
msgrandees1.79769313486231570e+308.
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:
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