You are on page 1of 5

28/9/2016

ElforextendidoobuclesforeachenJava.Ventajaseinconvenientes.Ejercicioejemploresuelto.(CU00666B)

Inicio

Cmoempezar

Foros

Freelancers

Cursos

Libros

Cursos

Empleo

Humor!!!

Divulgacin

Zonacrash

Centrosformativos

CursoAprenderprogramacinJavadesdecero

ElforextendidoobuclesforeachenJava.Ventajaseinconvenientes.
Ejercicioejemploresuelto.(CU00666B)
EscritoporAlexRodrguez

Resumen:Entregan66delcurso"AprenderprogramacinJavadesdecero".
Codificacinaprenderaprogramar.com:CU00666B

ELFOREXTENDIDOOBUCLESFOREACHENJAVA
EnlasltimasversionesdeJavaseintrodujounanuevaformadeusodelfor,alaquesedenominaforextendidooforeach.Esta
forma de uso del for, que ya exista en otros lenguajes, facilita el recorrido de objetos existentes en una coleccin sin necesidad de
definirelnmerodeelementosarecorrer.Lasintaxisqueseempleaes:

for(TipoARecorrernombreVariableTemporal:nombreDeLaColeccin){
Instrucciones
}
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=632:elforextendidoobuclesforeachenjavaventajaseinconvenientesej

1/5

28/9/2016

ElforextendidoobuclesforeachenJava.Ventajaseinconvenientes.Ejercicioejemploresuelto.(CU00666B)

Fjatequeenningnmomentoseusalapalabraclaveeachqueseusaenotroslenguajes,aunquealformuchasvecesselenombre
como for each. Para saber si un for es un for extendido o un for normal hemos de fijarnos en la sintaxis que se emplea. La
interpretacin que podemos hacer de la sintaxis del for extendido es: Para cada elemento del tipo TipoARecorrer que se encuentre
dentrodelacoleccinnombreDeLaColeccinejecutalasinstruccionesqueseindican.Lavariablelocaltemporaldelcicloalmacenaen
cada paso el objeto que se visita y slo existe durante la ejecucin del ciclo y desaparece despus. Debe ser del mismo tipo que los
elementosarecorrer.Ejemplo

//Ejemploaprenderaprogramar.com
publicvoidlistarTodosLosNombres(){
for(Stringi:listaDeNombres){
System.out.println(i)//MuestracadaunodelosnombresdentrodelistaDeNombres
}
}

Enestetipodeciclospodemosdarleunnombremsdescriptivoalavariabletemporal,porejemplo:

//Ejemploaprenderaprogramar.com
publicvoidlistarTodosLosNombres(){
for(Stringnombre:listaDeNombres){
System.out.println(nombre)}
}

Unejemplodellamadadesdeunmtodomain(uotrolugar)sera:

//Ejemploaprenderaprogramar.com
System.out.println("Mostramostodoslosnombresconuncicloforeach")
lista1.listarTodosLosNombres()

El for extendido tiene algunas ventajas y algunos inconvenientes. No se debe usar siempre. Su uso no es obligatorio, de
hecho, como hemos indicado, en versiones anteriores ni siquiera exista en el lenguaje. En vez de un for extendido podemos preferir
usarunciclowhile.Loharamosas:

//Ejemploaprenderaprogramar.com
inti=0
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=632:elforextendidoobuclesforeachenjavaventajaseinconvenientesej

2/5

28/9/2016

ElforextendidoobuclesforeachenJava.Ventajaseinconvenientes.Ejercicioejemploresuelto.(CU00666B)

while(i<lista1.size()){System.out.println(lista1.getNombre(i))
i++}

Elcicloforeachesunaherramientamuytilcuandotenemosquerealizarrecorridoscompletosdecolecciones,porloquelousaremos
ennumerosasocasionesantesqueciclosforowhilequenosobliganaestarpendientesdemscuestiones(porejemploenestecaso
con el while, de llevar un contador, llamar en cada iteracin a un mtodo, etc.). Un for extendido en principio recorre todos y cada
unodeloselementosdeunacoleccin.Sinembargo,podemosintroduciruncondicionalasociadoaunasentenciabreakqueaborte
elrecorridounavezsecumplaunadeterminadacondicin.Escribeycompilaelsiguientecdigoejemplodeusodeunforextendido:

importjava.util.ArrayList
//Testdelforextendidoejemploaprenderaprogramar.com
publicclassTestForExtendido{
publicstaticvoidmain(String[]Args){
ArrayList<String>jugadoresDeBaloncesto=newArrayList<String>()
jugadoresDeBaloncesto.add("MichaelJordan")jugadoresDeBaloncesto.add("KobeBriant")
jugadoresDeBaloncesto.add("PauGasol")jugadoresDeBaloncesto.add("DrazenPetrovic")
inti=0
System.out.println("Losjugadoresdebaloncestoenlalistason:")

for(Stringnombre:jugadoresDeBaloncesto){System.out.println((i+1)+"."+nombre)
i++}
}//Cierredelmain
}//Cierredelaclase

EJERCICIO
CreaunaclasedenominadaListaCantantesFamososquealserinicializadacontengaunArrayListcontresStringsqueseanelnombre
de cantantes famosos. Crea una clase test con el mtodo main que inicialice un objeto ListaCantantesFamosos y usando un
extendido muestre los cantantes en la lista por pantalla. Se debe pedir al usuario un nombre ms de cantante famoso, y una vez
introducidomostrarlalistaactualizadausandounforextendido.Unavezmostradalalistaactualizada,sedebedaropcinaelegirentre
volver a introducir otro cantante o salir del programa (se podrn introducir tantos cantantes como se desee, para ello usa un bucle
whilequedopcinaelegiralusuario).Puedescomprobarsitucdigoescorrectoconsultandoenlosforosaprenderaprogramar.com.

Paraaccederalainformacingeneralsobreestecursoyallistadocompletodeentregaspulsaenestelink:Vercursocompleto.
http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=632:elforextendidoobuclesforeachenjavaventajaseinconvenientesej

3/5

28/9/2016

ElforextendidoobuclesforeachenJava.Ventajaseinconvenientes.Ejercicioejemploresuelto.(CU00666B)

Parahaceruncomentariooconsultautilizalosforosaprenderaprogramar.com,abiertosacualquierpersonaindependientementedesu
niveldeconocimiento.
Archivo

Informacin
adicional:

Tamaode
archivo

Descargas

Archivo

Informacin
adicional:

Tamaode
archivo

Descargas

Formatopdf

73Kb

8817

Bajararchivo...

CU00666Bforeachjavaforextendidoventajasinconvenientesfor
tradicional.pdf

<Anterior

Prximo>

http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=632:elforextendidoobuclesforeachenjavaventajaseinconvenientesej

4/5

28/9/2016

ElforextendidoobuclesforeachenJava.Ventajaseinconvenientes.Ejercicioejemploresuelto.(CU00666B)

Copyright20062016aprenderaprogramar.comLawebabiertaacualquierpersonainteresadaen

http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=632:elforextendidoobuclesforeachenjavaventajaseinconvenientesej

5/5

You might also like