Saltar navegación

Condicionales - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 9 de octubre de 2023 por Stefano C.

15 visualizaciones

Descargar la transcripción

Vale, estoy registrando, por lo tanto, todo lo que digáis implica que autorizáis que vuestra voz sea grabada 00:00:00
Y vamos a empezar hoy con estructuras de control, ¿vale? 00:00:07
Que son las estructuras de control 00:00:13
Sustancialmente, las estructuras de control son el nuevo paso, el nuevo avance 00:00:15
Que vamos a introducir al mundo de Java, al mundo de la programación 00:00:22
para por un lado complicarlo y por otro lado permitir hacer cosas mucho más avanzadas. 00:00:26
El primer elemento, la primera estructura que vamos a ver que será el IF 00:00:34
es muy parecido a lo que hemos hecho con el operador ternario, ¿vale? 00:00:39
Por favor, con el operador ternario, ¿vale? 00:00:47
Por lo tanto, algunas cosas os sonarán. 00:00:51
Solo que el IF es un poquito más potente con respecto al operador ternario básico, ¿vale? 00:00:54
Operador ternario básico, os recuerdo que al fin y al cabo es un operador, o sea que al final devuelve un resultado, una expresión, ¿vale? 00:01:00
Y además teníais dos opciones, o devuelves esto o devuelves esto de aquí, en base a una condición, pero las dos ramas tenían que tener el mismo tipo, ¿vale? 00:01:09
Si no tenía algún tipo de problemas, el IF veremos que es un poquito más potente, ¿vale? 00:01:18
¿Qué son las estructuras de controlo? 00:01:22
Son elementos del lenguaje que nos permiten romper el flujo lógico de ejecución de instrucciones 00:01:25
¿Vale? 00:01:30
Hasta ahora, nosotros estamos acostumbrados a que empiezo desde la primera sentencia 00:01:31
El primer comando de mi programa Java 00:01:37
Y voy ejecutando una línea, otra línea, otra línea, otra instrucción, otra instrucción, otra instrucción 00:01:42
De forma secuencial 00:01:47
Nosotros lo que hemos visto hasta ahora son bloques secuenciales de código 00:01:49
Ahora la idea es que introduzcamos algunas estructuras, algunos comandos, algunas palabras mágicas 00:01:55
Que lo que nos hacen es decir, vale, no sigas la secuencia desde arriba abajo siempre 00:02:04
En determinadas circunstancias te puedes saltar un trozo de código 00:02:12
Puedes hacer una parte pero no otra 00:02:17
O puedes volver a rehacer el mismo trozo de código 00:02:20
Una y otra vez y otra vez y otra vez 00:02:24
¿Vale? 00:02:26
Entonces también hay la posibilidad de 00:02:27
Desde aquí salta a otro trozo de código que está escrito en otro lado 00:02:30
Ejecuta ese trozo de código 00:02:35
Y luego vuelve desde donde había saltado 00:02:36
¿Vale? 00:02:39
Hay varias opciones que me permiten 00:02:40
En vez de ser lineal, de ser secuencial en mis programas 00:02:43
Romper cuál es el flujo lógico de esto va detrás de eso 00:02:47
Y hacer cosas distintas, ¿vale? 00:02:51
Por ahora no sabemos cuáles son y por lo tanto lo vemos 00:02:55
El flujo de ejecución sería el orden con el que se ejecutan los determinados conjuntos de instrucciones o sentencias 00:02:58
Y la idea de romper ese flujo de información quiere decir que estoy rompiendo el orden, ¿vale? 00:03:05
Ya lo que está escrito se ejecuta siempre en orden, pero cuando hay estas estructuras, pues ese orden se cambia, ¿vale? 00:03:10
Hay un orden un poquito distinto. 00:03:17
Vale, flujo normal es de arriba abajo y de izquierda a derecha, ¿vale? 00:03:21
Entonces, existen tres tipos, existen más, ¿vale? 00:03:25
Pero por ahora nosotros trabajamos con tres tipos de sentencias de control, ¿vale? 00:03:29
Lo que son los condicionales, lo que son las sentencias de control iterativas y lo que son los llamados a métodos, vale 00:03:33
Los condicionales son el if, vale, el if que nosotros ahora vamos a aprender es parecido a lo que hemos visto del operador ternario, vale 00:03:42
Y es un condicional, en base a una condición ejecuto un código o no lo ejecuto, vale 00:03:54
En su forma más básica 00:04:02
Y luego está la forma un poquito más avanzada 00:04:04
Que es el if-else 00:04:07
Que es, si la condición es verdadera 00:04:07
Ejecuto un determinado código 00:04:10
Si es falsa, ejecuto un código distinto 00:04:12
¿Vale? 00:04:15
También existe otro condicional 00:04:17
Que es el switch 00:04:19
Que lo veremos 00:04:20
¿Vale? 00:04:21
Que es comparar un cierto valor 00:04:22
O sea, una variable 00:04:25
Con muchos valores posibles 00:04:27
¿Vale? 00:04:29
Imaginaos que yo tenga un int 00:04:30
Y diga, si este x es 1 00:04:32
Hace esta cosa, si x es 2 00:04:35
Hace esta otra cosa, si x es 3 00:04:36
Hace esta otra cosa, como si se fuera un if 00:04:38
Pero multivalor 00:04:40
Multiopción 00:04:43
¿Sí? 00:04:44
La verdad es que if switch 00:04:45
Y if else 00:04:49
Son exactamente iguales 00:04:50
Son estructuras 00:04:53
Condicionales 00:04:54
Todo lo que se hace con un switch 00:04:55
Se puede hacer con un if, todo lo que se hace con un if 00:04:58
Se puede hacer con un switch 00:05:00
La idea es que 00:05:02
En determinados casos 00:05:04
Uno de estos es 00:05:06
Más cómodo que el otro 00:05:08
Y por lo tanto nosotros aprenderemos 00:05:10
Cuando usamos uno y cuando usamos el otro 00:05:12
Pero eso no quita que 00:05:14
Lo que en realidad necesitamos 00:05:16
Es lo que se llama un condicional 00:05:19
Un método 00:05:21
Un mecanismo 00:05:24
Una herramienta 00:05:27
Que lo que me permite hacer es 00:05:28
Decidir si un trozo de código se puede ejecutar 00:05:30
O no 00:05:32
Con eso es suficiente 00:05:33
Hay lenguajes que me proporcionan 00:05:34
Varios tipos de condicionales 00:05:38
Hay lenguajes que me proporcionan menos tipos de condicionales 00:05:39
Pero me da igual con que se pueda ejecutar 00:05:42
Un condicional 00:05:44
Pues ya puedo hacer todos los programas 00:05:45
Que podría hacer con otros programas 00:05:48
Con otros lenguajes que a lo mejor me dan más condicionales 00:05:50
Pero lo que nos interesa 00:05:53
Es la estructura de control 00:05:54
Esta que me permite decir 00:05:56
Si una condición es válida ejecuta ese trozo 00:05:57
Si no, no 00:05:59
Los iterativos 00:06:00
Que son el while, el do while, el for 00:06:03
¿Vale? 00:06:06
Que son varias estructuras distintas 00:06:06
Y misma cosa 00:06:09
¿Vale? 00:06:11
Lo que permiten hacer los iterativos es 00:06:12
Repetir un trozo de código 00:06:14
Un bloque de código 00:06:16
Una y otra vez, y otra vez, y otra vez 00:06:18
Mientras 00:06:20
While 00:06:21
Una condición es verdadera 00:06:22
Yo tendré while y una condición 00:06:24
Y mientras esta condición se permanezca como verdadera 00:06:28
Yo seguiré ejecutando el bloque que viene a continuación 00:06:32
Una y otra vez y otra vez 00:06:35
Cuando lo acabo, empiezo desde el principio 00:06:37
Cuando lo acabo, empiezo desde el principio 00:06:39
Cada vez que empiezo otra vez 00:06:41
Vuelvo a comprobar que la condición que he puesto sea verdadera 00:06:43
Si sigue verdadera, lo ejecuto otra vez 00:06:47
Si no, no 00:06:49
¿Vale? 00:06:50
El do while, lo mismo 00:06:52
¿Sí? 00:06:53
Con un matiz que una vez siempre lo ejecuto 00:06:54
Y luego chequeo si es verdadero o falso 00:06:57
Mientras aquí, si fuera falsa la condición 00:06:59
No lo ejecutaría nunca 00:07:02
Y el for es más de lo mismo 00:07:03
Pero normalmente se suele utilizar cuando 00:07:07
Sabemos cuantos ciclos quiero hacer 00:07:10
En plan, quiero hacer 10 veces este ciclo 00:07:13
Pues uso más un for que un while 00:07:15
Aún así, lo veremos con detalle más adelante 00:07:17
Aún así, si yo tuviera solo el while 00:07:21
Puedo hacer todo 00:07:24
Me interesa 00:07:25
Una sentencia de control iterativa 00:07:27
Con el for se puede hacer 00:07:32
Todo lo que hace el while 00:07:34
Y con el while se puede hacer todo lo que hace el for 00:07:35
Eso es indiferente 00:07:37
Simplemente que en determinados casos 00:07:39
El for es mucho más cómodo 00:07:41
Y en determinados otros casos el while es mucho más cómodo 00:07:43
Entonces tengo las dos opciones 00:07:46
Y la llamada 00:07:47
SamMethods es lo que me permite 00:07:49
Saltar desde 00:07:51
El punto donde estoy 00:07:53
a otro trozo de código marcado 00:07:55
con un nombre, lo que será un método 00:07:57
¿vale? ejecutar ese 00:07:59
trozo de código y volver a donde 00:08:01
estaba antes de llamar este 00:08:03
método, vosotros habéis visto un ejemplo 00:08:05
con por ejemplo el println 00:08:07
cuando vosotros hacéis system.auto.println 00:08:08
lo que hace vuestro código 00:08:11
es pararse allí 00:08:13
ejecutar un código que está escrito 00:08:14
en otro lado, que es el método 00:08:17
println que no habéis escrito vosotros, que nos han 00:08:18
dado, ya ha hecho 00:08:21
quien sabe quien, ¿vale? 00:08:22
Una vez ejecutado ese código allí 00:08:24
Que imprime algo en pantalla 00:08:26
Vuelve el control 00:08:29
A mi secuencia 00:08:31
De instrucciones y se ejecuta 00:08:33
Justo la 00:08:35
La sentencia después 00:08:36
¿Vale? Cuando nosotros hacemos 00:08:39
System.println 00:08:40
Dame un número y luego leemos un número 00:08:41
Ese println es un método 00:08:45
Que está escrito en otro lado que se ejecutará 00:08:47
Por otro lado y luego 00:08:49
El control vuelve a mi programa 00:08:50
Y pasa al scan que ejecuta otro método 00:08:52
También el scan.nexint 00:08:55
Es otra cosa más 00:08:57
Igual, ¿vale? 00:08:58
Yo no lo he escrito, ¿qué hace el nexint? 00:08:59
El nexint es una llamada 00:09:02
A un método 00:09:04
Scan.nexint 00:09:05
Como aquí, objeto.metodo 00:09:08
Y esto me permite ejecutar 00:09:10
Código de otro lado y lo vuelve 00:09:12
¿Sí? 00:09:14
Entonces, estas tres cosas 00:09:16
Lo que tienen en común 00:09:18
Es que ahora, en vez de ejecutar 00:09:19
Uno tras otro 00:09:22
Todos los comandos que yo tengo 00:09:24
Puedo cambiar el orden 00:09:26
Con que se ejecutan 00:09:28
¿Vale? En el caso del if 00:09:30
Puedo decidir si un trozo, si un bloque 00:09:32
Se ejecuta o no 00:09:34
En el caso de las iterativas, puedo decir que un bloque 00:09:35
Se ejecute varias veces 00:09:38
Y en el caso de las llamadas métodos, puedo decir 00:09:40
Cuando llegas a este punto, ejecuta 00:09:42
Un trozo de código que está en otro lado 00:09:44
Y luego vuelve 00:09:46
¿Dudas? 00:09:47
Entonces 00:09:54
esta es el if 00:09:54
¿vale? el if existe 00:09:56
en dos formados 00:09:59
el if a secas y el if else 00:10:00
¿vale? en algunos programas 00:10:03
en algún lenguaje de programación 00:10:05
es conocido también como 00:10:06
if then else 00:10:07
si, entonces 00:10:10
y si no 00:10:12
¿vale? pero por ejemplo en java 00:10:13
el then no se usa 00:10:16
en lenguajes viejos si que había que escribir 00:10:17
también then 00:10:20
Entonces, miramos antes el IFASECAS 00:10:20
Aquí viene mi flujo de información normal de ejecución 00:10:28
Y llega una condición 00:10:34
Si esta condición es verdadera 00:10:36
Entonces se ejecuta lo que está en este bloque de aquí 00:10:39
Todas las instrucciones que están aquí se van a ejecutar 00:10:42
Si es falsa, me salto este bloque y sigo adelante 00:10:46
En los dos casos seguiré adelante haciendo las cosas que vienen después, pero sostancialmente me está diciendo que si esta condición es verdadera, entonces se ejecutará también este bloque y si no, no. 00:10:50
¿Sí? ¿Dudas? 00:11:03
En el caso del if-else, en vez tengo dos bloques separados y ejecutaré o uno o el otro en base a si la condición es verdadera o falsa. 00:11:07
Y esto nos suena muchísimo a lo que ya hemos hecho, al operador ternario, ¿vale? 00:11:19
Si la operación, si la condición es verdadera, entonces ejecuta el bloque a la izquierda, 00:11:25
si el rango sigue hacia adelante, si la condición es falsa, ejecutarás el bloque a la derecha y sigue hacia adelante. 00:11:30
¿Qué diferencia fundamental hay entre el IF y el operador ternario? 00:11:38
No tiene que mostrar un tipo de datos 00:11:44
00:11:57
¿Qué más? 00:11:57
¿Qué? 00:12:00
Estos son bloques de instrucciones 00:12:07
Aquí no va una instrucción 00:12:09
O una expresión 00:12:11
¿Vale? 00:12:13
En el ternario estaba la condición 00:12:14
Y luego la rama verdadera 00:12:18
Y la rama falsa eran expresiones 00:12:20
Podía poner expresiones booleanas 00:12:22
Podría poner expresiones numéricas 00:12:24
Pero eran expresiones, era un cálculo 00:12:26
Y de allí sacaba un valor 00:12:28
Y ese es el valor que devolvía el operador 00:12:29
Es una operación al fin y al cabo 00:12:31
Como la suma, 5 más 3 te devuelve 8 00:12:33
Y ya está 00:12:35
Pues el operador ternario es una cosa compleja 00:12:36
Pero te devuelve 5 o te devuelve 7 00:12:39
O te devuelve válido 00:12:42
O te devuelve no válido 00:12:44
¿Sí? 00:12:46
Sin embargo, el IF 00:12:47
Es una versión más potente 00:12:48
De esa idea 00:12:52
¿Vale? Yo no es que tengo que aquí en estos bloques hacer solo una sentencia, hacer solo una operación 00:12:52
¿Vale? Yo aquí en estos bloques puedo hacer un programa entero si quiero 00:12:58
Yo puedo hacer que aquí al principio esta condición sea un menú donde pida al usuario 00:13:03
¿Qué quieres hacer? ¿Quieres jugar a este juego o jugar a este otro juego? 00:13:09
Y si tú eliges uno, pues ejecutará el juego a la izquierda 00:13:13
Y si tú eliges dos, ejecutará el juego a la derecha 00:13:18
Y es un programa entero el bloque del I 00:13:21
¿Sí? 00:13:23
O no lo sé 00:13:25
Lo que nos ocurre, ¿vale? 00:13:27
Tened en cuenta que hay estas dos versiones 00:13:30
Que son iguales 00:13:33
Porque si yo pillo el else 00:13:34
En el bloque de la derecha 00:13:36
Pongo nada 00:13:38
Pues estoy haciendo esto 00:13:39
Estoy haciendo lo que viene a la izquierda 00:13:40
¿Sí? 00:13:43
Me acuerdo que si este bloque es paréntesis 00:13:44
Llave abierta, llave cerrada 00:13:47
Pues este se está portando 00:13:49
Exactamente como este de aquí 00:13:51
Entonces, en el caso en que yo tenga que hacer 00:13:52
Dos cosas distintas, si la condición es verdadera 00:13:54
O falsa, pues tengo leafels 00:13:57
Normalmente, si yo digo 00:13:59
Simplemente que si la condición es verdadera 00:14:01
Entonces se joda algo, y si no, no hagas nada 00:14:03
Pues esto de aquí 00:14:05
O uso este con un bloque vacío 00:14:06
Pero es más feo 00:14:09
00:14:10
En el leafels solo puedes hacer dos cosas 00:14:11
Por ejemplo, en las notas 00:14:14
La condición es única 00:14:16
Ahora, nadie te prohíbe 00:14:33
Dentro de un bloque 00:14:36
De poner otro if 00:14:37
Entonces 00:14:39
Empiezas a anidar if 00:14:40
Hacer if en cascada 00:14:43
Un if dentro de otro if dentro de otro if 00:14:45
Que es parecida a la idea que hemos hecho nosotros 00:14:47
Cuando metíamos en una de las ramas 00:14:49
De los 00:14:51
De los operadores ternarios 00:14:52
Otro operador ternario 00:14:54
¿Sí? 00:14:56
Hasta un cierto nivel 00:15:00
¿Vale? 00:15:01
Se suele aconsejar que no haya 00:15:02
Demasiado anidación de un if 00:15:05
Dentro de un if, dentro de un if, dentro de un if 00:15:07
También porque, y lo veréis con la experiencia 00:15:09
Cuando llegáis a hacer 00:15:11
demasiados if uno dentro de otro 00:15:13
es que os estáis equivocando 00:15:15
y la solución va por otro lado 00:15:17
¿vale? pero aún así 00:15:18
que se pueda poner if dentro de if 00:15:21
sí, se hace 00:15:23
y que nosotros lo haremos sobre todo en los primeros ejercicios 00:15:24
que serán ejercicios de if 00:15:27
¿vale? entonces sí que habrá 00:15:28
como no podemos utilizar 00:15:31
otros mecanismos 00:15:33
y otras herramientas 00:15:35
porque todavía no las hemos visto 00:15:37
pues entonces nos saldrán monstruos 00:15:38
que por ahora son aceptables 00:15:41
Y dentro de un rato veremos que no 00:15:43
Que hay soluciones más 00:15:45
Más elegantes 00:15:46
¿Más dudas? 00:15:49
00:15:51
No, cuando es falso sigue adelante 00:15:51
Aquí no estamos en la iterativa 00:15:59
Aquí no repetimos código 00:16:04
Aquí es una condicional 00:16:05
En base a una condición 00:16:07
O hago una cosa o hago otra 00:16:09
Que podría ser no hago nada 00:16:11
¿Sí? 00:16:13
Pero es condición y me permite elegir, ¿hace esto o hace esto? 00:16:15
Con el if no, en la estructura que estamos viendo ahora, ¿cuál estructura me permitiría volver a hacer el mismo? 00:16:23
La iterativa, que todavía no la he visto, ¿vale? 00:16:37
Con un while, yo puedo decir que cuando llegue a este punto, pues vuelva arriba mientras una condición sea verdadera. 00:16:39
Ejemplo de if. 00:16:48
¿Vale? Entonces, tengo una variable x que vale 5, if, ¿vale? 00:16:50
Palabra reservada, que no está diciendo un sí, paréntesis, que dice que aquí va la condición, ¿vale? 00:17:00
La condición va entre paréntesis después del if. 00:17:06
Si x es menor que 5, pues entonces escribe esta cosa aquí, punto y coma. 00:17:09
System.org.lf, ¿vale? 00:17:16
¿Qué escribe este código de aquí? 00:17:19
fin. ¿Por qué? Porque el bloque del if es desde aquí hasta aquí. O sea, solo la primera 00:17:22
línea. Entonces, si esta condición es verdadera, me escribe menor que fin. Y luego, en cualquier 00:17:37
caso, me escribe fin 00:17:45
esto 00:17:47
es la izquierda o la derecha? 00:17:49
azul, vale? 00:17:54
es un if 00:17:57
con solo 00:17:58
si es verdadero o azal 00:17:59
nosotros hemos dicho 00:18:00
que aquí en el if 00:18:05
lo que puede ir es un bloque 00:18:07
de instrucciones 00:18:09
un bloque, lo vimos cuando vimos 00:18:10
El ámbito de una variable 00:18:13
¿Os acordáis? 00:18:17
Es un trozo de código 00:18:18
Una serie de instrucciones 00:18:20
Que están delineadas 00:18:22
Que están enmarcadas 00:18:24
Entre una llave y otra llave 00:18:26
¿Vale? 00:18:27
Entonces en este caso de aquí 00:18:29
Por ejemplo yo tengo 00:18:30
Si esta condición es verdadera 00:18:31
X es menor que 6 00:18:34
Entonces ejecuta todas estas instrucciones de aquí 00:18:35
Ejecuta este bloque 00:18:39
¿Si? 00:18:41
Cuidado, esto es correcto, pero si no pongo las paréntesis, solo ejecuta, o sea, el bloque es una sola instrucción, ¿vale? 00:18:43
Entonces esta, esta no está en el if, la que pone fin no está dentro del if, es después del if, la que pone fin está aquí, aquí donde la flecha, ¿vale? 00:18:55
Ya hemos hecho el if 00:19:08
Y hemos llegado aquí 00:19:09
La única parte que está dentro 00:19:10
Es esa de es menor que 5 00:19:12
Y está aquí en el bloque 00:19:14
¿Vale? 00:19:15
Entonces si esta es verdadero 00:19:17
Ejecuto esa 00:19:18
Y luego ejecuto aquí debajo 00:19:19
La fin 00:19:20
Si en vez de esta es falsa 00:19:21
Me salto 00:19:23
Ejecutar esta 00:19:24
Y va a dar 00:19:25
Esquivo fin 00:19:26
O sea que 00:19:27
En este caso de aquí 00:19:27
Fin se ejecuta siempre 00:19:29
De hecho lo pone 00:19:30
¿Sí? 00:19:31
Si pero yo quiero ejecutar 00:19:33
Si esta 00:19:36
Si la condición es verdadera 00:19:36
Más de una sentencia 00:19:37
Más de una 00:19:40
Instrucción, pues entonces 00:19:41
Tengo que marcar que si esto 00:19:43
Es verdadero, haz todo esto 00:19:45
Entonces sí que pongo las llaves 00:19:48
¿Vale? Consejo mío 00:19:49
Poned las llaves aquí 00:19:52
También, siempre 00:19:54
¿Vale? Asumid 00:19:55
Que la estructura 00:19:57
De un if, paréntesis 00:19:59
Condición, paréntesis, llave 00:20:01
Bloque, llave 00:20:03
Siempre, hasta si es solo una 00:20:05
Solo una condición, hasta si no hay condición 00:20:07
Ya, o sea, si no hay sentencias 00:20:09
¿Vale? Llave, cierre y llave 00:20:11
¿Está? Entonces, ¿qué pondría 00:20:13
Este de aquí? Pues, como 00:20:17
X es menor que 6, porque X es 00:20:19
Igual a 5, escribiría resultado 00:20:21
Que es esta aquí, escribiría 00:20:23
Menor que 6, y escribiría 00:20:25
Fin, ¿sí? 00:20:27
Claro, o sea, y fin, este ya fuera del hit 00:20:31
Porque se sale del corchete 00:20:33
Este y, de hecho 00:20:34
Si yo pusiera que X es 10 00:20:37
¿Qué escribiría? 00:20:39
Solo fi, porque 10 no es menor que 6, me salto todo el bloque, escribo esto. 00:20:41
¿Dudas? 00:20:48
No, porque está dentro del bloque. 00:20:54
Entonces, yo esto lo ejecuto solo si x es menor que 6. 00:20:58
Y en este caso x es menor que 6, por lo tanto ejecuto estos dos. 00:21:01
Si yo tuviera x es igual a 10, como 10 no es menor que 6, saltaría todo el bloque, 00:21:04
Escribiría solo fin 00:21:10
O sea, no escribiría ni resultado ni menor que 6 00:21:11
Es solo para que ponga 2 00:21:14
Y aquí podéis hacer 00:21:22
Todo lo que da la gana 00:21:24
Aquí podéis leer una letra 00:21:25
Podéis leer de teclado 00:21:28
Podéis escribir en pantalla 00:21:29
Podéis hacer sumas 00:21:31
Podéis utilizar operador ternario 00:21:32
Podéis hacer lo que os da la gana 00:21:35
Dentro de un bloque 00:21:37
Es un bloque 00:21:37
Es la parte del programa 00:21:38
Que tienes que ejecutar 00:21:44
Cuando esta condición es verdadera 00:21:45
Si yo creo una variable 00:21:47
Dentro del bloque if 00:21:58
Fuera del bloque if 00:22:00
No se ve esa variable 00:22:02
Porque es el ámbito de la variable 00:22:04
Y si yo quiero verla fuera 00:22:07
Pues la declaro antes del if 00:22:09
La actualizo dentro del if 00:22:11
Y fuera sigo viéndola 00:22:14
Porque sigue existiendo 00:22:16
Como está aquí 00:22:17
Fijaos también que 00:22:19
Bueno, aquí no la uso 00:22:22
Si la variable la creo fuera 00:22:23
Mucho del if 00:22:26
Sí, porque si la creo 00:22:26
O sea, el bloque este allí del if 00:22:29
Está incluido en el bloque más grande 00:22:32
Donde he declarado esta 00:22:34
Sí, por lo tanto 00:22:35
El ámbito de la variable incluye también el if 00:22:38
Más preguntas 00:22:40
¿Qué pasaría 00:22:41
Si no pusiera estas dos 00:22:51
ya ves 00:22:53
¿qué escribe? 00:22:55
no, escribiría 00:23:00
resultado menor que 6 fin 00:23:02
pero si pusiera 00:23:04
x igual a 10, ¿qué escribiría? 00:23:06
menor que 6 fin 00:23:09
porque ahora if 00:23:11
solo sería la primera 00:23:14
sentencia, entonces esta se la salta 00:23:15
pero esta aquí la escribiría 00:23:18
¿Sí? Entonces cuidado con 00:23:20
Lo que hacéis con las 00:23:23
Pero si os acostumbráis a 00:23:25
Poner llaves y pensar 00:23:28
Que todo lo que tengo que hacer si este es verdadero 00:23:30
Lo pongo aquí dentro y ya está, ningún problema 00:23:32
Más ejemplo 00:23:34
Este es un ejemplo 00:23:36
De Ifells 00:23:38
Si x 00:23:39
Es menor que 5 00:23:42
Entonces ejecuta 00:23:44
Este bloque de aquí, veis que es un bloque 00:23:46
¿Ok? 00:23:48
Si no 00:23:49
Ejecuta este bloque de aquí 00:23:51
Y luego ejecuta esto 00:23:53
00:23:57
00:23:58
Claro, esta es una sentencia 00:24:01
La sentencia 00:24:06
Exactamente como antes, como se escribía de afuera 00:24:09
De hecho tú has escrito siempre en un bloque 00:24:11
Porque tú pones 00:24:13
Public static void main string 00:24:15
Y abres una llave 00:24:17
Y allí pones punto y coma como te haga gana 00:24:18
¿Sí? 00:24:21
Fijaos que el if por sí mismo 00:24:24
No tiene un punto y coma al final 00:24:26
Porque si tú lo piensas así 00:24:29
Este es el bloque, luego está el se 00:24:31
Y luego este bloque, aquí iría un punto y coma 00:24:33
Pero no, ¿vale? 00:24:35
El if es una sentencia de comando 00:24:37
Simplemente que dice por un lado o por el otro 00:24:38
No hace falta 00:24:40
Si os olvidáis y ponéis un punto y coma aquí 00:24:40
No pasaría nada 00:24:43
Sería una instrucción vacía que no hace nada 00:24:43
Pero no hace falta 00:24:45
¿Sí? 00:24:47
Y entonces 00:24:48
Si aquí yo pongo x igual a 5 00:24:52
Como x 00:24:54
No es 5, no es menor que 5 00:24:56
Pues entonces ejecutaría 00:24:58
La rama else 00:25:00
Y entonces me escribiría mayor o igual que 5 00:25:00
Y luego 00:25:03
Acaba el if y me escribe 00:25:05
Fin 00:25:08
Puede haber el if 00:25:12
Pero 00:25:14
Por ahora pensarlo con esto 00:25:15
Si quiero hacer varios else 00:25:18
Pues en el else 00:25:20
Pongo e if no sé qué no sé cuánto 00:25:21
Else no sé qué no sé cuánto 00:25:24
¿Tiene sentido que haya varios else? 00:25:25
Yo te digo 00:25:31
Si x es menor que 5 hace esto 00:25:32
Si no esto 00:25:34
Y si no este otro 00:25:35
¿Tiene sentido? 00:25:37
Si no a qué 00:25:38
O sea, aquí hay una condición que puede ser o verdadero o falso 00:25:39
O esto, si no, esto 00:25:42
No puede haber un otro y si, si no 00:25:45
No sé si me explico 00:25:48
Lo que sí puede hacer es 00:25:49
Si x es menor que 5, hace esto 00:25:51
Y si no, si x es igual a 5 00:25:53
Hace esto 00:25:57
Y si no a todos esto, pues hace otra cosa 00:25:57
Y eso se puede hacer con 00:26:00
Otro if o con el else if 00:26:04
Es sustancialmente lo mismo 00:26:07
Else 00:26:08
El ese se puede poner en esa línea de arriba 00:26:09
O tiene que ir abajo 00:26:14
Si yo empecé diciendo 00:26:15
Si no, hace esto 00:26:18
¿Qué tiene sentido? 00:26:20
Si lo lees de izquierda a derecha 00:26:22
El if y lees esto 00:26:24
El el se puede poner ahí 00:26:26
En la línea de arriba 00:26:28
Pero detrás del corchete 00:26:31
¿Aquí? 00:26:32
¿Dónde te da la gana? 00:26:34
Normalmente 00:26:36
Por claridad 00:26:37
Se hace una cosa así 00:26:40
El if y luego todo lo que está en el if 00:26:41
Intentado a la derecha 00:26:45
Luego el else al mismo nivel del if 00:26:46
Y todo el bloque del else 00:26:49
Movida hacia la derecha 00:26:51
Con sangría 00:26:53
Sangrilla 00:26:54
¿Sí? 00:26:55
Otro ejemplo de if, ¿vale? 00:27:00
¿Qué hace esto? 00:27:03
Lo que acabamos de decir, ¿no? 00:27:06
Si x es menor que 5, este bloque 00:27:15
Si no 00:27:17
Y aquí en vez de un bloque 00:27:19
He puesto una sola instrucción 00:27:21
¿Y qué instrucción es? Un if 00:27:23
¿Vale? Entonces, toda la parte roja 00:27:24
Si esto es un rojo 00:27:27
¿Vale? 00:27:29
Estaría dentro como bloque del else 00:27:30
Como única instrucción del else 00:27:33
¿Vale? ¿Y qué hago allí? 00:27:35
Pues otro if 00:27:37
Si es igual a 5, escribe que es igual a 5 00:27:38
Y si no 00:27:41
Este si no se ejecutará 00:27:42
Si y solo si 00:27:44
Esto es falso y esto es falso 00:27:45
¿Vale? 00:27:48
Porque está dentro del else 00:27:50
Yo nunca llegaré a la parte roja 00:27:52
Si la parte azul es verdadera 00:27:56
Si la condición azul es verdadera 00:27:59
¿Vale? 00:28:01
Entonces para llegar a mayor que 5 00:28:01
Tiene que ser que la condición azul sea falsa 00:28:04
Entonces me voy a la rama else 00:28:07
Y que dentro de 4 otro if 00:28:08
Y que esta condición, la condición roja 00:28:10
También sea falsa 00:28:12
Y entonces me voy a este else 00:28:14
Y aquí explico 00:28:15
00:28:16
Ahí 00:28:19
Si quisiera esto 00:28:26
Toda la línea 00:28:30
Pero entonces 00:28:34
Si pusiera así 00:28:37
No puedo dar dos alternativas 00:28:38
Negativas a la misma condición 00:28:43
Ponme que has quitado esto 00:28:45
Tienes dos sets 00:28:48
¿No? 00:28:49
Ok, este es verdadero 00:28:50
Ejecuto esto 00:28:51
Este es falso 00:28:52
¿Cuál hago? ¿Esto o este? 00:28:53
Acordaros que 00:28:57
Estamos en booleano 00:28:58
Verdadero o falso, no hay un tercer valor 00:28:59
No tengo ni idea 00:29:01
Entonces no puedo poner dos else 00:29:02
A una misma condición 00:29:05
Es o esto o esto 00:29:06
Se acabó, no hay otra opción 00:29:08
Si yo quisiera 00:29:10
Imprimir estas dos a la vez 00:29:13
Pues quito esto, quito este else 00:29:15
Y como else digo que es igual a 5 00:29:16
Es mayor que 5 00:29:19
Eso no tiene sentido 00:29:20
En este ejercicio 00:29:23
¿Dudas? 00:29:25
Tened en cuenta que esto se ejecuta siempre 00:29:27
¿Vale? Y aquí había tres casos 00:29:29
Pongamos que esto sea cuatro 00:29:31
Pues entro aquí 00:29:33
Cuatro es menor que cinco 00:29:35
Sí, me escribe menor que cinco 00:29:37
Y sale del if azul 00:29:39
Que sería aquí 00:29:42
Esto no debería ser rojo 00:29:44
Sería, si está en punto alto 00:29:46
En fin, que está fuera del top 00:29:48
¿Vale? Y lo escribiría 00:29:50
Si yo pongo cinco 00:29:52
Pues cinco es menor que cinco 00:29:54
Falso, iría al else 00:29:56
Y se preguntaría, 5 es igual o igual a 5 00:29:58
Verdadero, entraría aquí dentro 00:30:00
Pone igual que 5 00:30:03
Y luego sale fuera 00:30:05
Escribe este 00:30:07
Y finalmente 00:30:07
Si fuera 6, x igual a 6 00:30:10
Pues entonces 6 es menor que 5 00:30:12
Falso, me voy al else azul 00:30:14
Que me dice, si 6 es igual a 5 00:30:16
Falso, me voy al else rojo 00:30:19
Escribo 00:30:22
Es mayor que 5 00:30:23
Y luego después escribo fin 00:30:24
Esto de aquí 00:30:26
Debería ser negro 00:30:30
Y esto de aquí negro 00:30:32
Para ser más claro 00:30:33
¿Lo veis? 00:30:35
Más claro así 00:30:57
¿O así? 00:30:59
¿Hace más claro? 00:31:04
Bastante más completo 00:31:08
Aquí yo veo los dos bloques 00:31:09
Verdadero y falso 00:31:16
De la primera condición 00:31:18
Y si entro en el falso veo 00:31:19
Verdadero o falso en la condición 00:31:22
¿Vale? Además fijaos que 00:31:23
Esto está todo alineado 00:31:26
Mientras lo que está dentro de un bloque 00:31:28
Está como empujado un poco a la derecha 00:31:30
Entonces veo fácilmente donde empieza 00:31:32
Y donde acaba el bloque, el C por ejemplo azul 00:31:34
Cosa que aquí 00:31:36
Me cuesta un poquito más 00:31:38
¿Sí? 00:31:40
Luego haremos ejemplos 00:31:43
¿Qué devuelve? 00:31:46
Yo escribo esto 00:31:51
¿Qué pasa? 00:32:13
¿Dónde está el problema aquí? 00:32:17
¿Es necesario el else? 00:32:22
¿Es necesario el else? 00:32:27
Pues ya está 00:32:30
¿Dónde está el problema aquí? 00:32:31
¿Cómo no? 00:32:44
Tiene un if 00:32:45
El problema aquí es 00:32:46
Porque yo entiendo que si es menor que 1 00:32:53
¿Vale? 00:32:55
Entonces aquí iría la instrucción de este if 00:32:57
Que es esta 00:33:00
¿Vale? 00:33:00
Entonces si he puesto dentro del if como instrucción 00:33:02
Un bloque con este if 00:33:04
Pero la pregunta es 00:33:06
¿Es este else? 00:33:08
¿Es el else de este if? 00:33:10
¿O es el else de este if? 00:33:13
Porque si 00:33:18
o sea, es 00:33:19
y fíjate que uno hace todo esto 00:33:23
¿por qué no? 00:33:26
de hecho lo hemos hecho 00:33:28
cuando hemos hecho esto 00:33:29
es y hemos puesto un if entero 00:33:31
¿por qué no? 00:33:33
esto es 00:33:38
por pantalla 00:33:39
no saldría nada 00:33:44
¿vale? 00:33:46
La que la sentencia if 00:33:46
Tiene dos formas, if e if else 00:33:48
¿Vale? Y cuando se mezclan ambas 00:33:51
No se puede saber a cuál de los dos 00:33:53
Se hace referencia 00:33:55
¿Vale? Aquí es un poco un caos 00:33:56
¿Cómo soluciona este caos? 00:33:59
Con las llaves 00:34:02
Por lo tanto, de aquí el consejo de antes 00:34:02
Usad siempre las llaves 00:34:05
Si yo pongo una llave aquí y una llave aquí 00:34:06
O sea, después de 00:34:09
De i menor que 1 00:34:11
Y al final del todo 00:34:13
Pues lo que estoy diciendo 00:34:14
Es que si este es verdadero 00:34:17
Haz todo lo que hay aquí 00:34:18
El else se refiere al segundo if 00:34:19
Si yo en vez de pongo 00:34:21
Una paréntesis aquí 00:34:24
Y luego otra paréntesis aquí 00:34:26
O sea una llave aquí 00:34:28
Estoy diciendo que si este es verdadero 00:34:29
Haz esta cosa de aquí 00:34:31
Y si no, haz esta otra cosa 00:34:32
¿Sí? 00:34:34
Entonces usad las llaves 00:34:37
¿Se pueden usar? 00:34:38
Sí, usadlas siempre 00:34:41
O sea evita problemas 00:34:42
¿Dudas? 00:34:44
¿El método main lo puedo meter dentro del main? 00:34:52
Todo esto va dentro del método main 00:34:57
Siempre nosotros escribimos dentro del main 00:34:59
Por ahora nosotros no sabemos 00:35:03
Escribir fuera del método main 00:35:05
Todo lo que hacemos es dentro del bloque main 00:35:07
Sí, pero 00:35:10
¿Por qué el método main? 00:35:11
No puede meter dos main 00:35:18
Por ahora 00:35:20
Olvida 00:35:22
Por ahora simplemente te escribes dentro del main 00:35:23
Todo lo que viene antes y después 00:35:27
Son cosas que tengo que escribir 00:35:29
Porque programación es un objeto 00:35:30
Pero por ahora no te interesa 00:35:32
Y escribes tu if allí dentro 00:35:34
Y esto es 00:35:36
La primera sentencia condicional 00:35:39
Que vamos a ver 00:35:43
Es un if 00:35:44
Si la condición es verdadera 00:35:45
Hace el primer bloque 00:35:48
Si no es verdadera 00:35:49
Hace el segundo bloque 00:35:50
Y luego sigas adelante 00:35:51
¿Dudas? 00:35:53
¿Qué puedo poner como condición? 00:35:58
No os lo digo 00:36:10
Buleano, ¿buleano qué? 00:36:11
Me falta una palabra antes de bulear 00:36:16
Exacto, una expresión buleana 00:36:18
¿Vale? 00:36:30
Es decir, todo lo que nosotros hemos visto 00:36:32
dentro del operador ternario, es decir, operadores de comparación, and, or, not, whatever, ¿vale? 00:36:34
Todas esas cosas de allí, puede ser una condición compleja cuanto os da la gana, 00:36:42
y grande cuanto os da la gana, que al final me dará un true o un false. 00:36:46
Entonces, efectivamente, allí dentro va un boolean, ¿sí? 00:36:52
Pero un boolean no es un poco limitante, es una expresión booleana, 00:36:55
una expresión compleja cuanto te da la gana, que cuando yo la resuelvo, 00:36:58
Me dará un valor de true o false 00:37:03
Si es true, hago esto 00:37:06
Si es false, hago esto 00:37:07
¿Dudas? 00:37:09
Se ha entendido muy bien el if 00:37:13
Ahora practicamos 00:37:15
Antes de ir a practicar con el if 00:37:17
Veamos la otra sentencia 00:37:26
Condicional que vamos a ver 00:37:29
Que es el switch 00:37:31
O switch case 00:37:32
Esta también es condicional 00:37:33
Porque dependiendo del valor de una cierta variable 00:37:36
Hago una cosa o hago otra 00:37:40
¿Vale? 00:37:43
O hago varias cosas 00:37:43
Ahora lo veremos 00:37:45
¿Vale? 00:37:46
Se puede hacer lo mismo que hace el switch 00:37:47
Con una serie de if 00:37:50
Uno dentro de otro, dentro de otro, dentro de otro, dentro de otro 00:37:51
¿Vale? 00:37:55
Imaginaos un menú textual 00:37:57
Algo que dice 00:38:00
Bienvenido a mi programa 00:38:02
Si quieres añadir un alumno 00:38:04
Pulse 1 si quieres borrar un alumno 00:38:06
Pulse 2 si quieres 00:38:09
Borrar todos los alumnos 00:38:10
Pulse 3 si quieres 00:38:13
Añadir una clase 00:38:15
Pulse 4 00:38:16
¿Cómo haría yo eso con if? 00:38:17
Sería varios if de 00:38:21
Si la variable que has leído 00:38:23
Es 1, entonces haz todo lo que sea al 1 00:38:25
Si no 00:38:28
Si la variable es 2 00:38:29
Haz todo lo que haría al 2 00:38:32
Si no 00:38:33
Si la variable es 3 00:38:34
¿Se entiende? 00:38:35
O sea que serían varios if uno dentro de otro 00:38:38
Dentro de otro, dentro de otro 00:38:40
Si yo tengo 25 opciones 00:38:41
Sería un problema 00:38:44
Y entonces en casos como estos 00:38:45
Donde yo tengo una variable 00:38:48
Y puede valer varias cosas 00:38:50
Y yo quiero hacer acciones distintas 00:38:53
Dependiendo de 00:38:55
Una cosa u otra 00:38:56
Uso el switch case 00:38:58
El switch case funciona así 00:39:00
Switch 00:39:02
Y aquí le pongo una variable 00:39:04
X, nombre, edad, lo que sea 00:39:06
¿Vale? 00:39:09
Funciona con tipos primitivos 00:39:10
¿Sí? 00:39:12
Y un bloque 00:39:14
¿Sí? 00:39:17
A partir de este bloque digo 00:39:20
¿Qué es valor 1? 00:39:21
Si esto vale 1, por ejemplo 00:39:24
¿Qué es 1? 00:39:27
O si esto es la letra A 00:39:28
¿Qué es A? 00:39:29
Entre ápices 00:39:30
O si esto... 00:39:31
No sé 00:39:34
Es un número, normalmente el número si char es suficiente, ¿vale? 00:39:34
Entonces, haz esta cosa aquí. 00:39:40
Si en vez es el caso que vale 2, haz esta cosa aquí. 00:39:45
Si es el caso que vale n, haz esta cosa aquí. 00:39:52
¿Sí? Es una situación como esta aquí. 00:39:56
Y aquí me pregunta, la variable que veo está aquí. 00:39:59
Vale 1, si es verdadero ejecuta esto. 00:40:02
La variable vale, si no es verdadero 00:40:06
Va a preguntar, vale 2 00:40:09
Vale el segundo valor que he puesto aquí 00:40:11
La B 00:40:13
O 2, o 37 00:40:14
O lo que sea, se entiende 00:40:17
Más o menos 00:40:19
Ahora, ¿qué es este break? 00:40:20
Este break 00:40:24
Me dice que si llega a un break 00:40:25
Dejo de ejecutar 00:40:27
Todo el resto de lo que viene debajo 00:40:29
Y me voy 00:40:31
Fuera del switch 00:40:33
Y sigue adelante 00:40:34
Break rompe este switch 00:40:36
Entro un break 00:40:39
Sigue adelante 00:40:41
Y si no pongo el break 00:40:42
Eso quiere decir que cuando 00:40:43
Por ejemplo, quitando el primer break 00:40:46
Si case vale el valor 1 00:40:48
Que por ejemplo es 1 00:40:51
Vale, ok, perfecto, es este de aquí 00:40:52
Ejecuto esta sentencia 00:40:54
Y también esta 00:40:56
Ejecuto no solo el caso 1 00:40:57
Sino todos los casos 00:41:01
A partir del que es verdadero 00:41:03
Para abajo 00:41:05
Hasta que encuentre un break 00:41:06
O hasta que se acabe 00:41:08
En determinados casos 00:41:10
Puede que esto me sirva 00:41:14
Si yo quiero que estos sean 00:41:15
Independientes uno de otro 00:41:18
Por cada uno de estos bloques 00:41:20
Pongo un break 00:41:22
Hace esto y luego ya está, se acabó 00:41:23
No hagas lo que habrías hecho 00:41:26
Si valías otro valor 00:41:28
Existe también 00:41:29
Una opción final 00:41:36
Que se pone al final 00:41:37
Que es la opción default 00:41:38
Esta es como un else 00:41:40
¿Vale? Es decir, tú compruebas 00:41:43
Si esta variable vale esto 00:41:45
O si vale esto, o si vale esto 00:41:47
Si no vale ninguno de estos 00:41:49
De aquí, pues entonces por defecto 00:41:51
Hace esta cosa aquí 00:41:53
¿Ve? 00:41:55
Que sería esto 00:41:58
Si encuentro el valor, intento hacerlos todos 00:42:00
Mas si encuentro un break, salgo 00:42:02
¿Ve? 00:42:04
Si no hubiese break, pues las haría todos 00:42:05
Si no encuentro ninguno 00:42:08
Son todos falsos, pues siempre 00:42:10
Hace esta cosa de aquí y luego sigue adelante 00:42:12
¿Lo veis? 00:42:14
Si no pongo el default 00:42:18
Cuando 00:42:20
Si son todas falsas, no hago nada 00:42:22
Y sigo adelante 00:42:24
Y aquí es de donde estos break 00:42:24
Llegan aquí 00:42:28
Y sigo adelante 00:42:28
Si en vez 00:42:30
He puesto el default 00:42:32
Si son todas falsas 00:42:35
Al final hago esto y sigo adelante 00:42:36
¿Sí? 00:42:38
Y si no he usado ningún break 00:42:40
Pues haría todos los verdes 00:42:42
Incluido este de aquí y sigo adelante 00:42:43
¿Sí? 00:42:45
Este es un ejemplo 00:42:49
Real 00:42:50
No se lee 00:42:51
Tengo una variable nota 00:42:52
Hago switch nota 00:43:01
¿Vale? 00:43:04
Entonces compruebo nota 00:43:05
¿Qué es 5? 00:43:06
O sea, si nota vale 5 00:43:08
Escribe aprobado 00:43:10
Break 00:43:11
Si es 6 00:43:13
Escribe bien 00:43:16
Si es 7 00:43:17
O si es 8 00:43:20
Porque aquí no he puesto break 00:43:22
Entonces, tanto si entraron en el 7 00:43:24
Como si entraron en el 8 00:43:26
Ejecutaría esto, que es notable 00:43:27
¿Sí? 00:43:30
Si es 9, sobresaliente 00:43:32
Si es 10, matrícula de honor 00:43:34
de honor y en 00:43:36
método default 00:43:38
pues suspenso, vale 00:43:40
como he puesto break aquí, pues esto me lo 00:43:42
escribe solo si es menos que 5 00:43:44
si es distinta de 00:43:46
los valores que he puesto aquí 00:43:48
no, aquí 00:43:49
lo está haciendo él, está haciendo un 00:43:55
igual igual 00:43:58
está haciendo un igual igual entre esto 00:43:58
y esto, pero porque el switch 00:44:02
se utiliza en casos de 00:44:04
en estos casos, no cuando tengo una variable 00:44:06
con una expresión compleja y quiero saber si sí o si no, sino que 00:44:10
tengo una variable que puede tener varios valores 00:44:14
y quiero hacer cosas distintas en base a este valor. El ejemplo 00:44:18
típico es un menú. Yo me hago una cosa así 00:44:22
con menú, si has pulsado 1, entonces llama el método 00:44:26
ejecuta1, si es 2, llama el método ejecuta2, o haz lo que debería 00:44:30
peden dos. Si esto no estuviera, él escribiría aprobado, luego bien y 00:44:34
seguiría hasta encontrar un break. Cuando encuentre un break, se va. 00:44:49
Si ha quitado este break de aquí y este lo ha dejado, se pararía aquí y 00:44:54
seguiría adelante, seguiría aquí, lo que hay aquí abajo, es como aquí, veis, como no he puesto un break aquí, que yo te de 7 o te de 8, lo que hará es empezar a ejecutar todo hasta encontrar un break, entonces tanto con 7 como con 8, me va a escribir notado, 00:45:00
Sí, el default siempre va al final 00:45:24
Es como el else 00:45:30
Tú pruebas todas estas cosas 00:45:32
Y en caso por defecto 00:45:34
De que esta cosa no está bien valida 00:45:35
Pues vas a hacer esto 00:45:37
Cerrarlo 00:45:37
No necesariamente 00:45:43
Porque como es la última cosa 00:45:46
Aunque hasta si no se pone break 00:45:48
Pues seguirá adelante y acaba 00:45:50
Si lo has puesto último 00:45:51
¿Más? 00:45:53
Acordaos con esto de break 00:45:56
Porque si se os olvida 00:46:00
Cuando entra en uno hace todo 00:46:01
Entonces a lo mejor no es lo que queréis 00:46:03
Si yo me hubiese olvidado 00:46:05
De poner los break 00:46:08
Al entrar por ejemplo aquí me habría puesto 00:46:09
Bien, notable, sobresaliente, antiguo honor, suspenso 00:46:11
Y esto es 00:46:14
Nosotros lo usaremos principalmente con enteros 00:46:25
O con 00:46:28
chara, chara, chara 00:46:29
¿vale? ya, ya, string 00:46:32
sufre 00:46:34
¿vale? casi, no lo sé 00:46:36
no lo he probado nunca, porque luego después 00:46:38
switch case se usa ahora 00:46:40
luego después se pierde un poco de 00:46:42
¿vale? pero 00:46:44
los string debería 00:46:46
comprobarlo, pero me da miedo 00:46:50
con los string 00:46:52
con doble anos tiene 00:46:53
poco sentido 00:46:56
Con decimales 00:46:57
También, tú puedes poner 00:46:59
Si es 7,5 00:47:01
Hace esto, si es 7,4 00:47:03
Pero como es un valor concreto 00:47:04
Exacto 00:47:06
Los enteros para valores 00:47:08
Exactos 00:47:10
Si tú has creado 00:47:11
Fuera del switch una variable 00:47:28
En todo el switch la puedes ver 00:47:29
Si tú has creado una variable 00:47:31
Dentro del switch, fuera del switch 00:47:34
No la puedes ver 00:47:36
Si tú al case 5 00:47:37
Has creado un bloque 00:47:39
Que se cierra aquí 00:47:41
¿Vale? 00:47:43
Y aquí dentro creas una variable 00:47:44
Esta no se ve en los otros bloques 00:47:46
Sería switch 00:47:49
Inicial 00:47:59
Case 00:48:01
Apóstrofe a apóstrofe 00:48:02
Haz algo 00:48:05
Case apóstrofe b a apóstrofe 00:48:05
Haz algo 00:48:08
Ten en cuenta que son mayúsculas y minúsculas 00:48:09
Asumamos que no 00:48:11
Si yo por ejemplo quisiera hacerlo 00:48:18
Case not case sensitive 00:48:21
Es decir, que me da igual mayúscula o minúscula 00:48:23
Lo podría hacer así 00:48:25
Case a mayúscula, case a minúscula 00:48:26
Haz lo mismo 00:48:29
Si quieres leer, si 00:48:31
Si no quieres leer, no 00:48:36
Si yo hago char 00:48:38
Iniciales igual a 00:48:42
Es que 00:48:44
Es otro tipo de problema 00:48:47
Está claro que si tú quieres hacer algo 00:48:50
Que funciona y que es el usuario 00:48:52
Que se vente allí a trabajar 00:48:54
Pues posiblemente tienes que dialogar con el usuario 00:48:55
¿Vale? Pero 00:48:57
Es independiente del switch 00:48:58
El switch funciona tanto con escáner como sin escáner 00:49:00
Tú me preguntas 00:49:03
¿Es indispensable usar escáner para hacer esto? 00:49:04
Pues no 00:49:07
Podría ser que esta nota 00:49:07
Sea leída como posición 00:49:10
en una string. Yo voy a hacer el charat 37, que es un simbolito y ese simbolito luego lo miro, ¿sabes? 00:49:13
Haremos ejemplo. No sé si hay algo más. Ejercicio 3.1, ¿sabes? Entonces aquí nos paramos, hemos 00:49:22
Autor/es:
Stefano Chiesa
Subido por:
Stefano C.
Licencia:
Reconocimiento
Visualizaciones:
15
Fecha:
9 de octubre de 2023 - 13:13
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
49′ 33″
Relación de aspecto:
4:3 Hasta 2009 fue el estándar utilizado en la televisión PAL; muchas pantallas de ordenador y televisores usan este estándar, erróneamente llamado cuadrado, cuando en la realidad es rectangular o wide.
Resolución:
960x720 píxeles
Tamaño:
122.84 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid