<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Programacion en JAVA &#187; Control Flujo</title>
	<atom:link href="http://www.programacionenjava.com/blog/tag/control-flujo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.programacionenjava.com</link>
	<description></description>
	<lastBuildDate>Thu, 29 Apr 2010 10:46:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sentencias de Control de Flujo en Java</title>
		<link>http://www.programacionenjava.com/blog/2008/07/01/javabasico/sentencias-de-control-de-flujo-en-java/</link>
		<comments>http://www.programacionenjava.com/blog/2008/07/01/javabasico/sentencias-de-control-de-flujo-en-java/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 13:58:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java Básico]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Control Flujo]]></category>

		<guid isPermaLink="false">http://www.programacionenjava.com/?p=35</guid>
		<description><![CDATA[Las sentencias de control de flujo determinan el orden en que se ejecutarán las otras sentencias dentro del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo.

toma de decisiones     if-else, switch-case
bucles     for, while, do-while
excepciones     try-catch-finally, throw
miscelaneas     break, continue, label:, return

Aquí sólo vamos a tratar las sentencias de tomas [...]]]></description>
			<content:encoded><![CDATA[<p>Las sentencias de control de flujo determinan el orden en que se ejecutarán las otras sentencias dentro del programa. El lenguaje Java soporta varias sentencias de control de flujo, incluyendo.</p>
<ul>
<li>toma de decisiones     <strong>if-else</strong>, <strong>switch-case</strong></li>
<li>bucles     <strong>for</strong>, <strong>while</strong>, <strong>do-while</strong></li>
<li>excepciones     <strong>try-catch-finally</strong>, <strong>throw</strong></li>
<li>miscelaneas     <strong>break</strong>, <strong>continue</strong>, <strong>label:</strong>, <strong>return</strong></li>
</ul>
<p>Aquí sólo vamos a tratar las sentencias de tomas de decisiones y los bucles, dejando las excepciones para otra ocasión.</p>
<p><strong>Sentencias de toma de decisiones</strong></p>
<ul>
<li><strong>La sentencia if-else</strong></li>
</ul>
<p>La sentencia if-else de java proporciona a los programas la posibilidad de ejecutar selectivamente otras sentencias basándose en algún criterio. Esta es la versión más sencilla de la sentencia if: la sentencia gobernada por if se ejecuta si alguna codición es verdadera. Generalmente, la forma sencilla de if se puede escribir así.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code9'));">[Copiar]</a><a href="###" onclick="toggle_collapse('359');">[<span id="359_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code9"><a href="#" onclick="javascript:showCodeTxt('35code9'); return false;"> Codigo</a></span></div></td></tr><tr id="359"><td class="code" id="35code9"><pre class="java"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>expresión<span style="color: #66cc66;">&#41;</span>
sentencia;</pre></td></tr></table></div>

<p>Pero, ¿y si quieres ejecutar un juego diferente de sentencias si la expresión es falsa? Bien, puedes utilizar la sentencia else, que ejecuta la condición opuesta</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code10'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3510');">[<span id="3510_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code10"><a href="#" onclick="javascript:showCodeTxt('35code10'); return false;"> Codigo</a></span></div></td></tr><tr id="3510"><td class="code" id="35code10"><pre class="java"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>expresión<span style="color: #66cc66;">&#41;</span>
sentencia;
<span style="color: #b1b100;">else</span>
otrasentencia;</pre></td></tr></table></div>

<p>Este uso particular de la sentencia else es la forma de capturarlo todo.</p>
<p>Existe otra forma de la sentecia else, <strong>else if</strong> que ejecuta una sentencia basada en otra expresión. Como ejemplo, un programa que asigna notas basadas en la puntuación de un examen, un Sobresaliente para una puntuación del 90% o superior, un Notable para el 80% o superior y demás:</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code11'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3511');">[<span id="3511_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code11"><a href="#" onclick="javascript:showCodeTxt('35code11'); return false;"> Codigo</a></span></div></td></tr><tr id="3511"><td class="code" id="35code11"><pre class="java"><span style="color: #993333;">int</span> puntuacion;
<span style="color: #aaaadd; font-weight: bold;">String</span> nota;
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>puntuacion &gt;= <span style="color: #cc66cc;">90</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Sobresaliente&quot;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>puntuacion &gt;= <span style="color: #cc66cc;">80</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Notable&quot;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>puntuacion &gt;= <span style="color: #cc66cc;">70</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Bien&quot;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>puntuacion &gt;= <span style="color: #cc66cc;">60</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Suficiente&quot;</span>;
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
nota = <span style="color: #ff0000;">&quot;Insuficiente&quot;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Una sentencia if puede tener cualquier número de sentencias de acompañamiento else if.</p>
<ul>
<li><strong>La sentencia switch-case</strong></li>
</ul>
<p>La sentencia switch se utiliza para realizar sentencias condicionalmente basadas en alguna expresión. Por ejemplo, un programa contiene un entero llamado mes cuyo valor indica el mes en alguna fecha, y se quiere mostrar el nombre del mes basándose en su número entero equivalente. Se podría utilizar la sentencia switch de Java para realizar esta tarea.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code12'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3512');">[<span id="3512_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code12"><a href="#" onclick="javascript:showCodeTxt('35code12'); return false;"> Codigo</a></span></div></td></tr><tr id="3512"><td class="code" id="35code12"><pre class="java"><span style="color: #993333;">int</span> mes;
. . .
<span style="color: #b1b100;">switch</span> <span style="color: #66cc66;">&#40;</span>mes<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">1</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Enero&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">2</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Febrero&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">3</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Marzo&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">4</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Abril&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">5</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;May0&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">6</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Junio&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">7</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Julio&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">8</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Agosto&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">9</span>:  <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Septiembre&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">10</span>: <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Octubre&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">11</span>: <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Noviembre&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #b1b100;">case</span> <span style="color: #cc66cc;">12</span>: <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Diciembre&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #000000; font-weight: bold;">default</span>: <span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;No es un mes válido&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">break</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>La sentencia switch evalúa su expresión, en este caso el valor de mes, y ejecuta la sentencia case apropiada.</p>
<p>Decidir cuando utilizar las sentencias if o switch dependen del juicio personal. Se puede decidir cual utilizar basándose en la buena lectura del código o en otros factores. Cada sentencia case debe ser única y el valor proporcionado a cada sentencia case debe ser del mismo tipo que el tipo de dato devuelto por la expresión proporcionada a la sentencia switch.</p>
<p>Otro punto de interes en la sentencia switch son las sentencias <strong>break</strong> después de cada case. La sentencia break hace que el control salga de la sentencia switch y continúe con la siguiente línea. La sentencia break es necesaria porque las sentencias case se siguen ejecutando hacia abajo. Esto es, sin un break explícito, el flujo de control seguiría secuencialmente a través de las sentencias case siguientes.</p>
<p>Finalmente, puede utilizar la sentencia default al final de la sentencia switch para manejar los valores que no se han manejado explícitamente por una de las sentencias case.</p>
<p><strong>Sentencias de Bucle</strong></p>
<ul>
<li><strong>El bucle while</strong></li>
</ul>
<p>Una sentencia while realiza una acción mientras se cumpla una cierta condición. La sintaxis general de la sentencia while es.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code13'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3513');">[<span id="3513_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code13"><a href="#" onclick="javascript:showCodeTxt('35code13'); return false;"> Codigo</a></span></div></td></tr><tr id="3513"><td class="code" id="35code13"><pre class="java"><span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>expresión<span style="color: #66cc66;">&#41;</span>
sentencia;</pre></td></tr></table></div>

<p>Esto es, mientras la expresión sea verdadera, ejecutará la sentencia.</p>
<p>sentencia puede ser una sóla sentencia o puede ser un bloque de sentencias. Un bloque de sentencias es un juego de sentencias legales de java contenidas dentro de corchetes(&#8217;{'y &#8216;}&#8217;).</p>
<p>Además de while Java tiene otros dos constructores de bucles que puedes utilizar en tus programas.</p>
<ul>
<li><strong>El bucle for</strong></li>
</ul>
<p>Puedes utilizar este bucle cuando conozcas los límites del bucle (su instrucción de inicialización, su criterio de terminación y su instrucción de incremento). Por ejemplo, el bucle for se utiliza frecuentemente para iterar sobre los elementos de un array, o los caracteres de una cadena.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code14'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3514');">[<span id="3514_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code14"><a href="#" onclick="javascript:showCodeTxt('35code14'); return false;"> Codigo</a></span></div></td></tr><tr id="3514"><td class="code" id="35code14"><pre class="java">&nbsp;
<span style="color: #808080; font-style: italic;">// a es un array de cualquier tipo</span>
. . .
<span style="color: #993333;">int</span> i;
<span style="color: #993333;">int</span> length = a.<span style="color: #006600;">length</span>;
<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span>i = <span style="color: #cc66cc;">0</span>; i &lt; a.<span style="color: #006600;">length</span>; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #aaaadd; font-weight: bold;">System</span>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span>a<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Si sabes cuando estas escribiendo el programa que quieres empezar en el inicio del array, parar al final y utilizar cada uno de los elementos. Entonces la sentencia for es una buena elección. La forma general del bucle for puede expresarse asi.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code15'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3515');">[<span id="3515_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code15"><a href="#" onclick="javascript:showCodeTxt('35code15'); return false;"> Codigo</a></span></div></td></tr><tr id="3515"><td class="code" id="35code15"><pre class="java"><span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span>inicialización; terminación; incremento<span style="color: #66cc66;">&#41;</span>
sentencias</pre></td></tr></table></div>

<p><strong>inicialización</strong> es la sentencia que inicializa el bucle. Se ejecuta una vez al iniciar el bucle.</p>
<p><strong>terminación</strong> es una sentencia que determina cuando se termina el bucle. Esta expresión se evalúa al principio de cada iteracción en el bucle. Cuando la expreión se evalúa a false el bucle se termina.</p>
<p>Finalmente, <strong>incremento</strong> es una expresión que se invoca en cada interacción del bucle. Cualquiera (o todos) de estos componentes puden ser una sentencia vacía (un punto y coma).</p>
<ul>
<li><strong> el bucle do-while</strong></li>
</ul>
<p>Java proporciona otro bucle, el bucle do-while,que es similar al bucle while que se vió al principio, excepto en que la expresión se avalú al final del bucle.</p>

<div class="wp_codebox"><table width="100%" ><tr><td colspan="2" class="msgheader"><div class="codebox_right"><a href="###" onclick="copycode($('35code16'));">[Copiar]</a><a href="###" onclick="toggle_collapse('3516');">[<span id="3516_symbol">-</span>]</a></div><div class="codebox_left"><span id="l35code16"><a href="#" onclick="javascript:showCodeTxt('35code16'); return false;"> Codigo</a></span></div></td></tr><tr id="3516"><td class="code" id="35code16"><pre class="java"><span style="color: #b1b100;">do</span> <span style="color: #66cc66;">&#123;</span>
sentencias
<span style="color: #66cc66;">&#125;</span> <span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>Expresión Booleana<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>La sentencia do-while se usa muy poco en la construcción de bucles pero tiene sus usos. Por ejemplo, es conveniente utilizar la sentencia do-while cuando el bucle debe ejecutarse al menos una vez.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.programacionenjava.com/blog/2008/07/01/javabasico/sentencias-de-control-de-flujo-en-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
