Está en la página 1de 9

1.

Variables en Java
EnestecaptulosepresentanlascaractersticasgeneralesdeJavacomolenguajede
programacinalgortmico.EnesteapartadoJavaesmuysimilaraC/C++,lenguajesen
losqueestinspirado.
Unavariableesunnombrequecontieneunvalorquepuedecambiaralolargodel
programa.Deacuerdoconeltipodeinformacinquecontienen,enJavahaydostipos
principalesdevariables:
1.Variablesdetiposprimitivos.Estndefinidasmedianteunvalornico.

2.Variablesreferencia.Lasvariablesreferenciasonreferenciasonombresdeuna
informacinmscompleja:arraysuobjetosdeunadeterminadaclase.
Desdeelpuntodevistadesupapelenelprograma,lasvariablespuedenser:
1.Variablesmiembrodeunaclase:Sedefinenenunaclase,fueradecualquier
mtodopuedensertiposprimitivosoreferencias.

2.Variableslocales:Sedefinendentrodeunmtodoomsengeneraldentrode
cualquierbloqueentrellaves{}.Secreanenelinteriordelbloqueysedestruyen
alfinalizardichobloque.Puedensertambintiposprimitivosoreferencias.

1.1.NombresdeVariables

LosnombresdevariablesenJavasepuedencrearconmuchalibertad.Puedenser
cualquierconjuntodecaracteresnumricosyalfanumricos,sinalgunoscaracteres
especialesutilizadosporJavacomooperadoresoseparadores(,.*/etc.).Existeuna
seriedepalabrasreservadaslascualestienenunsignificadoespecialparaJavaypor
lotantonopuedenserutilizadascomonombresdevariables.Dichaspalabrasson:
abstract
boolean
break
byte
catch
char
class
const
continue
do
double
else
extends
final
float
for
goto
if
implements
instanceof
int
interface
long
native
null
package
private
protected
public
short
static
super
switch
synchronizedthis
throw
throws
transient
try
void
volatile
while

1.2.TiposPrimitivosenVariables

SellamantiposprimitivosdevariablesdeJavaaaquellasvariablessencillasque
contienenlostiposdeinformacinmshabituales:valoresboolean,caracteresy
valoresnumricosenterosodepuntoflotante.Javadisponedeochotiposprimitivosde
variables:untipoparaalmacenarvalorestrueyfalse(boolean)untipoparaalmacenar
caracteres(char),y6tiposparaguardarvaloresnumricos,cuatrotiposparaenteros
(byte,short,intylong)ydosparavaloresrealesdepuntoflotante(floatydouble).Los
rangosylamemoriaqueocupacadaunodeestostipossemuestranacontinuacin:
Boolean:1byte.Valorestrueyfalse

Char:2bytes.Unicode.ComprendeelcdigoASCII

Byte:1byte.Valorenteroentre128y127

Short:2bytes.Valorenteroentre32768y32767

Int:4bytes.Valorenteroentre2.147.483.648y2.147.483.647

Long:8bytes.Valorentre9.223.372.036.854.775.808y
9.223.372.036.854.775.807

Float:4bytes(entre6y7cifrasdecimalesequivalentes).De3.402823E38a
1.401298E45yde1.401298E45a3.402823E38

Double:8bytes(unas15cifrasdecimalesequivalentes).De
1.79769313486232E308a4.94065645841247E324yde4.94065645841247E
324a1.79769313486232E308

1.3.Definicindevariables

Unavariablesedefineespecificandoeltipoyelnombredelavariable.Estasvariables
puedensertantodetiposprimitivoscomoreferenciasaobjetosdealgunaclase
pertenecientealAPIdeJavaogeneradaporelusuario.
Lasvariablesprimitivasseinicializanacero(salvobooleanychar,queseinicializana
falsey\0)sinoseespecificaunvalorensudeclaracin.
Anlogamentelasvariablesdetiporeferenciasoninicializadaspordefectoaunvalor
especial:null.Esimportantedistinguirentre2tiposdedeclaracionesdevariablesde
tiporeferencia:
1.Declaracindelobjetonulo:enestetipodedeclaracinslosedeclaraeltipode
dato,queenestecasonoesuntipobsico,sinounobjeto.Ejemplo:MiObjeto
objeto

2.Declaracinconinstanciadelobjeto:enestetipodedeclaracinsecrea
explcitamenteunnuevoobjetoenlapropiadeclaracin,porlotantodesdeese
momento,lavariableestapuntandoaunadireccindememoriadondeest
almacenadaladireccindelobjetoquesehacreado.Ejemplo:MiObjetoobjeto=
newMiObjeto()

1.4Visibilidadyvidadelasvariables
1.4Visibilidadyvidadelasvariables

Seentiendeporvisibilidad,mbitooscopedeunavariable,lapartedelaaplicacin
dondedichavariableesaccesibleyporlotantopuedeserutilizadaencualquier
expresin.
EnJavatodoslasvariablesdebenestarincluidasenunaclase.Engenerallas
variablesdeclaradasdentrodeunasllaves{},esdecirdentrodeunbloque,sonvisibles
yexistendentrodeestasllaves.Porejemplolasvariablesdeclaradasalprincipiode
unafuncinexistenmientrasseejecutelafuncinlasvariablesdeclaradasdentrode
unbloqueifnosernvlidasalfinalizarlassentenciascorrespondientesadichoifylas
variablesmiembrodeunaclase(esdecirdeclaradasentrelasllaves{}delaclasepero
fueradecualquiermtodo)sonvlidasmientrasexisteelobjetodelaclase.
Lasvariablesmiembrodeunaclasedeclaradascomopublicsonaccesiblesa
travsdeunareferenciaaunobjetodedichaclaseutilizandoeloperadorpunto
(.).

Lasvariablesmiembrodeclaradascomoprivatenosonaccesiblesdirectamente
desdeotrasclases.
Lasfuncionesmiembrodeunaclasetienenaccesodirectoatodaslasvariables
miembrodelaclasesinnecesidaddeanteponerelnombredeunobjetodelaclase.
SinembargolasfuncionesmiembrodeunaclaseBderivadadeotraA,tienenaccesoa
todaslasvariablesmiembrodeAdeclaradascomopublicoprotected,peronoalas
declaradascomoprivate.Unaclasederivadaslopuedeaccederdirectamentealas
variablesyfuncionesmiembrodesuclasebasedeclaradascomopublicoprotected.
Otracaractersticadellenguajeesqueesposibledeclararunavariabledentrodeun
bloqueconelmismonombrequeunavariablemiembro,peronoconelnombredeotra
variablelocal.Lavariabledeclaradadentrodelbloqueocultaalavariablemiembroen
esebloque.Paraaccederalavariablemiembroocultaserprecisoutilizareloperador
this.
Unodelosaspectosmsimportantesenlaprogramacinorientadaaobjetos(OOP)es
laformaenlacualsoncreadosyeliminadoslosobjetos.Laformadecrearnuevos
objetosesutilizareloperadornew.Cuandoseutilizaeloperadornew,lavariablede
tiporeferenciaguardalaposicindememoriadondeestalmacenadoestenuevo
objeto.Paracadaobjetosellevacuentadeporcuntasvariablesdetiporeferenciaes
apuntado.Laeliminacindelosobjetoslarealizaeldenominadogarbagecollector,
quienautomticamenteliberaoborralamemoriaocupadaporunobjetocuandono
existeningunareferenciaapuntandoaeseobjeto.Loanteriorsignificaqueaunqueuna
variabledetiporeferenciadejedeexistir,elobjetoalcualapuntanoeseliminadosihay
otrasreferenciasapuntandoaesemismoobjeto.

2. Operadores
2.1Operadoresaritmticos
2. Operadores
2.1Operadoresaritmticos

Sonoperadoresbinarios(requierensiempredosoperandos)querealizanlas
operacionesaritmticashabituales:suma(+),resta(),multiplicacin(*),divisin(/)y
restodeladivisin(%).

2.2Operadoresdeasignacin

Losoperadoresdeasignacinpermitenasignarunvaloraunavariable.Eloperadorde
asignacinporexcelenciaeseloperadorigual(=).Laformageneraldelassentencias
deasignacinconesteoperadores:

variable=expresion;

Javadisponedeotrosoperadoresdeasignacin.Setratadeversionesabreviadasdel
operador(=)querealizanoperacionesacumulativassobreunavariable.

Operador Uso Equivalencia

+= op1 op1=op1+
+= op2
op2

= op1= op1=op1
op2 op2

*= op1*= op1=op1*
op2 op2

/= op1/= op1=op1/
op2 op2

%= op1 op1=op1%
%= op2
op2

2.3.Operadoresunarios
2.3.Operadoresunarios
Losoperadoresms(+)ymenos()unariossirvenparamantenerocambiarelsigno
deunavariable,constanteoexpresinnumrica.SuusoenJavaeselestndarde
estosoperadores.

2.4.Operadorinstanceof
Eloperadorinstanceofpermitesabersiunobjetoperteneceaunadeterminadaclaseo
no.Esunoperadorbinariocuyaformagenerales,

objectNameinstanceofClassName

yquedevuelvetrueofalsesegnelobjetopertenezcaonoalaclase.

2.5.Operadorcondicional?
Esteoperadorpermiterealizarbifurcacionescondicionalessencillas.Suformageneral
eslasiguiente:
booleanExpression?res1:res2

dondeseevalabooleanExpressionysedevuelveres1sielresultadoestrueyres2si
elresultadoesfalse.Eselnicooperadorternario(tresargumentos)deJava.Como
todooperadorquedevuelveunvalorpuedeserutilizadoenunaexpresin.Porejemplo
lassentencias:
x=1;y=10;z=(x<y)?x+3:y+8;

asignaranazelvalor4,esdecirx+3.

2.6.Operadoresincrementales

Javadisponedeloperadorincremento()ydecremento().Eloperador()incrementa
enunaunidadlavariablealaqueseaplica,mientrasque()lareduceenunaunidad.
Estosoperadoressepuedenutilizardedosformas:
1.Precediendoalavariable(porejemplo:++i).Enestecasoprimeroseincrementa
lavariableyluegoseutiliza(yaincrementada)enlaexpresinenlaqueaparece.
2.Siguiendoalavariable(porejemplo:i++).Enestecasoprimeroseutilizala
variableenlaexpresin(conelvaloranterior)yluegoseincrementa.
Enmuchasocasionesestosoperadoresseutilizanparaincrementarunavariablefuera
deunaexpresin.Enestecasoambosoperadoressonequivalente.Siseutilizanen
unaexpresinmscomplicada,elresultadodeutilizarestosoperadoresenunauotra
desusformasserdiferente.Laactualizacindecontadoresenbuclesforesunade
lasaplicacionesmsfrecuentesdeestosoperadores.

2.7.Operadoresrelacionales

Losoperadoresrelacionalessirvenpararealizarcomparacionesdeigualdad,
desigualdadyrelacindemenoromayor.Elresultadodeestosoperadoresessiempre
unvalorboolean(trueofalse)segnsecumplaonolarelacinconsiderada.

Operador Uso Elresultado


estrue

> op1 siop1es


> mayorqueop2
op2

>= op1 siop1es


>= mayoroigual
op2 queop2

< op1 siop1es


< menorqueop2
op2

<= op1 siop1es


<= menoroigual
op2 queop2

== op1 siop1yop2
== soniguales
op2

!= op1 siop1yop2
!= sondiferentes
op2

2.8.Operadoreslgicos
2.8.Operadoreslgicos

Losoperadoreslgicosseutilizanparaconstruirexpresioneslgicas,combinando
valoreslgicos(truey/ofalse)olosresultadosdelosoperadoresrelacionales.Debe
notarsequeenciertoscasoselsegundooperandonoseevalaporquenoes
necesario(siambostienenquesertrueyelprimeroesfalseyasesabequela
condicindequeambosseantruenosevaacumplir).Estopuedetraerresultadosno
deseadosyporesosehanaadidolosoperadores(&)y(|)quegarantizanquelosdos
operandosseevalansiempre.

Operador Nombre Uso Resultado

&& AND op1 truesiop1


&& yop2son
op2 true.Si
op1es
falseyano
seevala
op2

|| OR op1 truesiop1
|| uop2son
op2 true.Si
op1es
trueyano
seevala
op2

! NOT !op truesiop


esfalsey
falsesiop
estrue

& AND op1 truesiop1


& yop2son
op2 true.
Siempre
seevala
op2

| OR op1 op2

2.9.Operadordeconcatenacindecadenasde
2.9.Operadordeconcatenacindecadenasde
caracteres(+)

Eloperadorms(+)seutilizatambinparaconcatenarcadenasdecaracteres.Por
ejemplo,paraescribirunacantidadconunrtuloyunasunidadespuedeutilizarsela
sentencia:

System.out.println("Hola,tengo"+anyos+"aos");

dondeeloperadordeconcatenacinseutilizadosvecesparaconstruirlacadenade
caracteresquesedeseaimprimirpormediodelmtodoprintln().Lavariable
numricaanyosesconvertidaautomticamenteporJavaencadenadecaracteres
parapoderlaconcatenar.

También podría gustarte