{"id":1658,"date":"2018-02-01T23:26:47","date_gmt":"2018-02-02T04:26:47","guid":{"rendered":"https:\/\/manualjavaoracle.wordpress.com\/?p=1658"},"modified":"2018-02-09T13:42:17","modified_gmt":"2018-02-09T18:42:17","slug":"sentencia-for-each","status":"publish","type":"post","link":"https:\/\/www.manualjava.net\/?p=1658","title":{"rendered":"Sentencia &#8211; for each"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-1693 alignnone\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/02\/java20.png\" alt=\"\" width=\"265\" height=\"107\" \/><\/p>\n<p><span style=\"color: #000000;\">A partir de Java 5.0 se ha introducido una construcci\u00f3n de bucles muy potente que permite al programador iterar a trav\u00e9s de cada elemento de un <strong>array o arreglo<\/strong>, as\u00ed como otras colecciones de elementos sin tener que preocuparse por los valores de los \u00edndices del bucle. El bucle for each establece una variable dada a cada elemento de la colecci\u00f3n y a continuaci\u00f3n ejecuta las sentencias del bloque.<\/span><!--more--><\/p>\n<h2><strong><span style=\"color: #000000;\">Sintaxis<\/span><\/strong><\/h2>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0for(variable : colecci\u00f3n)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0sentencia;<\/span><\/p>\n<p><span style=\"color: #000000;\">La expresi\u00f3n\u00a0<strong>colecci\u00f3n\u00a0<\/strong>debe ser un arreglo (array) o un objeto de una clase que implemente la interfaz Iterable, como lista de arreglos, ArrayList, etc.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">Visualizar cada elemento de un arreglo en una lista independiente.<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0int [] m = new int[100];\u00a0 \u00a0 \u00a0 \u00a0 \/\/ array<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0. . .<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0for(int elemento : m)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 System.out.println(elemento);<\/span><\/p>\n<p><span style=\"color: #000000;\">El bucle se lee as\u00ed: \u00abpara (for) cada (each) elemento de m\u00bb. Los dise\u00f1adores de Java consideraron para nombrar el bucle, en primer lugar foreach e in, pero al final optaron por continuar con el c\u00f3digo antiguo y la palabra reservada for para evitar conflictos de nombres de m\u00e9todos o variables ya existentes como System.in.<\/span><\/p>\n<p><span style=\"color: #000000;\">El efecto anterior del recorrido de colecciones se puede conseguir con un bucle for est\u00e1ndar, aunque el bucle \u00abfor each\u00bb es m\u00e1s conciso y menos propenso a errores. Un bucle equivalente al anterior es<\/span>:<\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0for(int j=0;j&lt;m.length;j++)<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 System.out.println(m[ j ]);<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Nota<\/strong><\/span><\/h3>\n<ul>\n<li><span style=\"color: #000000;\">El \u00abfor each\u00bb se puede interpretar como \u00abpor cada valor de&#8230; hacer las siguientes acciones\u00bb.<\/span><\/li>\n<li><span style=\"color: #000000;\">La variable del bucle \u00abfor each\u00bb recorre los elementos de la colecci\u00f3n o el arreglo (array) y no los valores de los \u00edndices.<\/span><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">El bucle \u00abfor each\u00bb es una mejora sustancial sobre el bucle tradicional en el caso de que se necesite procesar todos los elementos de una colecci\u00f3n. Posteriormente se amplia el concepto del bucle \u00abfor each\u00bb al tratar los arreglos.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A partir de Java 5.0 se ha introducido una construcci\u00f3n de bucles muy potente que permite al programador iterar a trav\u00e9s de cada elemento de un array o arreglo, as\u00ed como otras colecciones de elementos sin tener que preocuparse por los valores de los \u00edndices del bucle. El bucle for each establece una variable dada &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.manualjava.net\/?p=1658\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":1693,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"_links":{"self":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1658"}],"collection":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1658"}],"version-history":[{"count":1,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1658\/revisions"}],"predecessor-version":[{"id":2099,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1658\/revisions\/2099"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/media\/1693"}],"wp:attachment":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}