Professional Documents
Culture Documents
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