viernes, 5 de junio de 2015

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;
}
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