Herramientas de usuario

Herramientas del sitio


bloque2: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
bloque2:controlflujo [10/10/2018 15:41] – [El bucle Do-While] Fernando Valdeónbloque2:controlflujo [16/09/2024 20:53] (actual) – editor externo 127.0.0.1
Línea 3: Línea 3:
 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. 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 cuáles 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.+**Existen ciertas instrucciones que permiten al código tomar decisiones sobre qué instrucciones vamos a ejecutar y cuáles no**. Dicho de otro modo, pueden elegir un camino en la ejecución del programa (flujo de ejcución), descartando otro camino, todo ello basado en una condición.
  
 ===== La sentencia If ===== ===== La sentencia If =====
-{{ :bloque2:if_flow.png?130|}}+{{ :bloque2:if_flow.png?100|}}
 If (si, condicional) evalúa una expresión booleana (condición) y ejecuta un bloque de instrucciones si la condición es **true**. __Solo__ si la expresión booleana es //true//, se ejecutarán las instrucciones que indiquemos dentro del bloque //if//. If (si, condicional) evalúa una expresión booleana (condición) y ejecuta un bloque de instrucciones si la condición es **true**. __Solo__ si la expresión booleana es //true//, se ejecutarán las instrucciones que indiquemos dentro del bloque //if//.
  
Línea 59: Línea 59:
  
 ===== Ámbito de una variable ===== ===== Á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).+Las variables en Java pueden ser únicamente de dos tipos atendiendo a su ámbito: 
 +  * Variables Locales: Se declaran (crean) dentro de un método, o bloque { }. 
 +  * Variables de Clase: Se declaran en el bloque de la Clase de Java. Se verán mas adelante. 
 + 
 +El ámbito de una variable define su alcance de uso, o lo que es lo mismo, en que secciones (bloques { }) de código esa variable estará disponible. Fuera de este ámbito, una variable no podrá ser accedida (no existe).
  
 <code java> <code java>
Línea 105: Línea 109:
 ==== Funcionamiento ==== ==== Funcionamiento ====
   * Switch funciona con los tipos: ''int'', ''byte'', ''short'', ''char'' y ''String''.   * Switch funciona con los tipos: ''int'', ''byte'', ''short'', ''char'' y ''String''.
 +  * El valor de cada ''case '' debe ser del mismo tipo que la variable que usa el switch.
   * Puede haber tantos ''cases'' como se desee.   * Puede haber tantos ''cases'' como se desee.
-  * Cada //case// es seguido del valor a comparar (expresión literal del valor).+  * 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''.   * 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, pero si recomendable. Si un caso no tiene break, se ejecutarán todos los casos siguientes hasta encontrar un break.   * El uso del break no es obligatorio, pero si recomendable. Si un caso no tiene break, se ejecutarán todos los casos siguientes hasta encontrar un break.
Línea 123: Línea 128:
 ====Funcionamiento====  ====Funcionamiento==== 
   * La primera ejecución del bucle ejecuta la inicialización: ''int i = 0''. Solo la primera vez. Después:    * La primera ejecución del bucle ejecuta la inicialización: ''int i = 0''. Solo la primera vez. Después: 
-  - Se evalúa la condición la condición: ''i < 5''+  - Se evalúa la condición: ''i < 5''
   - Si la condición es ''true'' se ejecuta el código del bloque. Si es ''false'' termina el bucle y continua en la siguiente instrucción.   - Si la condición es ''true'' se ejecuta el código del bloque. Si es ''false'' termina el bucle y continua en la siguiente instrucción.
   - Después de ejecutar el código del bloque se realiza el incremento: ''i++''   - Después de ejecutar el código del bloque se realiza el incremento: ''i++''
Línea 130: Línea 135:
 La variable **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. La variable **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 =====+** Las instrucciones contenidas dentro bloque del for, no deben modificar nunca el valor de la variable de control (i). Si necesito que sea así, es que no necesito un bucle for, y debo usar otro bucle** 
 +===== El bucle While =====
 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; mientras esa condición sea verdadera, se ejecutará el código del bloque.  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; mientras esa condición sea verdadera, se ejecutará el código del bloque. 
  
-Funcionamiento:+====Funcionamiento====
   - Se evalúa la condición entre paréntesis ''cantidad > 2''   - Se evalúa la condición entre paréntesis ''cantidad > 2''
   - Si es ''true'' se ejecutan todas las instrucciones del bloque.   - Si es ''true'' se ejecutan todas las instrucciones del bloque.
Línea 159: Línea 165:
 </code> </code>
  
-** Este bucle es el único que lleva '';''después de la condición.+<nowiki>**</nowiki> Este bucle es el único que lleva '';'' después de la condición.
  
-Funcionamiento:+====Funcionamiento====
   - Se ejecuta el bloque de código.   - Se ejecuta el bloque de código.
   - Se evalúa la condición '' cantidad < 10''.   - Se evalúa la condición '' cantidad < 10''.
Línea 178: Línea 184:
   * Si el nº de repeticiones depende del código que contiene el bucle, pero debe ejecutarse al menos una vez: bucle ''do-while''   * Si el nº de repeticiones depende del código que contiene el bucle, pero debe ejecutarse al menos una vez: bucle ''do-while''
   * Si el nº de repeticiones depende del código que contiene el bucle, pero puede que no se repita ninguna: bucle ''while''   * Si el nº de repeticiones depende del código que contiene el bucle, pero puede que no se repita ninguna: bucle ''while''
 +
 +----
 +
 +{{ vimeo>299450152?medium }}
  
 ---- ----
 (c) {{date> %Y}} Fernando Valdeón (c) {{date> %Y}} Fernando Valdeón
bloque2/controlflujo.1539186069.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)