{"id":1551,"date":"2018-01-31T00:48:18","date_gmt":"2018-01-31T05:48:18","guid":{"rendered":"https:\/\/manualjavaoracle.wordpress.com\/?p=1551"},"modified":"2018-03-06T13:17:55","modified_gmt":"2018-03-06T18:17:55","slug":"sentencia-do-while","status":"publish","type":"post","link":"https:\/\/www.manualjava.net\/?p=1551","title":{"rendered":"Sentencia &#8211; do\/while"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-1554\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/java16-300x128.png\" alt=\"\" width=\"278\" height=\"119\" srcset=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/java16-300x128.png 300w, https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/java16.png 331w\" sizes=\"(max-width: 278px) 100vw, 278px\" \/><\/p>\n<p><span style=\"color: #000000;\">La bucle do-while es un bucle de post-test (post-condici\u00f3n) donde la condici\u00f3n del bucle se comprueba despu\u00e9s de cada ejecuci\u00f3n. Esta situaci\u00f3n se suele dar en algunas circunstancias en las que se ha de tener la seguridad de que una determinada acci\u00f3n se ejecutar\u00e1 una o varias veces, pero como resultado el bucle do-while se ejecutar\u00e1 al menos una vez.<\/span><!--more--><\/p>\n<h2><span style=\"color: #000000;\"><strong>Sintaxis<\/strong><\/span><\/h2>\n<ul>\n<li><span style=\"color: #000000;\"> do<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 sentencia<\/span><br \/>\n<span style=\"color: #000000;\"> while(condicion)<\/span><\/li>\n<li><span style=\"color: #000000;\"> do{<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 sentencia_1<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 sentencia_2<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 .<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 .<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 .<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 sentencia_n<\/span><br \/>\n<span style=\"color: #000000;\"> }while(condicion)<\/span><\/li>\n<\/ul>\n<p><span style=\"color: #000000;\">Observamos que es como un while pero al rev\u00e9s. Primeramente se ejecuta la sentencia y luego eval\u00faa la condici\u00f3n. Si la expresi\u00f3n de la condici\u00f3n es verdadera vuelve a dar un ciclo. De lo contrario, termina. Esto nos garantiza que la sentencia se ejecute al menos una vez. Resulta \u00fatil para los casos en donde tendremos que realizar ciertas acciones antes de verificar una condici\u00f3n.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0do{<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 numero = numero\/10;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 digitos++;<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0}while(numero&gt;0 );<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0System.out.println(\u00abLos digitos son:\u00bb + digitos);<\/span><\/p>\n<h2><span style=\"color: #000000;\"><strong>Diferencias entre while y do-while<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">Una sentencia do-while es similar a una sentencia while excepto que el bloque de sentencias del bucle se ejecuta siempre, al menos una vez.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Sintaxis<\/strong><\/span><\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-1575 aligncenter\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/do-while11.png?w=300\" alt=\"\" width=\"409\" height=\"192\" srcset=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/do-while11.png 442w, https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/do-while11-300x141.png 300w\" sizes=\"(max-width: 409px) 100vw, 409px\" \/><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-1578 aligncenter\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/do-while21.png?w=300\" alt=\"\" width=\"405\" height=\"260\" srcset=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/do-while21.png 436w, https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/do-while21-300x193.png 300w\" sizes=\"(max-width: 405px) 100vw, 405px\" \/><\/p>\n<h2><span style=\"color: #000000;\"><strong>Bucles anidados<\/strong><\/span><\/h2>\n<p><span style=\"color: #000000;\">Es posible anidar bucles. Los bucles anidados constan de un bucle externo con uno o m\u00e1s bucles internos. Cada vez que se repite el bucle externo, los bucles internos se repiten, se vuelven a evaluar las condiciones y se ejecutan todas las iteraciones o ciclos requeridos.<\/span><\/p>\n<h3><span style=\"color: #000000;\"><strong>Ejemplo<\/strong><\/span><\/h3>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-1583 aligncenter\" src=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/bucles-anidados.png?w=249\" alt=\"\" width=\"318\" height=\"384\" srcset=\"https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/bucles-anidados.png 325w, https:\/\/www.manualjava.net\/wp-content\/uploads\/2018\/01\/bucles-anidados-249x300.png 249w\" sizes=\"(max-width: 318px) 100vw, 318px\" \/><\/p>\n<p><span style=\"color: #000000;\">Al ejecutar este m\u00e9todo se obtiene el siguiente resultado:<\/span><\/p>\n<p><span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0Para i=1:\u00a0 j=1.\u00a0 j=2.\u00a0 j=3.\u00a0 j=4.<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0Para i=2:\u00a0 j=1.\u00a0 j=2.\u00a0 j=3.\u00a0 j=4.\u00a0<\/span><br \/>\n<span style=\"color: #000000;\">\u00a0 \u00a0 \u00a0Para i=3:\u00a0 j=1.\u00a0 j=2.\u00a0 j=3.\u00a0 j=4.<\/span><\/p>\n<p><span style=\"color: #000000;\">Este resultado demuestra que el bucle externo se ejecute tres veces, y por cada una de \u00e9stas, el bucle interno se ejecuta a su vez cuatro veces. Es as\u00ed como se ejecutan los bucles anidados, por cada iteraci\u00f3n del bucle externo, el bucle interno se ejecuta hasta finalizar todas las iteraciones.<\/span><\/p>\n<p><span style=\"color: #000000;\">Observe tambi\u00e9n que cada vez que finaliza la ejecuci\u00f3n de la sentencia <strong>while<\/strong>\u00a0interno, avanzamos a una nueva l\u00ednea, incrementamos el valor de i en una unidad e iniciamos de nuevo j al valor 1.<strong>\u00a0<\/strong><span style=\"color: #000080;\"><a style=\"color: #000080;\" href=\"https:\/\/www.manualjava.net\/?p=1473\">(Ver Sentencia-while)<\/a><\/span><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La bucle do-while es un bucle de post-test (post-condici\u00f3n) donde la condici\u00f3n del bucle se comprueba despu\u00e9s de cada ejecuci\u00f3n. Esta situaci\u00f3n se suele dar en algunas circunstancias en las que se ha de tener la seguridad de que una determinada acci\u00f3n se ejecutar\u00e1 una o varias veces, pero como resultado el bucle do-while se &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.manualjava.net\/?p=1551\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":1554,"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\/1551"}],"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=1551"}],"version-history":[{"count":8,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1551\/revisions"}],"predecessor-version":[{"id":2704,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/posts\/1551\/revisions\/2704"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=\/wp\/v2\/media\/1554"}],"wp:attachment":[{"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.manualjava.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}