1
00:00:00,120 --> 00:00:05,460
Bienvenidos continuamos con el flujo de control, en la que también se le conoce como sentencia de control.

2
00:00:05,530 --> 00:00:11,340
Vamos a partir primero por la más simple, que es ELIF para toma de decisión de acuerdo a una expresión

3
00:00:11,340 --> 00:00:11,880
Poliana.

4
00:00:12,000 --> 00:00:17,100
Es decir, si se cumple una condición, podemos ejecutar un bloque de código, una sentencia.

5
00:00:17,220 --> 00:00:20,580
De lo contrario, si no se cumple, podemos ejecutar otra sentencia.

6
00:00:20,810 --> 00:00:23,250
Bien, la estructura elif bastante simple.

7
00:00:23,490 --> 00:00:28,020
Una condición que contiene una expresión bullanga si se cumple.

8
00:00:28,440 --> 00:00:34,530
Como se ve en este diagrama de flujo, ejecuta un bloque una sentencia, de lo contrario no ejecuta

9
00:00:34,530 --> 00:00:37,890
nada, simplemente se salta esa parte del código.

10
00:00:38,100 --> 00:00:43,320
Veamos la sintaxis con la palabra clave if entre paréntesis una expresión booleana.

11
00:00:43,410 --> 00:00:49,470
Es decir, esta expresión, como ya vimos operadores anteriormente por ejemplo relacionales, los lógicos

12
00:00:49,590 --> 00:00:51,210
evalúan una expresión booleana.

13
00:00:51,270 --> 00:00:57,400
Por lo tanto, según ciertos parámetros, según ciertas condiciones o algún cálculo aritmético, podemos

14
00:00:57,400 --> 00:01:01,770
terminar si se cumple o no se cumple alguna condición para ejecutar.

15
00:01:01,850 --> 00:01:04,500
Entonces un código siempre lleva llaves.

16
00:01:04,620 --> 00:01:06,900
Aunque en realidad no siempre la podríamos omitir.

17
00:01:06,990 --> 00:01:12,420
En algunos casos es opcional solamente cuando tiene una sola instrucción, una línea de código dentro

18
00:01:12,540 --> 00:01:13,590
de la sentencia IF.

19
00:01:13,620 --> 00:01:18,990
Podríamos omitir la llave, pero como buena práctica siempre se recomienda colocar las llaves, ya que

20
00:01:18,990 --> 00:01:22,020
visualmente queda mucho mejor y fácil de entender.

21
00:01:22,050 --> 00:01:24,570
Pero también tenemos el camino alternativo.

22
00:01:24,690 --> 00:01:25,890
Qué pasa si no se cumple?

23
00:01:26,040 --> 00:01:28,740
Entonces, si la expresión es falsa, podemos hacer uso de él.

24
00:01:29,310 --> 00:01:32,760
Entonces, si no se cumple, también podríamos ejecutar otro camino.

25
00:01:32,850 --> 00:01:34,620
Otra sentencia alternativa?

26
00:01:34,740 --> 00:01:40,380
Veamos la sintaxis, muy parecido al anterior, pero se agrega el es entonces en caso de que no se ejecute.

27
00:01:40,510 --> 00:01:43,870
Bueno, acá tenemos el camino opcional alternativo.

28
00:01:43,980 --> 00:01:50,250
Sentencia ejecutar en caso de que no se cumpla la condición o la expresión booleana dentro del juego.

29
00:01:50,550 --> 00:01:56,910
También es opcional como camino alternativo, pero también podemos encadenar sentencias el IF, es decir,

30
00:01:56,910 --> 00:01:57,490
con ONIF.

31
00:01:57,630 --> 00:02:02,820
Después, si no se cumple esa condición, podríamos tener otra sentencia con otra expresión y así tener

32
00:02:02,920 --> 00:02:05,240
ene cantidad de validaciones calif.

33
00:02:05,400 --> 00:02:08,520
Con diferentes expresiones y al final opcionalmente puede colocar.

34
00:02:09,240 --> 00:02:10,830
En caso de que ninguna se cumpla.

35
00:02:11,220 --> 00:02:15,930
Podríamos implementar este último camino alternativo y el uso de llaves?

36
00:02:16,050 --> 00:02:17,910
Lo mismo se puede omitir.

37
00:02:17,940 --> 00:02:23,490
También es opcional, siempre y cuando cada sentencia o bloque tenga una sola línea de código.

38
00:02:23,550 --> 00:02:30,030
Recuerden que la llave es para separar contexto o ámbito donde cada IBF ante Casais tiene su contexto.

39
00:02:30,120 --> 00:02:31,950
Después otro es su contexto.

40
00:02:32,130 --> 00:02:37,470
Pero si tenemos más de una línea de código, más de una sentencia, no es obligación la llave, pero

41
00:02:37,470 --> 00:02:39,600
si tenemos una sola se puede omitir.

42
00:02:39,660 --> 00:02:42,890
Pero recuerden, como buena práctica, mejor colocarlas bien.

43
00:02:42,990 --> 00:02:48,810
Veamos el switch, que es bueno, tiene cierta semejanza, pero en vez de evaluar una expresión booleana,

44
00:02:48,870 --> 00:02:50,010
compara por valor.

45
00:02:50,280 --> 00:02:52,560
Se toma en la expresión un valor.

46
00:02:52,650 --> 00:02:59,160
Iba comprando por caso y cuando coincide con algún caso, cuando casa va a ejecutar ese código es la

47
00:02:59,160 --> 00:02:59,790
sentencia.

48
00:02:59,880 --> 00:03:02,010
Entonces también se le conoce como interruptor.

49
00:03:02,100 --> 00:03:08,280
Se puede utilizar para realizar sentencias que están condicionadas bajo alguna expresión que evalúa

50
00:03:08,370 --> 00:03:08,850
un valor.

51
00:03:08,940 --> 00:03:13,440
Pero esta expresión que se evalúa en realidad es una variable que contiene un valor.

52
00:03:13,560 --> 00:03:14,430
Y de qué tipo?

53
00:03:14,770 --> 00:03:16,350
De qué tipo de variables podemos utilizar?

54
00:03:16,480 --> 00:03:21,930
Bueno, no podemos utilizar cualquier tipo, solamente primitivo integer, es decir, del tipo int,

55
00:03:22,050 --> 00:03:29,430
también primitivo PEIT, CHORD y Char, y desde la versión 7 del JDK en adelante se soporta el tipo

56
00:03:29,430 --> 00:03:29,720
string.

57
00:03:29,940 --> 00:03:35,670
Claro, también podemos tener un tipo string, por ejemplo, obtener en la expresión del switch un nombre

58
00:03:35,670 --> 00:03:36,150
persona.

59
00:03:36,270 --> 00:03:40,380
Entonces, cuando se llame por ejemplo, entréis ejecutar algo cuando se llame Juan.

60
00:03:40,500 --> 00:03:46,680
Ejecutar la sentencia aun cuando se llame Pedro, ejecuta la sentencia de Pedro y así podemos tener

61
00:03:46,680 --> 00:03:50,070
sentencias o interruptores personalizados por cada uno de ellos.

62
00:03:50,130 --> 00:03:56,310
Pero también podríamos tener una sentencia por defecto o default o un caso por defecto.

63
00:03:56,310 --> 00:03:58,700
Si no se cumple en ningún caso tenemos el difosfato.

64
00:03:58,830 --> 00:04:03,960
Entonces, de acuerdo al valor de la expresión, se ejecuta la sentencia que es apropiada.

65
00:04:04,110 --> 00:04:09,850
Veamos la sintaxis de la palabra clave o reservada switch paréntesis la Arial.

66
00:04:10,110 --> 00:04:15,330
Acá se evalúa esta expresión, pero en realidad la expresión no es Poliana, no es true uniform si no

67
00:04:15,450 --> 00:04:16,560
es el valor de una variable.

68
00:04:16,710 --> 00:04:17,280
De qué tipo?

69
00:04:17,310 --> 00:04:24,510
Como ha explicado Hint Primitivo bit primitivo, un chord primitivo o echar primitivo también del tipo

70
00:04:24,510 --> 00:04:24,970
es Trenc.

71
00:04:25,200 --> 00:04:30,510
Aunque también soporta otros tipos que un poco más complejos que el tipo enum en número ordeñaba, que

72
00:04:30,510 --> 00:04:32,400
ya es una estructura de referencia.

73
00:04:32,430 --> 00:04:37,410
Pero después vamos a ver básicamente como un objeto, pero solamente contiene valores constantes, pero

74
00:04:37,410 --> 00:04:38,520
lo vamos a ver más adelante.

75
00:04:38,670 --> 00:04:41,760
Entonces, por ejemplo, toma el valor de una variable dentro del switch.

76
00:04:41,940 --> 00:04:42,860
Lo evalúa?

77
00:04:43,160 --> 00:04:45,750
Acá se evalúa esta expresión y compara por valor.

78
00:04:45,840 --> 00:04:46,980
Entonces el valor a esta variable.

79
00:04:46,980 --> 00:04:48,480
Coincide con alguno de estos casos?

80
00:04:48,570 --> 00:04:53,720
Va a ejecutar la sentencia y tiene la palabra break opcional.

81
00:04:53,830 --> 00:04:59,540
La podemos utilizar o no, pero la utilizamos para evitar que ejecute en cascada los.

82
00:05:00,030 --> 00:05:05,860
Casos porque, por ejemplo, si coincide con el valor 2 ejecuta el 2 y si no tenemos el Breck, ejecutar

83
00:05:05,950 --> 00:05:08,920
en cascada todos los demás casos hasta llegar al final.

84
00:05:09,040 --> 00:05:15,060
Entonces, para evitar y solamente ejecutar el bloque en cuestión, utilizamos break para salirnos de

85
00:05:15,060 --> 00:05:20,140
la sentence switch y que continúe con la siguiente línea o con la ejecución normal de nuestra aplicación

86
00:05:20,260 --> 00:05:23,140
y después de cada caso, que es con su valor.

87
00:05:23,170 --> 00:05:28,510
Por ejemplo, si el tipo de trampa con comillas, si el tipo numérico colocamos el valor de la literal

88
00:05:28,600 --> 00:05:31,840
del número del integer, si es un char con comilla simple.

89
00:05:31,870 --> 00:05:39,250
En fin, luego viene el 2.2.1 y una sentencia acá en los Keys no lleva llaves para nada.

90
00:05:39,340 --> 00:05:40,420
No hay llaves, solamente dos.

91
00:05:40,420 --> 00:05:40,980
Punto.

92
00:05:41,180 --> 00:05:45,880
Y podemos tener varias sentencias o líneas de código en ese bloque y después un pratts.

93
00:05:46,120 --> 00:05:53,070
Y al final, si no existe coincidencia con ningún caso, se ejecuta esta sentencia por defecto o difosfato.

94
00:05:54,660 --> 00:05:59,530
Y para finalizar, veamos separadores en Java porque son otros caracteres o más caracteres.

95
00:05:59,530 --> 00:06:02,050
Son símbolos con un significado especial en Java.

96
00:06:02,170 --> 00:06:03,500
Se les conoce como separadores.

97
00:06:03,520 --> 00:06:09,550
Por ejemplo, hemos visto todo prácticamente paréntesis que se utiliza para contener condiciones en

98
00:06:09,550 --> 00:06:11,230
sentencias de flujo de control.

99
00:06:11,260 --> 00:06:15,130
Por ejemplo, en los IFF, en los switch keys también.

100
00:06:15,130 --> 00:06:20,980
Después lo vamos a ver con los FOR en los tipos de iteración o bucles, con lo cual efeun también para

101
00:06:20,980 --> 00:06:26,440
contener la lista de parámetros o argumentos, tanto en definición de un método como también cuando

102
00:06:26,440 --> 00:06:32,320
se invoca o se llama un método en particular de una instancia de un objeto o de forma estática con el

103
00:06:32,320 --> 00:06:32,980
nombre de la clase.

104
00:06:33,070 --> 00:06:37,330
También se utiliza para modificar la procedencia de los operadores en una expresión.

105
00:06:37,450 --> 00:06:42,820
Recuerden que con los paréntesis podemos dar prioridad, por ejemplo, para operaciones aritméticas,

106
00:06:42,880 --> 00:06:47,080
para operandos lógicos con el aun con el lor f.

107
00:06:47,200 --> 00:06:49,060
También para realizar conversiones de tipo.

108
00:06:49,090 --> 00:06:50,320
Para realizar el cast.

109
00:06:50,410 --> 00:06:51,880
Para convertir, por ejemplo.

110
00:06:52,090 --> 00:06:58,810
O forzar esta conversión de un tipo integer a un tipo bit o un tipo chorti, por ejemplo.

111
00:06:58,960 --> 00:06:59,890
Luego tenemos las llaves.

112
00:06:59,950 --> 00:07:06,280
Se utiliza para definir bloques de código que define un contexto ãmbitos para elif dentro de un método

113
00:07:06,400 --> 00:07:09,920
dentro de un o un bucle dentro de un quayle.

114
00:07:10,030 --> 00:07:16,330
En fin, utilizábamos llaves para definir contexto, pero también se utiliza para contener valores iniciales

115
00:07:16,330 --> 00:07:19,420
de los arreglos para crear un arreglo por defecto con valores.

116
00:07:19,450 --> 00:07:20,690
Por ejemplo, el tipo string.

117
00:07:20,880 --> 00:07:24,760
Bueno, creo que también hemos visto algo y lo seguiremos viendo en el curso.

118
00:07:24,910 --> 00:07:25,990
Luego tenemos corchetes.

119
00:07:26,110 --> 00:07:32,080
Se utiliza tanto para declarar un arreglo o una matriz en el tipo dato como identificador de la variable,

120
00:07:32,230 --> 00:07:38,320
o también matrices, que básicamente son arreglos bidimensionales en dos dimensiones, pero también

121
00:07:38,350 --> 00:07:43,180
para acceder o referenciar valores que están dentro de los arreglos o de las matrices.

122
00:07:43,300 --> 00:07:49,180
Para acceder a un valor puntual utilizando índices o la posición donde se encuentra este elemento punto

123
00:07:49,180 --> 00:07:50,710
y coma para separar sentencia.

124
00:07:50,770 --> 00:07:55,630
Entonces cada línea código una sentencia con puntos y comas separados, pero también se utiliza para

125
00:07:55,630 --> 00:07:58,690
encadenar sentencias dentro de un foro.

126
00:07:58,840 --> 00:08:01,870
Después vamos a ver que los foros y también hemos visto, hemos visto algo.

127
00:08:01,990 --> 00:08:08,320
En algunos ejemplo, un foro está formado por tres partes por inicialización de la variable de control

128
00:08:08,410 --> 00:08:09,370
o del contador.

129
00:08:09,490 --> 00:08:14,140
Luego tenemos cuando se evalúa una condición típicamente la cantidad de veces que se tiene que iterar

130
00:08:14,140 --> 00:08:19,480
el foro mediante esta variable de control y la tercera parte para incrementar esta historial de control

131
00:08:19,570 --> 00:08:20,200
el incremento.

132
00:08:20,320 --> 00:08:25,420
Luego tenemos el coma separa identificadores consecutivo en la declaración de variable, es decir,

133
00:08:25,420 --> 00:08:31,070
podemos declarar una variable, el tipo integer, por ejemplo, y seguido del tipo podemos tener variable

134
00:08:31,120 --> 00:08:36,180
uno coma variable dos coma, variable tres coma por ejemplo y después termina el punto y coma.

135
00:08:36,280 --> 00:08:41,920
Pero también en la lista de parámetros de un método también podemos separar argumentos o parámetros

136
00:08:41,980 --> 00:08:47,200
mediante coma, y el punto se utiliza en la variable del tipo de referencia, que también se le conoce

137
00:08:47,200 --> 00:08:53,140
como objetos cuando queremos llamar, por ejemplo, a un método o a un atributo, pero también de forma

138
00:08:53,140 --> 00:08:55,420
estática con el nombre la clase punto.

139
00:08:55,450 --> 00:08:58,600
Por ejemplo, algún método estático o atributo estático.

140
00:08:58,680 --> 00:09:04,330
Y también nos sirve para separar nombres de paquetes o package o paquetes de una clase.

141
00:09:04,420 --> 00:09:10,260
Cuando lo importamos arriba en el import o cuando se define un package con la palabra clave packages.

142
00:09:10,490 --> 00:09:12,930
Bueno, son cosas que después vamos a ver porque todavía no hemos llegado.

143
00:09:12,940 --> 00:09:13,220
Zabarte.

144
00:09:13,450 --> 00:09:15,700
Después lo vemos más en detalle y todo.

145
00:09:15,880 --> 00:09:17,940
Continuamos en la siguiente clase.
