bloque3:controlflujo
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previa | |||
bloque3:controlflujo [15/02/2018 15:51] – [El bucle while] 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 ===== | ||
- | **REVISAR** | ||
- | Este tipo de bucle es el más sencillo de todos, tan solo necesita una condición booleana, que se evaluará antes de cada iteración, si esta condición es verdadera, se ejecuta el código del bloque. Mientras | ||
- | |||
- | <code java> | ||
- | while(condición){ | ||
- | | ||
- | } | ||
- | </ | ||
- | ===== El bucle Do-While ===== | ||
- | |||
- | ---- | ||
- | (c) {{date> %Y}} Fernando Valdeón |
bloque3/controlflujo.1518709861.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)