bloque3:controlflujo
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
bloque3:controlflujo [15/02/2018 15:47] – [El bucle for] Fernando Valdeón | bloque3: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 ===== | ||
- | {{ : | ||
- | 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(" | ||
- | </ | ||
- | |||
- | 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 ==== | ||
- | {{ : | ||
- | Si queremos que se ejecuten unas instrucciones si se cumple una condición **y otras distintas** si no se cumple, usaremos la sentencia // | ||
- | El bloque //else// siempre es opcional. | ||
- | |||
- | <code java> | ||
- | if(condicion){ | ||
- | | ||
- | }else{ | ||
- | | ||
- | } | ||
- | |||
- | System.out.println(" | ||
- | </ | ||
- | |||
- | ==== If-Else anidados ==== | ||
- | La sentencia if-else es una instrucción más de java. Al igual que cualquier otras instrucción, | ||
- | |||
- | <code java> | ||
- | int edad = 5; | ||
- | |||
- | if(edad >= 18){ | ||
- | | ||
- | } | ||
- | else if(edad >= 15){ | ||
- | | ||
- | } | ||
- | else if(edad >= 10){ | ||
- | | ||
- | } | ||
- | else{ | ||
- | | ||
- | } | ||
- | |||
- | </ | ||
- | |||
- | ===== Á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; | ||
- | |||
- | | ||
- | String saludo = "Hola Mundo"; | ||
- | System.out.println(saludo); | ||
- | | ||
- | //Aquí tengo acceso a las variables numero1, numero2 y saludo. | ||
- | } | ||
- | // | ||
- | } | ||
- | //Aquí dejaron de existir todas las variables | ||
- | </ | ||
- | |||
- | Las variables solo existen en el bloque en el que son __declaradas__. | ||
- | |||
- | ===== La sentencia Switch ===== | ||
- | Switch nos permite | ||
- | |||
- | 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(" | ||
- | break; | ||
- | case 2: | ||
- | System.out.println(" | ||
- | break; | ||
- | case 15: | ||
- | System.out.println(" | ||
- | break; | ||
- | ... | ||
- | | ||
- | System.out.println(" | ||
- | } | ||
- | </ | ||
- | |||
- | ==== 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 // | ||
- | * 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**, | ||
- | ===== 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++){ | ||
- | | ||
- | } | ||
- | </ | ||
- | |||
- | ====Funcionamiento==== | ||
- | * La primera ejecución del bucle ejecuta la inicialización: | ||
- | - Se evalua la condición la condición: **i < 5** | ||
- | - Si la condicion es // | ||
- | - 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: | ||
- | |||
- | ===== 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)