1 00:00:00,110 --> 00:00:06,889 Vale, vamos a recopilar las sentencias, la sintaxis de las sentencias de decisión que conocíamos. 2 00:00:06,889 --> 00:00:15,500 Recordad que estábamos con la sentencia Java de decisión. 3 00:00:17,949 --> 00:00:20,489 ¿Cuándo aplica esa sentencia? 4 00:00:20,870 --> 00:00:27,449 Pues esa sentencia aplica cuando mi programa puede que tiene dos caminos posibles. 5 00:00:27,589 --> 00:00:28,609 Tiene dos caminos posibles. 6 00:00:28,809 --> 00:00:30,329 O hace una cosa o hace la otra. 7 00:00:30,449 --> 00:00:31,390 Dos caminos posibles. 8 00:00:31,390 --> 00:00:35,450 O bien viene por aquí haciendo estas sentencias 9 00:00:35,450 --> 00:00:36,729 O bien viene por aquí 10 00:00:36,729 --> 00:00:38,090 Tiene dos caminos posibles 11 00:00:38,090 --> 00:00:40,950 Entonces un programa no puede hacer dos cosas 12 00:00:40,950 --> 00:00:43,070 O hace una o hace la otra 13 00:00:43,070 --> 00:00:45,109 Bueno puede hacer dos y las hace en secuencia 14 00:00:45,109 --> 00:00:45,850 Una detrás de otra 15 00:00:45,850 --> 00:00:49,570 Pero no es esta la situación que estamos representando 16 00:00:49,570 --> 00:00:51,229 Estamos representando 17 00:00:51,229 --> 00:00:52,549 La situación de que mi programa 18 00:00:52,549 --> 00:00:55,030 O bien hace esto o bien hace esto 19 00:00:55,030 --> 00:00:55,570 Otro 20 00:00:55,570 --> 00:00:58,509 En función de una condición 21 00:00:58,509 --> 00:00:59,909 Que pueda ser cierta o no 22 00:00:59,909 --> 00:01:06,159 Pues esta era la sentencia de decisión 23 00:01:06,159 --> 00:01:08,140 En función de una condición 24 00:01:08,140 --> 00:01:09,700 Hace una cosa o hace otra 25 00:01:09,700 --> 00:01:11,480 Vale 26 00:01:11,480 --> 00:01:14,239 Esa sintaxis ya la conocemos 27 00:01:14,239 --> 00:01:16,040 Pero la sintaxis no es la dificultad 28 00:01:16,040 --> 00:01:18,019 La dificultad es entender 29 00:01:18,019 --> 00:01:19,159 En qué contexto 30 00:01:19,159 --> 00:01:21,439 Tengo yo que aplicar esa sentencia 31 00:01:21,439 --> 00:01:23,079 En qué contexto tengo que aplicarla 32 00:01:23,079 --> 00:01:25,120 Entendiendo bien un enunciado 33 00:01:25,120 --> 00:01:27,959 Pues aquí tengo que aplicar esta sentencia 34 00:01:27,959 --> 00:01:29,700 Porque estoy en un contexto en el cual 35 00:01:29,700 --> 00:01:31,140 O hago una cosa o hago otra 36 00:01:31,799 --> 00:01:34,459 Esa es la parte difícil, no la de escribir el código. 37 00:01:36,260 --> 00:01:38,659 Bueno, ¿qué otra parte difícil había? 38 00:01:39,480 --> 00:01:42,920 Pues expresar la condición correctamente. 39 00:01:43,299 --> 00:01:44,939 Expresar la condición correctamente. 40 00:01:45,959 --> 00:01:47,840 ¿Vale? Porque a mí me dirán las condiciones. 41 00:01:48,299 --> 00:01:51,920 El que me está pidiendo un software, me lo dirá en su lenguaje natural 42 00:01:51,920 --> 00:01:54,340 y yo lo tengo que traducir a expresiones de Java. 43 00:01:55,340 --> 00:01:57,780 Ayer ya pusimos algunos ejemplos más grandes. 44 00:01:57,780 --> 00:01:59,879 pues puede pasar a una atracción 45 00:01:59,879 --> 00:02:01,680 que cumpla esto, pero siempre y cuando no tenga 46 00:02:01,680 --> 00:02:02,359 no sé cuántos 47 00:02:02,359 --> 00:02:05,620 o va a tener descuentos si el producto no está 48 00:02:05,620 --> 00:02:07,620 en liquidación, pero siempre y cuando 49 00:02:07,620 --> 00:02:09,659 seas cliente para ti, eso que te dicen 50 00:02:09,659 --> 00:02:11,879 en palabras, hay que traducirlo 51 00:02:11,879 --> 00:02:13,759 a Java, sobre eso 52 00:02:13,759 --> 00:02:15,039 ya hicimos ejemplos ayer 53 00:02:15,039 --> 00:02:17,599 y es la otra dificultad que hay 54 00:02:17,599 --> 00:02:19,159 identificar bien la condición 55 00:02:19,159 --> 00:02:21,860 bueno, lo siguiente 56 00:02:21,860 --> 00:02:23,139 que incorporamos es 57 00:02:23,139 --> 00:02:25,500 vale, ¿qué pasa si mi programa 58 00:02:25,500 --> 00:02:27,840 tiene no solo dos caminos posibles 59 00:02:27,840 --> 00:02:29,620 sino varios caminos posibles 60 00:02:29,620 --> 00:02:32,439 pues si tiene varios caminos posibles 61 00:02:32,439 --> 00:02:33,259 sí 62 00:02:33,259 --> 00:02:35,379 esta sentencia if 63 00:02:35,379 --> 00:02:37,180 nos vale igualmente 64 00:02:37,180 --> 00:02:39,219 porque hacíamos lo siguiente 65 00:02:39,219 --> 00:02:41,960 si tengo varios caminos posibles 66 00:02:41,960 --> 00:02:45,939 pues yo voy incorporando condiciones 67 00:02:45,939 --> 00:02:48,199 si esta condición es cierta 68 00:02:48,199 --> 00:02:48,759 hago esto 69 00:02:48,759 --> 00:02:50,580 que no lo es 70 00:02:50,580 --> 00:02:52,800 siguiente condición 71 00:02:52,800 --> 00:02:54,879 es cierto, hago esto 72 00:02:54,879 --> 00:02:57,099 que no lo es 73 00:02:57,099 --> 00:03:01,669 hago esto otro 74 00:03:01,669 --> 00:03:04,270 ¿vale? 75 00:03:04,990 --> 00:03:07,069 entonces esta sentencia de aquí 76 00:03:07,069 --> 00:03:08,310 este diagrama de flujo 77 00:03:08,310 --> 00:03:10,050 tiene tres caminos posibles 78 00:03:10,050 --> 00:03:12,969 camino 1, camino 2 y camino 3 79 00:03:12,969 --> 00:03:15,289 el camino 1 si se cumple esta condición 80 00:03:15,289 --> 00:03:17,550 el camino 2 si se cumple esta 81 00:03:17,550 --> 00:03:19,650 y el 3 si no se cumple 82 00:03:19,650 --> 00:03:20,509 ni esta ni esta 83 00:03:20,509 --> 00:03:23,210 entonces esto es un if anidado 84 00:03:23,210 --> 00:03:24,509 dentro del else de un if 85 00:03:24,509 --> 00:03:26,169 que esto es lo que dijimos que escrito 86 00:03:26,169 --> 00:03:32,830 queda muy feo, no es que esté mal, está bien como código, pero escrito queda feo, 87 00:03:33,889 --> 00:03:47,030 pues entonces hacíamos esta sentencia de aquí, que Java nos lo permite, if, else if, etc. 88 00:03:47,030 --> 00:04:12,879 Y así voy aquí. Se me ha olvidado la condición, claro. C2, el C3, el C, ya lo que sea. 89 00:04:14,060 --> 00:04:20,600 Aquí ya tenemos un montón de caminos. Este camino, este camino, este camino, cada uno asociado a una condición. 90 00:04:20,600 --> 00:04:22,699 bueno, lo que he contado 91 00:04:22,699 --> 00:04:24,160 17 veces 92 00:04:24,160 --> 00:04:27,399 vale, pues entonces, aplicando esto 93 00:04:27,399 --> 00:04:29,180 hacer este ejercicio 94 00:04:29,180 --> 00:04:30,839 que os he dicho aquí, sería muy fácil 95 00:04:30,839 --> 00:04:31,899 vale 96 00:04:31,899 --> 00:04:45,279 vale, pues este ejercicio que he dicho aquí 97 00:04:45,279 --> 00:04:46,439 sería muy fácil 98 00:04:46,439 --> 00:04:49,879 vale, vamos a arrancarlo 99 00:04:49,879 --> 00:04:51,879 el 13 100 00:04:51,879 --> 00:05:14,569 vale 101 00:05:14,569 --> 00:05:17,310 pues venga 102 00:05:17,310 --> 00:05:18,649 programa 103 00:05:18,649 --> 00:05:21,670 que recibe un número entero 104 00:05:21,670 --> 00:05:24,170 vale, muy bien, recibe un número entero 105 00:05:24,170 --> 00:05:26,569 y te dice que día corresponde 106 00:05:26,569 --> 00:05:28,730 si es uno, lunes, si es dos, martes 107 00:05:28,730 --> 00:05:30,629 vale, entendido esto 108 00:05:30,629 --> 00:05:32,410 aquí automáticamente ya vemos 109 00:05:32,410 --> 00:05:34,589 que es un programa que puede tomar 110 00:05:34,589 --> 00:05:36,449 hasta siete caminos distintos 111 00:05:36,449 --> 00:05:39,009 después de haber leído lo que hace 112 00:05:39,009 --> 00:05:40,490 ya tenemos que ver una especie 113 00:05:40,490 --> 00:05:42,810 ya de diseño de diagrama en la cabeza 114 00:05:42,810 --> 00:05:44,610 que ya nos va orientando 115 00:05:44,610 --> 00:05:45,350 hacia dónde tirar 116 00:05:45,350 --> 00:05:47,730 si hemos entendido esto ya decimos 117 00:05:47,730 --> 00:06:03,389 Ah, vale, mi programa tiene siete posibles caminos. O mostrar es lunes, mostrar es martes, mostrar es miércoles, jueves, viernes, sábado y domingo. Tiene hasta siete posibilidades. ¿En función de qué? Pues de la condición correspondiente. Si el número es uno, dos y tres. 118 00:06:03,389 --> 00:06:06,990 entonces un programa que tiene hasta 7 caminos distintos 119 00:06:06,990 --> 00:06:09,550 en función de condiciones que yo puedo escribir 120 00:06:09,550 --> 00:06:12,110 lógicamente, pues es un if-else-if 121 00:06:12,110 --> 00:06:15,250 y ya está, entonces con lo que sabemos hasta ahora 122 00:06:15,250 --> 00:06:18,829 pues este programa ya lo tendríamos esbozado 123 00:06:18,829 --> 00:06:20,670 en la cabeza y sería sencillo 124 00:06:20,670 --> 00:06:22,490 primero como siempre 125 00:06:22,490 --> 00:06:25,730 leer el numerajo 126 00:06:25,730 --> 00:06:28,209 leer los datos 127 00:06:28,209 --> 00:06:33,480 copio de otro que ya lo tengo 128 00:06:33,480 --> 00:06:44,529 introduzca número de día en este caso introduzca el número de día y ahora de 129 00:06:44,529 --> 00:06:50,509 efectivamente este programa puede hacer hasta siete cosas posibles o mostrar 130 00:06:50,509 --> 00:07:25,399 esto o mostrar esto o mostrar esto o mostrar esto o mostrar esto o esto 131 00:07:25,399 --> 00:07:36,230 o esto, vale, siete caminos excluyentes 132 00:07:36,230 --> 00:07:39,689 o hace uno, o hace el otro, o hace el otro, desde luego no en secuencia 133 00:07:39,689 --> 00:07:43,829 son siete caminos excluyentes, luego esto es un if, el save, vale, cada 134 00:07:43,829 --> 00:07:47,930 camino arrancará en función 135 00:07:47,930 --> 00:07:51,389 de una condición, entonces yo tengo que asociar 136 00:07:51,389 --> 00:07:56,009 qué condición marca que yo arranque por cada uno 137 00:07:56,009 --> 00:08:00,009 de los caminos, es fácil de escribir esa condición, en este 138 00:08:00,009 --> 00:08:11,839 caso sí, depende de este dato de entrada. Si el dato de entrada es igual a 1, pues ya está, será 139 00:08:11,839 --> 00:08:23,740 esta. Ahora, siguiente rama, la siguiente rama será otro, el save, ¿vale? Asociada a la condición 140 00:08:23,740 --> 00:08:33,070 correspondiente, pues que en un día sea igual a 2, ¿vale? Ya tengo las dos ramas, cada una asociada 141 00:08:33,070 --> 00:08:45,129 una condición. Siguiente rama, asociada a la condición de que en un día sea igual 142 00:08:45,129 --> 00:08:59,730 a tres. Siguiente rama, asociada a la condición, voy a ir copiando y pegando que será más 143 00:08:59,730 --> 00:09:12,570 fácil, asociada a la condición de que sea cuatro. Siguiente, asociada a la condición 144 00:09:12,570 --> 00:09:19,080 de que sea 5, siguiente 145 00:09:19,080 --> 00:09:22,240 asociada a la condición de que sea 6 146 00:09:22,240 --> 00:09:28,480 y aquí yo podría poner también 147 00:09:28,480 --> 00:09:31,759 y siguiente asociada a la condición de que sea 7 148 00:09:31,759 --> 00:09:36,259 vale, y esto está bien, y mi if else if se ha quedado sin else 149 00:09:36,259 --> 00:09:38,700 no pasa nada, el else siempre es opcional 150 00:09:38,700 --> 00:09:42,960 el else siempre es opcional, vale 151 00:09:42,960 --> 00:09:46,580 eso significa que si se da esta condición hago esto 152 00:09:46,580 --> 00:09:47,740 Y se acabó 153 00:09:47,740 --> 00:09:49,840 Si no se da, miro la siguiente 154 00:09:49,840 --> 00:09:51,000 Se da esta, hago esto 155 00:09:51,000 --> 00:09:51,879 Y se acabó 156 00:09:51,879 --> 00:09:53,419 Y así una tras otra 157 00:09:53,419 --> 00:09:54,700 Cuando ya he llegado al final 158 00:09:54,700 --> 00:09:57,659 Esta se da, sí, hago esto 159 00:09:57,659 --> 00:09:58,820 Que no, se acabó 160 00:09:58,820 --> 00:10:00,519 Y al no haber un else 161 00:10:00,519 --> 00:10:03,360 En el caso de que sean falsas todas 162 00:10:03,360 --> 00:10:05,399 Esta, esta, esta, todas falsas 163 00:10:05,399 --> 00:10:07,220 No hace nada, porque no hay un else 164 00:10:07,220 --> 00:10:08,679 El else ya sabéis que significa 165 00:10:08,679 --> 00:10:13,100 ¿Qué hago si todas las anteriores son falsas? 166 00:10:13,159 --> 00:10:14,419 ¿Qué hago si todas son falsas? 167 00:10:14,500 --> 00:10:15,740 Aquí si no hay ningún else 168 00:10:15,740 --> 00:10:17,559 Si todas son falsas 169 00:10:17,559 --> 00:10:19,299 Porque ha introducido el número de día mal 170 00:10:19,299 --> 00:10:19,960 No hace nada 171 00:10:19,960 --> 00:10:22,460 Entonces bueno, ya que estamos 172 00:10:22,460 --> 00:10:23,620 Pues podríamos poner 173 00:10:23,620 --> 00:10:25,139 En cualquier otro caso 174 00:10:25,139 --> 00:10:26,980 Poner el número de día introducido 175 00:10:26,980 --> 00:10:29,299 Pues no es válido 176 00:10:29,299 --> 00:10:31,820 En el caso 177 00:10:31,820 --> 00:10:34,679 Este de aquí 178 00:10:34,679 --> 00:10:38,139 Pues número de día 179 00:10:38,139 --> 00:10:39,919 No válido 180 00:10:39,919 --> 00:10:43,830 ¿Vale? 181 00:10:46,080 --> 00:10:46,539 ¿Vale? 182 00:10:47,899 --> 00:10:49,259 Así hemos hecho nuestro programa 183 00:10:49,259 --> 00:11:12,509 Y esto, pues, como nos podemos imaginar, funciona. Es un programa facilito en el que no hemos tenido que pensar mucho. Y, lógicamente, si lo probamos, nos funcionará. Si yo pongo el día menos 9, pues, número de día no ha valido. Vale, nos funciona. 184 00:11:13,509 --> 00:11:17,129 Bueno, hasta aquí vale, ¿no? 185 00:11:18,409 --> 00:11:28,049 Vale, pues hay una tercera y, digamos, última sintaxis alternativa para la sentencia de decisión 186 00:11:28,049 --> 00:11:36,649 que se aplica en el caso de que las condiciones sean exactamente que una variable sea igual a un valor. 187 00:11:37,590 --> 00:11:39,450 Solo en ese caso, como es este ejemplo. 188 00:11:39,450 --> 00:11:42,850 en general las condiciones que yo pongo aquí 189 00:11:42,850 --> 00:11:44,610 lógicamente pueden ser las condiciones 190 00:11:44,610 --> 00:11:46,029 todo lo grandes que yo quiera 191 00:11:46,029 --> 00:11:47,809 y todo lo complejas que yo necesite 192 00:11:47,809 --> 00:11:51,129 estas condiciones de aquí pueden ser complejísimas 193 00:11:51,129 --> 00:11:52,970 como algunas de las condiciones que vimos ayer 194 00:11:52,970 --> 00:11:54,549 la que sea 195 00:11:54,549 --> 00:11:57,110 la que esté asociada a ese camino 196 00:11:57,110 --> 00:11:57,750 la que sea 197 00:11:57,750 --> 00:11:59,250 ¿vale? 198 00:11:59,950 --> 00:12:02,269 pero en el caso concreto 199 00:12:02,269 --> 00:12:03,529 en el caso concreto 200 00:12:03,529 --> 00:12:05,409 de que las condiciones 201 00:12:05,409 --> 00:12:08,250 sean todas así 202 00:12:08,250 --> 00:12:12,990 es decir, que el camino que se opta 203 00:12:12,990 --> 00:12:15,370 dependa del valor de una variable 204 00:12:15,370 --> 00:12:18,710 pues podemos poner una sintaxis alternativa 205 00:12:18,710 --> 00:12:19,909 ¿vale? 206 00:12:20,529 --> 00:12:22,750 es una situación relativamente habitual 207 00:12:22,750 --> 00:12:23,889 tú tienes un dato 208 00:12:23,889 --> 00:12:26,649 y en función del valor de ese dato 209 00:12:26,649 --> 00:12:28,389 haces unas cosas u otras 210 00:12:28,389 --> 00:12:30,389 justo lo que tenemos aquí 211 00:12:30,389 --> 00:12:32,090 tenemos un dato que es de un día 212 00:12:32,090 --> 00:12:34,509 y en función del valor de ese dato 213 00:12:34,509 --> 00:12:35,789 hacemos unas cosas u otras 214 00:12:35,789 --> 00:12:37,730 ¿vale? es una situación 215 00:12:37,730 --> 00:12:39,549 relativamente habitual 216 00:12:39,549 --> 00:12:42,250 que tiene una sintaxis propia 217 00:12:42,250 --> 00:12:44,250 aunque podríamos hacerlo así 218 00:12:44,250 --> 00:12:46,370 tiene su sintaxis propia 219 00:12:46,370 --> 00:12:50,690 y es la sintaxis switch case 220 00:12:50,690 --> 00:12:53,149 ¿vale? 221 00:12:54,370 --> 00:12:55,230 entonces repito 222 00:12:55,230 --> 00:12:58,070 la sintaxis de decisión switch case 223 00:12:58,070 --> 00:12:59,210 aplica solo 224 00:12:59,210 --> 00:13:01,269 en el caso concreto 225 00:13:01,269 --> 00:13:04,149 en que las diferentes condiciones 226 00:13:04,149 --> 00:13:05,549 de las diferentes ramas 227 00:13:05,549 --> 00:13:07,070 sean todas ellas 228 00:13:07,070 --> 00:13:08,830 una misma variable 229 00:13:08,830 --> 00:13:12,450 igual a un valor, de ahí viene lo de switch 230 00:13:12,450 --> 00:13:16,289 que es, conmuta a una rama o conmuta a otra 231 00:13:16,289 --> 00:13:18,529 en función del valor de una única variable 232 00:13:18,529 --> 00:13:23,389 en función del valor de una única variable, conmutas una rama, conmutas a otra 233 00:13:23,389 --> 00:13:28,029 bueno, pues con esa sintaxis, ¿cómo sería este mismo código? 234 00:13:30,460 --> 00:13:47,059 pues la sintaxis es la siguiente, vale, la sintaxis de esta sentencia 235 00:13:47,059 --> 00:13:50,159 es, se pone primero switch 236 00:13:50,159 --> 00:13:53,600 y ahora entre paréntesis 237 00:13:53,600 --> 00:13:55,460 la variable 238 00:13:55,460 --> 00:13:57,779 cuyo valor vamos a mirar 239 00:13:57,779 --> 00:13:59,759 para decidir por qué camino nos vamos 240 00:13:59,759 --> 00:14:01,980 porque recordad 241 00:14:01,980 --> 00:14:03,639 que esto de switch case se aplicaba 242 00:14:03,639 --> 00:14:05,840 solo al caso 243 00:14:05,840 --> 00:14:07,820 en los cuales las condiciones para los 244 00:14:07,820 --> 00:14:09,200 diferentes caminos fueran 245 00:14:09,200 --> 00:14:12,080 posibles valores de una única variable 246 00:14:12,080 --> 00:14:13,740 pues aquí ponemos 247 00:14:13,740 --> 00:14:15,500 esa única variable, vale 248 00:14:15,500 --> 00:14:16,539 pues este switch sería 249 00:14:16,539 --> 00:14:19,919 en función de la variable numDía 250 00:14:19,919 --> 00:14:25,970 ahora ya en función de la variable en un día vamos distinguiendo los casos 1 a 1 251 00:14:25,970 --> 00:14:30,529 caso de que mi variable 252 00:14:30,529 --> 00:14:34,350 tome el valor, pongo case y luego el primer valor 253 00:14:34,350 --> 00:14:37,450 posible que yo quiero contemplar, el primero que quiero contemplar 254 00:14:37,450 --> 00:14:42,429 en este caso el 1, queremos contemplarlo, en el caso de que 255 00:14:42,429 --> 00:14:46,450 sea 1, aquí pongo 2 puntos 256 00:14:46,450 --> 00:14:50,830 y aquí la sentencia o la lista de sentencias 257 00:14:50,830 --> 00:14:55,330 que se va a hacer en ese caso, aquí sin llaves 258 00:14:55,330 --> 00:15:02,440 en este caso sería esto exclusivamente, sería esto de aquí 259 00:15:02,440 --> 00:15:07,960 punto pelota, y acabo con un break 260 00:15:07,960 --> 00:15:11,740 ahora indicamos por qué 261 00:15:11,740 --> 00:15:17,360 y así voy definiendo cada uno de los casos 262 00:15:17,360 --> 00:15:20,480 ¿qué es? caso de que mi variable 263 00:15:20,480 --> 00:15:24,779 numDía tome el valor 2, ese caso 264 00:15:24,779 --> 00:15:27,480 Pues aquí lo que yo quiero hacer 265 00:15:27,480 --> 00:15:29,440 Que en este caso 266 00:15:29,440 --> 00:15:31,399 Quiero mostrar martes 267 00:15:31,399 --> 00:15:33,980 Y termino 268 00:15:33,980 --> 00:15:35,840 Con esto 269 00:15:35,840 --> 00:15:36,960 Obligatorio 270 00:15:36,960 --> 00:15:38,940 Ahora explicamos por qué 271 00:15:38,940 --> 00:15:42,200 Y así iría poniendo cada caso 272 00:15:42,200 --> 00:15:44,740 Cada una de las posibilidades 273 00:15:44,740 --> 00:15:46,299 Que yo quiero contemplar 274 00:15:46,299 --> 00:15:49,039 Para esa variable 275 00:15:49,039 --> 00:15:53,679 No sé si he puesto ya suficientes 276 00:15:53,679 --> 00:15:55,639 Caso 1, caso 2 277 00:15:55,639 --> 00:16:35,620 caso 3, miércoles, caso 4, jueves, caso 5, viernes, caso 6, sábado, caso 7, domingo, vale, 278 00:16:35,620 --> 00:16:46,190 Y el else donde se contempla, porque yo aquí tengo en mi else if, tengo un else si no se da ninguna de las anteriores. 279 00:16:47,070 --> 00:16:52,649 En el switch case también puedo contemplar la rama en la que no se da ninguna de las anteriores. 280 00:16:52,970 --> 00:16:59,049 Si la puedo contemplar poniendo default. 281 00:16:59,049 --> 00:17:02,389 default significa 282 00:17:02,389 --> 00:17:05,049 si la variable no toma 283 00:17:05,049 --> 00:17:07,549 ninguno de los valores anteriores 284 00:17:07,549 --> 00:17:09,250 si no toma ninguno 285 00:17:09,250 --> 00:17:15,240 pues lo que yo quiero hacer aquí 286 00:17:15,240 --> 00:17:18,970 número 287 00:17:18,970 --> 00:17:20,190 de día 288 00:17:20,190 --> 00:17:28,950 vale pues esta 289 00:17:28,950 --> 00:17:30,369 sintaxis aquí 290 00:17:30,369 --> 00:17:32,630 se ve más clara que la otra 291 00:17:32,630 --> 00:17:34,630 haciendo lo mismo 292 00:17:34,630 --> 00:17:39,480 queda más bonita 293 00:17:39,480 --> 00:17:42,220 y se ve más claro 294 00:17:42,220 --> 00:17:45,240 porque en cuanto tú ves esto 295 00:17:45,240 --> 00:17:47,700 dices, ah vale, que se me abren 296 00:17:47,700 --> 00:17:49,359 diferentes posibilidades 297 00:17:49,359 --> 00:17:51,099 en función del valor de una variable 298 00:17:51,099 --> 00:17:52,720 ya lo ves de partida 299 00:17:52,720 --> 00:17:54,599 dices, este programa va de esto 300 00:17:54,599 --> 00:17:57,299 de hacer diferentes cosas en función 301 00:17:57,299 --> 00:17:58,980 del valor de una variable, va de esto 302 00:17:58,980 --> 00:18:01,240 sin embargo, si tú esto mismo 303 00:18:01,240 --> 00:18:02,539 lo ves en un if else if 304 00:18:02,539 --> 00:18:05,200 la primera condición sabes que depende 305 00:18:05,200 --> 00:18:06,119 del valor de la variable 306 00:18:06,119 --> 00:18:09,119 pero para ver el tipo de condiciones 307 00:18:09,119 --> 00:18:11,240 siguientes, a ver si dependen de esa 308 00:18:11,240 --> 00:18:14,559 variable o dependen de otras cosas distintas, tienes que ir una por una 309 00:18:14,559 --> 00:18:19,000 para ver esas condiciones cuáles son. Entonces 310 00:18:19,000 --> 00:18:22,900 esto mismo hecho con el switch case queda más bonito 311 00:18:22,900 --> 00:18:27,140 porque tú lo ves y dices, ah, vale, en función de esta variable pueden pasar 312 00:18:27,140 --> 00:18:31,019 cosas distintas. Ya sabes que todo lo que viene después tiene que ver 313 00:18:31,019 --> 00:18:33,240 exclusivamente con el valor de esta variable. 314 00:18:35,079 --> 00:18:40,460 Y cada posible valor va 315 00:18:40,460 --> 00:18:42,680 Acompañando a un case de estos 316 00:18:42,680 --> 00:18:48,819 Este default se me ha ido 317 00:18:48,819 --> 00:18:52,039 Vale 318 00:18:52,039 --> 00:18:54,460 Entonces 319 00:18:54,460 --> 00:18:58,200 Recordad lo que os digo siempre 320 00:18:58,200 --> 00:19:00,819 Del estilo a la hora de escribir el código 321 00:19:00,819 --> 00:19:04,440 Las tabulaciones correctas 322 00:19:04,440 --> 00:19:07,059 Cuando yo entro dentro de un if o de un else 323 00:19:07,059 --> 00:19:09,240 Las tabulaciones correctas 324 00:19:09,240 --> 00:19:09,940 Dentro del main 325 00:19:09,940 --> 00:19:11,440 Entonces no es que sea obligatorio 326 00:19:11,440 --> 00:19:13,880 El código podría estar escrito todo seguido horrible 327 00:19:13,880 --> 00:19:14,940 Que no se entendiera nada 328 00:19:14,940 --> 00:19:16,480 Pero sería lo mismo 329 00:19:16,480 --> 00:19:20,559 los saltos de línea y los espacios para el compilador no son nada 330 00:19:20,559 --> 00:19:24,700 pero para el desarrollador sí, porque permite 331 00:19:24,700 --> 00:19:27,799 de ver un código y entender de qué va a no entender nada 332 00:19:27,799 --> 00:19:32,680 entonces seguramente ya habréis averiguado 333 00:19:32,680 --> 00:19:36,640 que la combinación 334 00:19:36,640 --> 00:19:38,039 control shift F 335 00:19:38,039 --> 00:19:43,980 en el eclipse, en otros entornos de desarrollo 336 00:19:43,980 --> 00:19:47,740 o sea, otra, en el eclipse, el control sheet F 337 00:19:47,740 --> 00:19:52,099 te cambia el formato para dejarlo bonito, no te cambia 338 00:19:52,099 --> 00:19:55,700 nada relacionado con el código, te cambia el formato para dejarlo bonito, ¿vale? 339 00:19:55,759 --> 00:20:00,180 entonces yo aquí lo he descolocado, hago control sheet F y me lo deja bonito 340 00:20:00,180 --> 00:20:03,559 ¿vale? entonces 341 00:20:03,559 --> 00:20:08,119 usadlo para dejarlo bonito, pero 342 00:20:08,119 --> 00:20:12,180 una vez que tenéis el conocimiento de cuáles son las reglas de estilo 343 00:20:12,180 --> 00:20:17,200 vale, una llave siempre se abre en la misma línea en la que empieza 344 00:20:17,200 --> 00:20:21,299 su método 345 00:20:21,299 --> 00:20:24,660 en este caso el if, aquí es que no he puesto llave, pero si hubiera puesto llave 346 00:20:24,660 --> 00:20:31,980 que en este caso era opcional, pero vamos, si lo hubiera puesto, pues la llave se abre 347 00:20:31,980 --> 00:20:36,259 en la misma línea donde está la sentencia que la provoca 348 00:20:36,259 --> 00:20:40,039 se cierra en una línea nueva suya 349 00:20:40,039 --> 00:20:44,259 para ella a la misma altura de donde arrancó 350 00:20:44,259 --> 00:20:46,839 lo que esté dentro tabulado, etc 351 00:20:46,839 --> 00:20:48,180 vale 352 00:20:48,180 --> 00:20:51,039 entonces aquí el control shift F 353 00:20:51,039 --> 00:20:53,079 pues el switch case lo deja así 354 00:20:53,079 --> 00:20:53,740 todo a la vez 355 00:20:53,740 --> 00:20:57,380 que a mi me resulta muy feo, yo lo veo más claro cuando está así 356 00:20:57,380 --> 00:20:58,500 pero bueno 357 00:20:58,500 --> 00:21:00,960 vamos a dejarlo como lo deja el 358 00:21:00,960 --> 00:21:02,339 y ya está 359 00:21:02,339 --> 00:21:04,119 vale, yo esto todo 360 00:21:04,119 --> 00:21:07,079 lo tabularía porque lo veo más claro 361 00:21:07,079 --> 00:21:07,960 así tabulado 362 00:21:07,960 --> 00:21:11,400 lo dejaría así, switch y el case 363 00:21:11,400 --> 00:21:11,759 dentro 364 00:21:11,759 --> 00:21:15,200 pero bueno, si hacemos control shift F 365 00:21:15,200 --> 00:21:17,420 pues él me pone a la misma altura 366 00:21:17,420 --> 00:21:19,059 ¿vale? switch case 367 00:21:19,059 --> 00:21:20,039 todo juntito ahí 368 00:21:20,039 --> 00:21:22,960 no pasa nada, es un convenio 369 00:21:22,960 --> 00:21:24,980 también seguido 370 00:21:24,980 --> 00:21:25,680 ¿vale? 371 00:21:27,539 --> 00:21:28,859 bueno, pues entonces 372 00:21:28,859 --> 00:21:31,059 he entendido que esta sintaxis 373 00:21:31,059 --> 00:21:33,140 es sólo cuando 374 00:21:33,140 --> 00:21:35,420 las condiciones de las diferentes ramas 375 00:21:35,420 --> 00:21:37,339 se corresponden 376 00:21:37,339 --> 00:21:39,180 a posibles valores de una variable 377 00:21:39,180 --> 00:21:40,819 sólo en ese caso, ¿vale? 378 00:21:41,759 --> 00:21:57,440 Ahora ya, matices y detalles a conocer de la sentencia, vale, aquí se puede poner cualquier tipo de variable primitiva y string también, se usa para esos, primitivas y string, 379 00:21:57,440 --> 00:21:59,539 Entonces si yo pusiera aquí un string 380 00:21:59,539 --> 00:22:02,339 Como los posibles valores de string 381 00:22:02,339 --> 00:22:04,680 Son cadenas, aquí tendría que poner una cadena de texto 382 00:22:04,680 --> 00:22:05,819 Lógicamente 383 00:22:05,819 --> 00:22:08,380 Si la variable que yo he puesto aquí 384 00:22:08,380 --> 00:22:09,839 Es un string 385 00:22:09,839 --> 00:22:12,500 Pues sus posibles valores tendrían que ser 386 00:22:12,500 --> 00:22:14,119 Lógicamente compatibles con string 387 00:22:14,119 --> 00:22:15,180 ¿Vale? 388 00:22:15,619 --> 00:22:17,099 Ahí yo tengo que poner un valor 389 00:22:17,099 --> 00:22:20,420 Que es la posibilidad que yo contemplo 390 00:22:20,420 --> 00:22:21,900 Para esa variable, del tipo que sea 391 00:22:21,900 --> 00:22:23,980 Si es string, pues string, es que no hay otra 392 00:22:23,980 --> 00:22:25,720 Eso por un lado 393 00:22:25,720 --> 00:22:27,359 ¿Vale? Vale 394 00:22:27,359 --> 00:22:56,900 Por otro lado, se pueden poner varias posibilidades en la misma línea, ¿vale? Todas estas pequeñas variaciones se han ido incorporando en sucesivas versiones de Java, entonces a lo mejor uno ve un programa de hace tres o cuatro años que la mayoría de los códigos de las empresas, lógicamente, son código legado, que se llama, que son aplicaciones que están hechas hace mucho tiempo, 395 00:22:56,900 --> 00:23:00,339 y yo no puedo de repente cambiarlas de arriba a abajo 396 00:23:00,339 --> 00:23:02,119 solo porque Java incorpore 397 00:23:02,119 --> 00:23:05,500 pequeñas modificaciones sintácticas 398 00:23:05,500 --> 00:23:07,240 a modo de marketing 399 00:23:07,240 --> 00:23:12,339 entonces, la mayoría de los desarrollos 400 00:23:12,339 --> 00:23:15,839 tienen código compatible 401 00:23:15,839 --> 00:23:17,220 con versiones antiguas 402 00:23:17,220 --> 00:23:19,059 porque tú no puedes migrar de golpe 403 00:23:19,059 --> 00:23:22,819 seguramente si tú haces una migración 404 00:23:22,819 --> 00:23:24,420 así por las buenas 405 00:23:24,420 --> 00:23:26,819 las aplicaciones que tienes ahí en los servidores 406 00:23:26,819 --> 00:23:28,779 dando servicio, hasta que vuelvan 407 00:23:28,779 --> 00:23:30,839 a estar operativas, a lo mejor pasa más tiempo 408 00:23:30,839 --> 00:23:32,859 del que conviene, para tus intereses 409 00:23:32,859 --> 00:23:34,119 entonces 410 00:23:34,119 --> 00:23:36,859 las aplicaciones que vais a ver 411 00:23:36,859 --> 00:23:38,900 por ahí, la gran mayoría tienen código 412 00:23:38,900 --> 00:23:40,579 compatible con versiones antiguas 413 00:23:40,579 --> 00:23:42,660 porque es que si no, no podemos estar 414 00:23:42,660 --> 00:23:43,680 actualizando todo el rato 415 00:23:43,680 --> 00:23:47,000 entonces el código compatible con versiones 416 00:23:47,000 --> 00:23:47,640 antiguas 417 00:23:47,640 --> 00:23:50,539 es el código que se llama legado 418 00:23:50,539 --> 00:23:51,980 código legado 419 00:23:51,980 --> 00:23:52,900 que 420 00:23:52,900 --> 00:23:56,420 en los términos 421 00:23:56,420 --> 00:23:58,640 informáticos que deberíais 422 00:23:58,640 --> 00:23:59,680 ir incorporando 423 00:23:59,680 --> 00:24:02,359 términos profesionales 424 00:24:02,359 --> 00:24:04,180 de los que cuando uno habla 425 00:24:04,180 --> 00:24:06,200 pues no le hace aparentar que sabe 426 00:24:06,200 --> 00:24:08,579 porque no solo hay que saber 427 00:24:08,579 --> 00:24:09,400 eso es fundamental 428 00:24:09,400 --> 00:24:12,880 también tenéis que aparentarlo 429 00:24:12,880 --> 00:24:15,079 para eso vuestro discurso 430 00:24:15,079 --> 00:24:16,980 tiene que ser ya 431 00:24:16,980 --> 00:24:19,579 manejando los términos 432 00:24:19,579 --> 00:24:20,299 de desarrollo 433 00:24:20,299 --> 00:24:21,660 todo eso 434 00:24:21,660 --> 00:24:24,420 bueno pues este código 435 00:24:24,420 --> 00:24:27,000 es código compatible 436 00:24:27,000 --> 00:24:28,220 con versiones antiguas 437 00:24:28,220 --> 00:24:31,140 que está en todos los desarrollos de todas las empresas 438 00:24:31,140 --> 00:24:32,940 mucho más antiguos 439 00:24:32,940 --> 00:24:33,940 de los que os podéis imaginar 440 00:24:33,940 --> 00:24:36,660 hoy en el Recreo precisamente ha venido una alumna 441 00:24:36,660 --> 00:24:37,660 a coger el título 442 00:24:37,660 --> 00:24:40,339 que acabó hace dos años 443 00:24:40,339 --> 00:24:42,859 y ha subido a vernos 444 00:24:42,859 --> 00:24:44,920 y todo lo que me ha contado 445 00:24:44,920 --> 00:24:46,500 de lo que siguen haciendo en Java 446 00:24:46,500 --> 00:24:48,380 dice que seguimos estando 447 00:24:48,380 --> 00:24:50,480 en la versión 1.8 448 00:24:50,480 --> 00:24:52,559 ¿vale? 449 00:24:52,640 --> 00:24:54,339 porque no es tan fácil para las empresas 450 00:24:54,339 --> 00:24:56,019 a seguir cambiando de... 451 00:24:56,019 --> 00:24:57,559 Bueno, pues ¿por qué os cuento esto? 452 00:24:58,119 --> 00:25:00,319 Porque algunas de las cosas que yo os estoy 453 00:25:00,319 --> 00:25:01,539 diciendo aquí del switch case 454 00:25:01,539 --> 00:25:04,680 solo las admiten 455 00:25:04,680 --> 00:25:06,319 las versiones modernas de Java. 456 00:25:06,460 --> 00:25:07,539 Claro, a lo mejor os vais 457 00:25:07,539 --> 00:25:10,599 a un sitio y escribís, por ejemplo, 458 00:25:10,839 --> 00:25:11,660 esto de poner 459 00:25:11,660 --> 00:25:13,759 varias posibilidades separadas por comas 460 00:25:13,759 --> 00:25:15,839 y el compilador se empeña en deciros 461 00:25:15,839 --> 00:25:17,259 esto está mal, esto está mal, esto está mal. 462 00:25:17,660 --> 00:25:19,799 No es que esté mal, es que el compilador 463 00:25:19,799 --> 00:25:21,839 que tienen ahí es un poco más antiguo. 464 00:25:22,880 --> 00:25:22,980 ¿Vale? 465 00:25:22,980 --> 00:25:25,339 entonces que sepáis que en Java 466 00:25:25,339 --> 00:25:27,619 que está sacando versiones nuevas continuamente 467 00:25:27,619 --> 00:25:29,519 y que esas versiones lo que hacen es 468 00:25:29,519 --> 00:25:30,660 incorporar chorraditas 469 00:25:30,660 --> 00:25:33,579 vale, pues a lo mejor usáis alguna 470 00:25:33,579 --> 00:25:35,779 de esas chorraditas y dices está mal, está mal, está mal 471 00:25:35,779 --> 00:25:36,980 no, es que esa chorradita 472 00:25:36,980 --> 00:25:38,599 está a partir de esta versión 473 00:25:38,599 --> 00:25:41,660 no está en la versión que tiene este servidor 474 00:25:41,660 --> 00:25:43,079 vale 475 00:25:43,079 --> 00:25:45,680 hay versiones 476 00:25:45,680 --> 00:25:47,460 de Java que sí que hicieron 477 00:25:47,460 --> 00:25:49,720 cambios esenciales 478 00:25:49,720 --> 00:25:51,819 y siempre 479 00:25:51,819 --> 00:25:52,920 es esta por en sí, por ejemplo 480 00:25:52,920 --> 00:25:55,720 la 1.8 de hace un montón 481 00:25:55,720 --> 00:25:57,920 esa hizo el cambio esencial 482 00:25:57,920 --> 00:25:59,440 con toda la programación funcional 483 00:25:59,440 --> 00:26:01,140 etcétera, que no vamos a tocar 484 00:26:01,140 --> 00:26:02,700 este año porque es imposible 485 00:26:02,700 --> 00:26:05,279 pues no hay 486 00:26:05,279 --> 00:26:07,339 ninguna empresa que use 487 00:26:07,339 --> 00:26:08,599 de 1.8 hacia atrás, eso no 488 00:26:08,599 --> 00:26:10,640 porque 1.8 fue el cambio esencial 489 00:26:10,640 --> 00:26:12,680 pero de 1.8 en adelante 490 00:26:12,680 --> 00:26:14,980 lo más probable es que haya 491 00:26:14,980 --> 00:26:16,720 muchos contextos de desarrollo 492 00:26:16,720 --> 00:26:19,099 que ni lo utilicen, con lo cual esto 493 00:26:19,099 --> 00:26:21,259 ni siquiera sería válido en esos contextos 494 00:26:21,259 --> 00:26:22,740 esto ni siquiera sería válido 495 00:26:22,740 --> 00:26:25,420 vale, bueno, pero nosotros 496 00:26:25,420 --> 00:26:27,519 que estamos modernizados, pues si lo 497 00:26:27,519 --> 00:26:28,880 podemos usar sin ningún problema 498 00:26:28,880 --> 00:26:30,880 venga, más cosas 499 00:26:30,880 --> 00:26:33,359 aparte de poder poner 500 00:26:33,359 --> 00:26:34,759 varios en coma 501 00:26:34,759 --> 00:26:39,450 muy bien, vale 502 00:26:39,450 --> 00:26:40,750 perdón 503 00:26:40,750 --> 00:26:50,730 que si puedo bajar 504 00:26:50,730 --> 00:26:52,329 vale, a ver, más cosas 505 00:26:52,329 --> 00:26:54,869 hemos dicho que estos valores 506 00:26:54,869 --> 00:26:56,849 en general son o primitivos 507 00:26:56,849 --> 00:26:58,789 o string, y lo que hay que poner aquí 508 00:26:58,789 --> 00:27:00,410 es uno de los posibles valores 509 00:27:00,410 --> 00:27:02,730 de la variable que esté aquí, si es string 510 00:27:02,730 --> 00:27:03,890 pues cadena, lo que sea 511 00:27:03,890 --> 00:27:06,710 que se pueden poner varios separados por comas 512 00:27:06,710 --> 00:27:08,650 y ahora la pregunta es 513 00:27:08,650 --> 00:27:10,769 ¿por qué hay que poner el break 514 00:27:10,769 --> 00:27:12,089 todo el rato? 515 00:27:13,329 --> 00:27:15,029 bueno, porque por esta sentencia 516 00:27:15,029 --> 00:27:17,089 por razones antiguas 517 00:27:17,089 --> 00:27:18,390 de cuando se hizo en su momento 518 00:27:18,390 --> 00:27:20,369 esta sentencia 519 00:27:20,369 --> 00:27:21,930 funciona de la siguiente manera 520 00:27:21,930 --> 00:27:24,990 primero coge la variable 521 00:27:24,990 --> 00:27:27,130 y empieza desde el principio 522 00:27:27,130 --> 00:27:29,430 esta variable tiene este valor 523 00:27:29,430 --> 00:27:31,849 lo tiene, hace lo que hay dentro 524 00:27:31,849 --> 00:27:33,230 y a partir 525 00:27:33,230 --> 00:27:34,990 de ahí sigue 526 00:27:34,990 --> 00:27:37,509 con el resto de los casos ya sin mirar 527 00:27:37,509 --> 00:27:38,490 nada, sigue 528 00:27:38,490 --> 00:27:40,569 hasta que se encuentre un break 529 00:27:40,569 --> 00:27:43,569 entonces, si nosotros 530 00:27:43,569 --> 00:27:45,589 no ponemos un break dentro de cada 531 00:27:45,589 --> 00:27:46,190 case 532 00:27:46,190 --> 00:27:49,529 y un día es igual a uno y este break no está 533 00:27:49,529 --> 00:27:51,789 haría esto y seguiría 534 00:27:51,789 --> 00:27:53,569 ya sin mirar los case, seguiría 535 00:27:53,569 --> 00:27:54,450 hasta el siguiente break 536 00:27:54,450 --> 00:27:57,230 y normalmente no ese es el efecto que queremos 537 00:27:57,230 --> 00:27:59,910 normalmente el efecto que queremos es 538 00:27:59,910 --> 00:28:01,789 si la variable tiene este valor, haz esto 539 00:28:01,789 --> 00:28:03,130 y se acabó, no hagas nada más 540 00:28:03,130 --> 00:28:04,650 pues entonces hay que poner el break detrás 541 00:28:04,650 --> 00:28:06,910 pero si tiene este valor, haz esto 542 00:28:06,910 --> 00:28:08,670 y se acabó, no hagas nada más 543 00:28:08,670 --> 00:28:10,130 con lo cual tienes que poner el break detrás 544 00:28:10,130 --> 00:28:11,890 porque si no pones el break 545 00:28:11,890 --> 00:28:13,769 desde el momento en que entra en un case 546 00:28:13,769 --> 00:28:16,789 él ya sigue hasta el siguiente break 547 00:28:16,789 --> 00:28:17,809 si no hay siguiente break 548 00:28:17,809 --> 00:28:19,369 sigue hasta el final haciéndolo todo 549 00:28:19,369 --> 00:28:22,910 aunque no sean los case correctos 550 00:28:22,910 --> 00:28:44,420 Entonces, la sentencia del switch case se diseñó así, precisamente, antiguamente, porque como no estaba la opción de poner varios casos con comas, como no estaba la opción esta que acabo de decir, de poner varias posibilidades con comas, 551 00:28:44,420 --> 00:28:47,140 Si tú querías hacer varias 552 00:28:47,140 --> 00:28:50,160 Para varios números 553 00:28:50,160 --> 00:28:51,420 ¿Vale? 554 00:28:51,480 --> 00:28:52,880 Pues entonces tenías que quitar el break 555 00:28:52,880 --> 00:28:54,839 Para que una vez que era un número te lo hiciera todo 556 00:28:54,839 --> 00:28:56,460 Entonces tenías que jugar con ese break 557 00:28:56,460 --> 00:28:59,579 Pero ahora ya eso ya no tiene sentido 558 00:28:59,579 --> 00:29:02,859 Entonces 559 00:29:02,859 --> 00:29:05,140 Ahora ya nosotros no vamos a jugar 560 00:29:05,140 --> 00:29:06,539 Quitando y poniendo el break 561 00:29:06,539 --> 00:29:08,500 Para hacer varias ramas a la vez 562 00:29:08,500 --> 00:29:10,680 Si solo tengo un case cierto 563 00:29:10,680 --> 00:29:12,160 Ya con eso no vamos a jugar nunca 564 00:29:12,160 --> 00:29:15,779 entonces, lo ponemos porque hay que ponerlo 565 00:29:15,779 --> 00:29:17,619 porque si no funciona, como hemos dicho 566 00:29:17,619 --> 00:29:19,579 si no hay un break, desde el momento en que entran 567 00:29:19,579 --> 00:29:20,799 un case, ya sigue 568 00:29:20,799 --> 00:29:23,140 entonces lo ponemos porque hay que ponerlo 569 00:29:23,140 --> 00:29:24,240 como hábito 570 00:29:24,240 --> 00:29:28,019 y si queremos contemplar 571 00:29:28,019 --> 00:29:29,859 varias posibilidades en el mismo 572 00:29:29,859 --> 00:29:30,940 case, pues ya sabemos 573 00:29:30,940 --> 00:29:33,920 separadas por comas y se acabó 574 00:29:33,920 --> 00:29:39,029 bueno, y ya por último 575 00:29:39,029 --> 00:29:40,930 último matiz del switch case 576 00:29:40,930 --> 00:29:43,009 como ya el break 577 00:29:43,009 --> 00:29:45,450 empezó a convertirse en una cosa molesta 578 00:29:45,450 --> 00:29:47,069 que es jolines 579 00:29:47,069 --> 00:29:50,130 que rollo tener que poner el break 580 00:29:50,130 --> 00:29:51,009 cada vez 581 00:29:51,009 --> 00:29:53,730 como ya empezó a convertirse en una cosa molesta 582 00:29:53,730 --> 00:29:55,549 se admite 583 00:29:55,549 --> 00:29:57,990 una sintaxis sin break 584 00:29:57,990 --> 00:29:59,750 y no por ello 585 00:29:59,750 --> 00:30:01,150 avanzando en todas las ramas 586 00:30:01,150 --> 00:30:04,349 que de nuevo es una sintaxis relativamente nueva 587 00:30:04,349 --> 00:30:05,230 entonces 588 00:30:05,230 --> 00:30:06,589 habrá 589 00:30:06,589 --> 00:30:10,269 sistemas que no la reconocen 590 00:30:10,269 --> 00:30:12,349 y cuál es esa sintaxis 591 00:30:12,349 --> 00:30:13,690 relativamente nueva 592 00:30:13,690 --> 00:30:16,349 Que te permite olvidarte del break 593 00:30:16,349 --> 00:30:17,950 Pues sería 594 00:30:17,950 --> 00:30:19,130 Tú pones el case 595 00:30:19,130 --> 00:30:20,789 Y en lugar de los dos puntos 596 00:30:20,789 --> 00:30:22,869 Pones este simbolito de aquí 597 00:30:22,869 --> 00:30:25,009 Guión mayor que 598 00:30:25,009 --> 00:30:26,569 Y ahora entre llaves 599 00:30:26,569 --> 00:30:28,630 Lo que hay que hacer en ese caso 600 00:30:28,630 --> 00:30:30,230 Y ahí ni break ni nada 601 00:30:30,230 --> 00:30:32,089 Esa es más bonita 602 00:30:32,089 --> 00:30:34,190 Más elegante 603 00:30:34,190 --> 00:30:36,309 Pero relativamente reciente 604 00:30:36,309 --> 00:30:39,170 Con lo cual habrá versiones 605 00:30:39,170 --> 00:30:41,029 De Java que el compilador 606 00:30:41,029 --> 00:30:42,269 No las conozca 607 00:30:42,269 --> 00:30:48,349 Entonces, esto mismo 608 00:30:48,349 --> 00:30:50,869 Escrito con esa nueva versión 609 00:30:50,869 --> 00:30:53,430 Que yo ya voy a ponerlo así siempre 610 00:30:53,430 --> 00:30:54,910 Porque es la que más me gusta 611 00:30:54,910 --> 00:31:01,490 Sería esto 612 00:31:01,490 --> 00:31:03,349 En el caso 1 613 00:31:03,349 --> 00:31:05,630 Quito la llave 614 00:31:05,630 --> 00:31:08,650 Pongo esto 615 00:31:08,650 --> 00:31:10,369 Y aquí abro mi llavecita 616 00:31:10,369 --> 00:31:11,809 Y el break aquí me sobra 617 00:31:11,809 --> 00:31:14,009 ¿Vale? El break aquí me sobra 618 00:31:14,009 --> 00:31:18,640 En el caso 2 619 00:31:18,640 --> 00:31:21,599 Abro 620 00:31:21,599 --> 00:31:25,240 Así 621 00:31:25,240 --> 00:31:28,660 En el caso 3 622 00:31:28,660 --> 00:31:31,140 A ver, voy a ir copiando y pegando 623 00:31:31,140 --> 00:31:33,299 Para no perder tanto tiempo 624 00:31:33,299 --> 00:31:36,420 En el caso 3 625 00:31:36,420 --> 00:31:38,420 Lo mismo 626 00:31:38,420 --> 00:31:40,200 En el caso 4 627 00:31:40,200 --> 00:31:41,460 Ahora lo arreglamos 628 00:31:41,460 --> 00:31:43,759 Lo mismo 629 00:31:43,759 --> 00:31:45,500 En el caso 5 630 00:31:45,500 --> 00:31:48,460 Mismo 631 00:31:48,460 --> 00:31:50,380 Caso 6 632 00:31:50,380 --> 00:31:54,059 caso 7 633 00:31:54,059 --> 00:31:57,779 y caso default 634 00:31:57,779 --> 00:32:02,200 vale, entonces caso 1, caso 2, caso 3 635 00:32:02,200 --> 00:32:04,839 entonces aquí tengo que imprimir lunes, martes 636 00:32:04,839 --> 00:32:07,700 miércoles 637 00:32:07,700 --> 00:32:17,900 miércoles, jueves 638 00:32:17,900 --> 00:32:25,839 viernes, sábado 639 00:32:25,839 --> 00:32:28,559 Caso 7, domingo 640 00:32:28,559 --> 00:32:32,130 Y aquí 641 00:32:32,130 --> 00:32:35,170 Día no 642 00:32:35,170 --> 00:32:36,930 Válido 643 00:32:36,930 --> 00:32:39,369 Ala 644 00:32:39,369 --> 00:32:42,809 ¿Vale? 645 00:32:43,250 --> 00:32:45,509 Pues esta sintaxis es la más bonita 646 00:32:45,509 --> 00:32:46,789 Aquí no hay break 647 00:32:46,789 --> 00:32:49,269 En el caso de que la variable tenga 1 648 00:32:49,269 --> 00:32:50,150 ¿Qué vamos a hacer? 649 00:32:50,890 --> 00:32:51,609 ¿Qué ha pasado? 650 00:32:51,609 --> 00:32:52,529 Ah, jolines 651 00:32:52,529 --> 00:32:54,829 Esta es la sintaxis más bonita 652 00:32:54,829 --> 00:32:57,769 En el caso de que la variable tenga 1 653 00:32:57,769 --> 00:32:58,710 ¿Qué vamos a hacer? 654 00:32:58,710 --> 00:33:00,230 Lo que hay en estas llaves 655 00:33:00,230 --> 00:33:02,130 Y aquí me olvido del break y ya está 656 00:33:02,130 --> 00:33:04,349 Y ya no se mira nada más, se acabó 657 00:33:04,349 --> 00:33:06,470 En el caso de que tenga dos 658 00:33:06,470 --> 00:33:07,029 ¿Qué voy a hacer? 659 00:33:07,029 --> 00:33:08,529 Uh, aquí es que el break 660 00:33:08,529 --> 00:33:10,130 Con el copia y ahí 661 00:33:10,130 --> 00:33:12,009 En el caso de que tenga dos 662 00:33:12,009 --> 00:33:18,460 El shift F no quita todas las cosas 663 00:33:18,460 --> 00:33:19,619 Así que tampoco tengáis 664 00:33:19,619 --> 00:33:21,799 Vaya por Dios 665 00:33:21,799 --> 00:33:27,680 Vale 666 00:33:27,680 --> 00:33:33,339 Vale, pues nada, esta sería más bonita 667 00:33:33,339 --> 00:33:35,279 Cuando encuentra 668 00:33:35,279 --> 00:33:36,420 Un case que se cumple 669 00:33:36,420 --> 00:33:39,660 hace lo que hay entre las llaves que puede ser una sentencia humil y ya no 670 00:33:39,660 --> 00:33:46,839 hace nada más y ya está entonces bueno no hace falta que perdamos el tiempo 671 00:33:46,839 --> 00:33:51,519 probándolo porque esto va a funcionar cualquiera de las tres versiones está la 672 00:33:51,519 --> 00:33:58,559 vais a ver mucho por ahí porque es la ha sido la estándar de toda la vida mundial 673 00:33:58,559 --> 00:34:03,059 pero esta es la más actualizada 674 00:34:03,220 --> 00:34:06,559 bueno vamos a parar aquí un momentito