📄 java5.htm
字号:
<HTML>
<HEAD>
<TITLE>Java desde Cero</TITLE>
</HEAD>
<BODY background=/iconos/1.gif TEXT=000000 LINK=FF0000 VLINK=A62A2A>
<H1>Las estructuras de control<BR>
</H1>
<P>
Las estructuras de control en Java son básicamente las
misma que en C, con excepción del <B>goto</B>, que no existe
(al fin un lenguaje serio! )
<H2>if…[else]</H2>
<P>
La más común de todas, permite ejecutar una instrucción
(o secuencia de instrucciones) si se da una condición dada
(o, mediante la cláusula <I>else</I>, ejecutar otra secuencia
en caso contrario).
<PRE>
<FONT SIZE=2>if (expresión_booleana) instrucción_si_true;
[else instrucción_si_false;]</FONT>
</PRE>
<P>
o bien:
<PRE>
<FONT SIZE=2> if (expresión_booleana) {
instrucciones_si_true;
}
else {
instrucciones_si_false;
}</FONT>
</PRE>
<P>
Por ejemplo:
<PRE>
<FONT SIZE=2> public final String toString() {
if (y<0)
return x+"-i"+(-y);
else
return +x+"+i"+y;
}</FONT>
</PRE>
<H2>Switch…case…brake…default</H2>
<P>
Permite ejecutar una serie de operaciones para el caso de que
una variable tenga un valor entero dado. La ejecución saltea
todos los <I>case</I> hasta que encuentra uno con el valor de
la variable, y ejecuta desde allí hasta el final del <I>case</I>
o hasta que encuentre un <I>break</I>, en cuyo caso salta al final
del <I>case</I>. El <I>default</I> permite poner una serie de
instrucciones que se ejecutan en caso de que la igualdad no se
de para ninguno de los <I>case</I>.
<PRE>
<FONT SIZE=2> switch (expresión_entera) {
case (valor1): instrucciones_1;
[break;]
case (valor2): instrucciones_2;
[break;]
…..
case (valorN): instrucciones_N;
[break;]
default: instrucciones_por_defecto;
}
</FONT>
</PRE>
<P>
Por ejemplo:
<PRE>
<FONT SIZE=2> switch (mes) {
case (2): if (bisiesto()) dias=29;
else dias=31;
break;
case (4):
case (6):
case (9):
case (11): dias = 30;
break;
default: dias = 31;
}</FONT>
</PRE>
<H2>While</H2>
<P>
Permite ejecutar un grupo de instrucciones mientras se cumpla
una condición dada:
<PRE>
<FONT SIZE=2> while (expresión_booleana) {
instrucciones…
}</FONT>
</PRE>
<P>
Por ejemplo:
<PRE>
<FONT SIZE=2>while ( linea != null) {
linea = archivo.LeerLinea();
System.out.println(linea);
}</FONT>
</PRE>
<H2>Do…while</H2>
<P>
Similar al anterior, sólo que la condición se evalúa
al final del ciclo y no al principio:
<PRE>
<FONT SIZE=2> do {
instrucciones…
} while (expresión_booleana);<BR>
</FONT>
</PRE>
<P>
Por ejemplo:
<PRE>
<FONT SIZE=2>do {
linea = archivo.LeerLinea();
if (linea != null) System.out.println(linea);
} while (linea != null);</FONT>
</PRE>
<H2>For</H2>
<P>
También para ejecutar en forma repetida una serie de instrucciones;
es un poco más complejo:
<PRE>
<FONT SIZE=2> for ( instrucciones_iniciales; condición_booleana; instruccion_repetitiva_x ) {
instrucciones…
}</FONT>
</PRE>
<P>
Si bien las instrucciones pueden ser cualquiera (el bucle se repite
mientras la condición sea verdadera), lo usual es utilizarlo
para "contar" la cantidad de veces que se repiten las
instrucciones; se podría indicar así:
<PRE>
<FONT SIZE=2> for ( contador = valor_inicial; contador < valor_final; contador++ ) {
instrucciones…
}</FONT>
</PRE>
<P>
Por ejemplo:
<PRE>
<FONT SIZE=2> for ( i=0; i<10; i++ ) {
System.out.println( i );
}</FONT>
</PRE>
<P>
o, para contar hacia atrás:
<PRE>
<FONT SIZE=2> for ( i=10; I>0; I-- ) {
System.out.println( i );
}</FONT>
</PRE>
<H2>Break y continue</H2>
<P>
Estas instrucciones permiten saltar al final de una ejecución
repetitiva (break) o al principio de la misma (continue).
<P>
Por ejemplo, en:
<PRE>
<FONT SIZE=2>import java.io.*;
class Bucles {
public static void main (String argv[ ]) {
int i=0;
for (i=1; i<5; i++) {
System.out.println("antes "+i);
if (i==2) continue;
if (i==3) break;
System.out.println("después "+i);
}
}
}<BR>
</FONT>
</PRE>
<P>
La salida es:
<P>
<FONT FACE="Arial">antes 1</FONT>
<P>
<FONT FACE="Arial">después 1</FONT>
<P>
<FONT FACE="Arial">antes 2</FONT>
<P>
<FONT FACE="Arial">antes 3<BR>
</FONT>
<P>
Por qué? "i" comienza en 1 (imprime "antes"
y "después"); cuando pasa a 2, el <I>continue</I>
salta al principio del bucle (no imprime el "después").
Finalmente, cuando "i" vale 3, el <I>break</I> da por
terminado el bucle <I>for</I>.
<H2>Otras...</H2>
<P>
Hay otras instrucciones que controlan el flujo del programa:
<UL>
<LI>synchronized (para ver junto con los threads)
<LI>catch,
<LI>throw,
<LI>try,
<LI>finally (para ver con las excepciones)
</UL>
<P>
<P>
Ahora sí, podemos usar todo nuestro conocimiento sobre
Java para ir creando algunas aplicaciones y de paso ir viendo
las bibliotecas estándar... Nos vemos en el capítulo
VI!<BR>
<HR>
<P>
Jorge Bourdette
<P>
<A HREF="mailto:jpb@amarillas.com">jpb@amarillas.com</A>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -