SENTENCIAS DE CONTROL
– Sentencias de control de flujo: Bucle
Sentencias iterativas
o Bucles
Necesarias para repetir partes del código
Número fijo de veces.
Dependiendo de la evaluación de una condición
Tres tipos
WHILE
DO… WHILE
Bucle FOR
Sentencia
While
Evaluamos expresionCondicional y si su resultado es true
procederá a ejecutar el bloque asociado a esta sentencia, procediendo a una
nueva evaluación de la expresión Condicional para ver si de nuevo ejecuta el
bloque o no.
DO … WHILE
Parecido al While pero siempre se ejecuta
La expresión se ejecuta posterior a la ejecución del bloque
asociado.
– Sentencias de
control de flujo: Bucle
FOR
Repite la ejecución de un bloque de código un número
determinado de veces.
Inicialización es la zona donde se inicializa el contador de
iteraciones.
Condición indica si se debe ejecutar el bloque asociado.
Incremento es la zona que se ejecuta tras el bloque asociado,
normalmente incrementando o decrementando el contador de iteraciones.
– Sentencias de control de flujo: Salto
incondicional
Sentencias de salto incondicional
No es recomendable.
Su objetivo es la finalización de ejecución de un bloque.
Break : Rompe la
ejecución de un bloque.
Continue : Obliga a
una nueva iteración de una sentencia de tipo iterativa
Comprobando la condición (en el caso de while o for )
Ejecutando la primera sentencia del bloque asociado al bucle
(en el caso de do..while )
Return : Rompe la
ejecución de una función (método).
Suele venir asociado con un valor que coincide con el tipo de
retorno de la función.
Las
sentencias break y continue permiten manipular el
comportamiento normal de los bucles for para detener el bucle o para
saltarse algunas repeticiones. Concretamente, la
sentencia break permite terminar de forma abrupta un bucle y la
sentencia continue permite saltarse algunas repeticiones del bucle.
El siguiente ejemplo muestra el uso de la
sentencia break:
var cadena = "En un lugar de la Mancha de cuyo nombre no
quiero acordarme...";
var letras = cadena.split("");
var resultado = "";
for(i in letras) {
if(letras[i] == 'a') {
break;
}
Else {
resultado +=
letras[i];
}
}
alert(resultado);
// muestra "En un lug"
La sentencia return. Esta sentencia nos permite
finalizar también un conjunto de sentencias, con la peculiaridad esta vez de
que también finaliza el método o función que en el que se encuentre. En el caso
de que queramos devolver un valor desde esa función o método lo debemos poner a
continuación de return. Por ejemplo:
void funcionEjemplo(){
int i=0;
while (i < 100){ //esta absurda función nos devuelve
i++; //al llamarla el valor 100 como has
} //podido comprobar
return i;
}
void funcionEjemplo(){
int i=0;
while (i < 100){ //esta absurda función nos devuelve
i++; //al llamarla el valor 100 como has
} //podido comprobar
return i;
}
Try y catch
La sentencia try...catch marca un bloque de las
instrucciones a probar y especifica una o más respuestas al producirse una
excepción. La sentencia try...catch es la que se ocupa de la
excepción.
function encuentraNombredelMes (mes) {
mes=mes-1; //
Ajusta el número del mes por el índice de lista (1=Enero, 12=Diciembre)
var meses=new
Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
if (meses[mes] != null) {
return meses[mes]
} else {
throw
"Número_mes_Inválido"
}
}
try {
// instrucciones a probar
Nombremes
=encuentraNombredelMes (miMes) // función que podría lanzar una excepción
}
catch (e) {
Nombremes
="desconocido"
logMisErrores(e) //
pasa el objeto excepción al manejador de errores
}
Puede utilizar un sólo bloque catch para manipular
todas las excepciones que pueden ser generadas en el bloque try, o puede
utilizar bloques separados catch cada uno de los cuales manipula un
tipo particular de excepción.
catch (catchID) {
Sentencias
}
La Sentencias throw
Todos los métodos Java utilizan la sentencia throw para
lanzar una excepción.
Esta sentencia requiere un sólo argumento, un objeto Throwable.
En el sistema Java, los objetos lanzables son ejemplares de la clase Throwable definida
en el paquete java.lang. Aquí
tienes un ejemplo de la sentencia throw.
Public Object pop() throws
EmptyStackException {
Object obj;
if (size == 0)
throw new
EmptyStackException();
obj = objectAt(size - 1);
SetObjectAt (size - 1, null);
Size--;
return obj;
No hay comentarios:
Publicar un comentario