Herramientas de usuario

Herramientas del sitio


bloque3:controlflujo

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bloque3:controlflujo [15/02/2018 15:47] – [El bucle for] Fernando Valdeónbloque3:controlflujo [02/03/2018 14:51] (actual) – borrado Fernando Valdeón
Línea 1: Línea 1:
-====== Sentencias de Control de Flujo ====== 
  
-El flujo de un programa es **el orden en el que se ejecutan las instrucciones**. Mientras no lo controlemos siempre se ejecutará una instrucción después de otra, en el órden en el que estén escritas hasta el final del programa. 
- 
-**Existen ciertas instrucciones que permiten al código tomar decisiones sobre qué instrucciones vamos a ejecutar y cuales no**. Dicho de otro modo, pueden elegir un camino en la ejecución del programa, descartando otro camino, todo ello basado en una condición. 
- 
-===== La sentencia If ===== 
-{{ :bloque3:if_flow.png?150|}} 
-If (si, condicional) evalúa una expresión booleana (condición) y ejecuta unas instrucciones en caso de que sea **true**. Solo si la condición es //true//, se ejecutarán las instrucciones que indiquemos dentro del bloque //if//. 
- 
-Un bloque de código viene delimitado por el carácter corchete { }. 
- 
-<code java> 
-if(condicion) { 
-   System.out.println("Se ha cumplido la condición"); 
-   System.out.println("Y puedo ejecutar varias instrucciones"); 
-} 
- 
-System.out.println("Esto se ejecuta, se haya cumplido o no"); 
-</code> 
- 
-Si la condición se cumple se ejecutan las instrucciones del bloque //if//. Independientemente de si se cumple o no, después se continua con las instrucciones que hay después del bloque //if//. 
- 
-==== La sentencia If-Else ==== 
-{{ :bloque3:if_else_flow.png?150|}} 
-Si queremos que se ejecuten unas instrucciones si se cumple una condición **y otras distintas** si no se cumple, usaremos la sentencia //if-else//. 
-El bloque //else// siempre es opcional. 
- 
-<code java> 
-if(condicion){ 
-   System.out.println("Se ha cumplido la condición"); 
-}else{ 
-   System.out.println("No se ha cumplido la condición"); 
-} 
- 
-System.out.println("Esto se ejecuta, se haya cumplido o no"); 
-</code> 
- 
-==== If-Else anidados ==== 
-La sentencia if-else es una instrucción más de java. Al igual que cualquier otras instrucción, puede ser ejecutada dentro de otra sentencia if-else: 
- 
-<code java> 
-int edad = 5; 
- 
-if(edad >= 18){ 
-   System.out.println("Tienes 18 o mas."); 
-} 
-else if(edad >= 15){ 
-   System.out.println("Tienes 15 años o mas pero menos de 18."); 
-} 
-else if(edad >= 10){ 
-   System.out.println("Tienes 10 años o mas pero menos de 15."); 
-} 
-else{ 
-   System.out.println("Eres un crio."); 
-} 
- 
-</code> 
- 
-===== Ámbito de una variable ===== 
-El ámbito de una variable define su alcance de uso, o lo que es lo mismo, en que secciones (bloques) de código una variable estará disponible. Fuera de este ámbito, una variable no podrá ser accedida (no existe). 
- 
-<code java> 
-public static void main(String[] args){ 
-   int numero1 = 7; 
-   int numero2 = 6; 
- 
-   if(numero1 > numero2){ 
-      String saludo = "Hola Mundo"; 
-      System.out.println(saludo); 
-       
-      //Aquí tengo acceso a las variables numero1, numero2 y saludo. 
-   } 
-   //Aquí ya no existe la variable saludo 
-} 
-//Aquí dejaron de existir todas las variables 
-</code> 
- 
-Las variables solo existen en el bloque en el que son __declaradas__. 
- 
- ===== La sentencia Switch ===== 
-Switch nos  permite  evaluar  un valor y  ejecutar  un bloque de instrucciones dependiendo  de  ese  valor. Actúa parecido a una serie de sentencias if-else anidadas. 
- 
-El switch buscará el valor de la variable entre los valores de los //cases//, y ejecutará el código del caso que coincida con dicho valor.  
- 
-<code java> 
-int variable = input.nextInt(); 
- 
-switch (variable) { 
-   case 1: 
-      System.out.println("Has seleccionado la opción 1"); 
-      break; 
-   case 2: 
-      System.out.println("Has seleccionado la opción 2"); 
-      break; 
-   case 15: 
-      System.out.println("Has seleccionado la opción 15"); 
-      break; 
-... 
-   default: //Opcional 
-      System.out.println("El valor no coincide con ningún caso"); 
-} 
-</code> 
- 
-==== Funcionamiento ==== 
-  * Switch funciona con los tipos: int, byte, short, char y String. 
-  * Puede haber tantos //cases// como se desee. 
-  * Cada //case// es seguido del valor a comparar (expresión literal del valor). 
-  * Cuando la variable coincide con el valor de un //case// se ejecutan todas las instrucciones hasta encontrar la sentencia //**break**//. 
-  * El uso del break no es obligatorio. Si un caso no tiene break, se ejecutarán todos los casos siguientes hasta encontrar un break. 
-  * Puede existir un solo caso **default**, que se ejecutará cuando el valor de la variable no coincide con el valor de ningún caso. 
-===== El bucle for ===== 
-Los bucles son bloques de código que se ejecutan repetidamente mientras se cumpla una condición booleana. 
- 
-El bucle **for** es el más usado, y se utiliza siempre que sepamos el número de veces que debemos repetir un bloque de código. 
- 
-<code java> 
-for (int i = 0; i < 5; i++){ 
-   System.out.println("Esta es la repetición nº: " + i); 
-} 
-</code> 
- 
-====Funcionamiento====  
-  * La primera ejecución del bucle ejecuta la inicialización: int i = 0. Solo la primera vez.  
-  - Se evalua la condición la condición: **i < 5** 
-  - Si la condicion es //**true**// se ejecuta el código del bloque. Si es //**false**// termina el bucle y continua en la siguiente instruccion. 
-  - Después de ejecutar el código del bloque se realiza el incremento: **i++** 
-  - Después de realizar el incremento se vuelve al paso 1. 
- 
-Las variables **i** (index) se conoce como __variable de control__ del bucle. Si creamos un bucle dentro de otro, se usan como identificadores: i, j, k, l, etc. 
- 
-===== El bucle while ===== 
- 
-===== El bucle Do-While ===== 
- 
----- 
-(c) {{date> %Y}} Fernando Valdeón 
bloque3/controlflujo.1518709647.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)