1
00:00:00,170 --> 00:00:06,660
Bien, en esta clase continuamos con el flujo de control for for no permite implementar bucles o ciclos

2
00:00:06,750 --> 00:00:12,930
en Java, su sentencia de control repetitivas iteraciones que modifican el flujo secuencial de nuestra

3
00:00:12,930 --> 00:00:19,290
aplicación, pero ejecutando una o más veces un mismo bloque de código de forma reiterativa, en donde

4
00:00:19,290 --> 00:00:25,170
se tienen que conocer los límites del ciclo del foro, el valor inicial de la iteración, cuándo comienza

5
00:00:25,260 --> 00:00:26,070
y cuándo termina.

6
00:00:26,190 --> 00:00:30,000
Es decir, cuántas veces se va a repetir este fragmento de código.

7
00:00:30,060 --> 00:00:30,690
Este bloquea.

8
00:00:31,050 --> 00:00:36,450
Entonces, cuando usamos FOR se tiene que conocer los límites, pero también en Java hay otros flujo

9
00:00:36,450 --> 00:00:39,090
de control de ciclos o bucles.

10
00:00:39,120 --> 00:00:45,390
Por ejemplo, el Weyl, el dual, pero la diferencia que usamos el bruzual mientras se cumpla una condición

11
00:00:45,480 --> 00:00:47,190
evalúa una expresión booleana.

12
00:00:47,210 --> 00:00:53,970
Si Astrud va a empezar a repetir una y otra vez un ciclo, una iteración, pero con el Forth es importante

13
00:00:53,970 --> 00:00:54,960
conocer los límites.

14
00:00:55,080 --> 00:01:01,020
Es decir, más allá de evaluar una expresión, se tiene que conocer el valor inicial y el valor final,

15
00:01:01,170 --> 00:01:06,420
es decir, reiterar hasta cierta cantidad de veces la que necesitemos implementar.

16
00:01:06,550 --> 00:01:08,220
Bueno, veamos un poco más en detalle.

17
00:01:08,310 --> 00:01:13,830
Yo sé que vimos algo del foro, hemos trabajado con Forth, pero ahora lo vamos a ver un poco más en

18
00:01:13,830 --> 00:01:14,310
detalle.

19
00:01:14,730 --> 00:01:19,380
Vamos a cerrar lo que tenemos y vamos a crear una nueva clase.

20
00:01:21,660 --> 00:01:22,710
Sentencia For.

21
00:01:30,030 --> 00:01:36,070
La palabra clave o reservada effort y bacón paréntesis, como todo flujo de control.

22
00:01:36,120 --> 00:01:43,110
Pero el foro está formado por tres partes separada, con puntos y comas y opcionalmente lleva llaves.

23
00:01:43,200 --> 00:01:45,990
Cuando es una línea de código se pueden omitir la llave.

24
00:01:46,550 --> 00:01:48,840
Después lo vemos, pero por ahora son tres partes.

25
00:01:49,020 --> 00:01:56,040
La primera de inicialización del for a cause inicializar la variable con la cual debe comenzar la iteración.

26
00:01:56,150 --> 00:02:01,170
Esto se ejecuta una sola vez en todo el ciclo de vida del foro una sola vez.

27
00:02:01,260 --> 00:02:05,970
Al principio, al comienzo por ejemplo int y igual a cero.

28
00:02:06,120 --> 00:02:11,880
Entonces usamos la variable y ojota o el nombre que queramos, pero tipicamente y para inicializar,

29
00:02:12,330 --> 00:02:19,170
luego tenemos el siguiente compartimiento o parte donde se evalúa una expresión de término.

30
00:02:19,320 --> 00:02:26,250
Es decir, cuando esta expresión poliana es falsa, termina Alford y va ejecutar cada iteración mientras

31
00:02:26,250 --> 00:02:27,120
sea verdadera.

32
00:02:27,210 --> 00:02:33,150
Por ejemplo ciel y en menor o igual que un valor, un valor límite, por ejemplo.

33
00:02:33,350 --> 00:02:33,940
5.

34
00:02:34,290 --> 00:02:39,440
En este caso reiterar de cero hasta cuatro, porque el 5 no es inclusivo inclusive.

35
00:02:39,750 --> 00:02:42,560
Pero si colocamos, por ejemplo, igual a 5.

36
00:02:42,660 --> 00:02:42,900
Ahí se.

37
00:02:44,570 --> 00:02:46,170
Y acá el incremento.

38
00:02:46,290 --> 00:02:53,880
La tercera parte sería el incremento de la variable I, por ejemplo, y igual +1, pero ya sabemos que

39
00:02:53,880 --> 00:02:58,500
eso se puede escribir simplemente como esto un post incremento.

40
00:02:58,730 --> 00:03:02,170
Bien, esto acá se ejecuta al final de cada iteración.

41
00:03:02,340 --> 00:03:09,720
Entonces cuando termina cada club o cada iteración se incrementa al final se evalúa al comienzo de cada

42
00:03:09,720 --> 00:03:10,260
iteración.

43
00:03:10,320 --> 00:03:15,490
Va preguntando entonces, por ejemplo, si vale cero, cero es menor o igual que 5 si.

44
00:03:15,540 --> 00:03:16,050
Perfecto.

45
00:03:16,110 --> 00:03:21,150
Entonces ejecuta el código incremental y después vuelve a preguntar.

46
00:03:21,240 --> 00:03:21,720
1.

47
00:03:21,750 --> 00:03:23,030
Por qué ahora iba de 1?

48
00:03:23,300 --> 00:03:24,720
Es menor o igual que 5?

49
00:03:24,720 --> 00:03:29,700
Si ejecuta el código y vuelve a incrementar, ahora vale 2 2.

50
00:03:29,810 --> 00:03:37,200
Es menor o igual que 5 si ejecuta el código y al final del código vuelve a incrementar y así hasta llegar

51
00:03:37,230 --> 00:03:41,460
a 5, entonces 5 en menor o igual que 5 si es igual.

52
00:03:41,490 --> 00:03:46,800
Por lo tanto, ejecutar código incrementa vale 6 6 es menor, igual que 5.

53
00:03:46,800 --> 00:03:48,510
No termina, se sale.

54
00:03:50,560 --> 00:03:52,210
Vamos a imprimir, vamos a probar.

55
00:03:56,600 --> 00:04:04,740
Vejan va de cero hasta cinco, por lo tanto y Thera seis veces, incluyendo 0 1 2 3 4 5 6 veces.

56
00:04:05,720 --> 00:04:11,720
Ahora se quito al igual reiterar de cero hasta cuatro, porque el 5 nos incluye.

57
00:04:14,810 --> 00:04:19,380
Y acá serían cinco iteraciones, incluyendo cero cinco iteraciones.

58
00:04:20,370 --> 00:04:25,950
Ahora, si partimos en 1, por ejemplo, hasta 5 va a imprimir de 1 a 4.

59
00:04:27,250 --> 00:04:28,240
Cuatro iteraciones.

60
00:04:28,320 --> 00:04:29,440
No se incluye el 5.

61
00:04:30,370 --> 00:04:32,860
Se fijan si colocamos igual.

62
00:04:33,420 --> 00:04:34,570
Bueno, ahí se incluye.

63
00:04:36,650 --> 00:04:43,910
De 1 a 5, entonces todo depende del límite, del límite inicial y del límite final y se incrementa

64
00:04:44,000 --> 00:04:47,660
luego de cada iteración, lo dejamos en cero.

65
00:04:48,680 --> 00:04:52,060
Como explicaba, cuando es una sola línea podemos omitir las llaves.

66
00:04:52,400 --> 00:04:53,030
En este caso.

67
00:04:54,750 --> 00:04:55,800
Funciona exactamente igual.

68
00:04:55,860 --> 00:05:00,270
Pero si ya tenemos más de una línea, estamos obligados a utilizar llaves.

69
00:05:00,930 --> 00:05:04,950
De todas formas, como buena práctica, siempre es conveniente usar llaves.

70
00:05:05,340 --> 00:05:08,790
Es mucho más legible, mucho más fácil de leer y es buena práctica.

71
00:05:09,610 --> 00:05:11,160
Esto acá sería similar.

72
00:05:11,370 --> 00:05:18,690
De hecho, cada uno de estos compartimientos o parte del foro son opcionales y lo podemos manejar a

73
00:05:18,690 --> 00:05:19,350
nuestro gusto.

74
00:05:19,410 --> 00:05:29,400
Por ejemplo, podríamos quitar la inicialización dentro del foro y la dejamos fuera del foro acá entonces

75
00:05:29,490 --> 00:05:31,050
y se realiza fuera el foro.

76
00:05:31,410 --> 00:05:35,670
La diferencia que en este caso y es una variable del alcance del método.

77
00:05:35,970 --> 00:05:40,740
Por lo tanto, el alcance es mucho mayor que el alcance que tendría dentro del foro.

78
00:05:40,950 --> 00:05:45,920
Recuerden que siempre con contexto o el ámbito o alcance es de acuerdo a las llaves.

79
00:05:46,500 --> 00:05:49,590
Si está acá, el alcance sería del método MEIC.

80
00:05:50,340 --> 00:05:53,490
Si está acá, el alcance sería solamente el foro.

81
00:05:54,240 --> 00:05:54,720
Veamos.

82
00:05:56,490 --> 00:05:57,650
Acá puede imprimir, Helí.

83
00:05:57,870 --> 00:05:58,650
Por qué?

84
00:05:58,770 --> 00:06:04,530
Es parte del alcance del método, ya sea el metodo main o cualquier método en que estemos trabajando

85
00:06:04,710 --> 00:06:06,210
en cualquier método en cuestión.

86
00:06:06,330 --> 00:06:07,120
En este caso, método.

87
00:06:07,320 --> 00:06:10,950
Pero bueno, acá Helí, cuánto va a valer al final?

88
00:06:11,070 --> 00:06:16,230
Acá se imprime de 1 a 5, es cierto, pero cuando se imprime el 5, después se incrementa.

89
00:06:16,320 --> 00:06:20,130
Vale 6 y pregunta 6 en menor o igual a 5, no?

90
00:06:20,280 --> 00:06:22,450
Por lo tanto se sale, pero vale.

91
00:06:22,510 --> 00:06:22,820
6.

92
00:06:22,950 --> 00:06:23,460
Al final.

93
00:06:26,440 --> 00:06:30,640
Entonces en el foro imprime esto y afuera imprime.

94
00:06:31,750 --> 00:06:33,910
El 6 porque finalmente iba l6.

95
00:06:34,220 --> 00:06:36,220
Ahora si quitamos el igual, cuánto vale?

96
00:06:36,230 --> 00:06:39,610
Si fuera bueno, acaban de 1:4.

97
00:06:39,830 --> 00:06:42,230
Recuerden, pero después de cuatro se incrementa.

98
00:06:42,260 --> 00:06:44,990
Vale 5 5, es menor o igual a 5?

99
00:06:44,990 --> 00:06:46,040
No se sale.

100
00:06:46,160 --> 00:06:46,800
No es menor.

101
00:06:47,610 --> 00:06:48,620
Entonces sacaba 5.

102
00:06:52,960 --> 00:06:55,720
Pero en prime de 0 a 4 y afuera vale 5.

103
00:06:55,990 --> 00:06:58,930
Ahora qué pasa si dejamos como es típico?

104
00:06:58,990 --> 00:07:01,600
Es común dejar siempre dentro el foro?

105
00:07:03,830 --> 00:07:04,970
Qué pasa si lo dejamos dentro?

106
00:07:05,220 --> 00:07:13,520
Bueno, ahora está variable y Edel For está dentro y solamente dentro del contexto del foro y no fuera

107
00:07:13,580 --> 00:07:14,540
por lo tanto Helí.

108
00:07:14,710 --> 00:07:20,780
Acá no existe y marca un error, no se puede resolver, es símbolo y claro, no es una variable del

109
00:07:20,780 --> 00:07:22,790
método, sino el local del foro.

110
00:07:23,930 --> 00:07:29,200
Esa es la diferencia, entonces igualmente se utilizar fuera o dentro, pero lo más recomendable dentro,

111
00:07:29,410 --> 00:07:33,790
de tal forma podríamos tener varios foros y estos foros nos interrumpen.

112
00:07:34,060 --> 00:07:35,970
No hay conflicto en la verdad.

113
00:07:36,020 --> 00:07:37,900
Leí entre uno y otro.

114
00:07:38,760 --> 00:07:41,530
Se fijan qué pasa con el incremento?

115
00:07:41,710 --> 00:07:43,580
Ya vimos que podemos tener esto afuera.

116
00:07:44,710 --> 00:07:48,340
Lo dejamos afuera, pero también podríamos quitar el incremento.

117
00:07:49,140 --> 00:07:49,750
Loquito.

118
00:07:50,500 --> 00:07:51,040
Se fijan.

119
00:07:51,130 --> 00:07:53,680
La inicialización la dejamos afuera.

120
00:07:53,830 --> 00:07:57,550
El incremento lo dejamos al final de cada iteración.

121
00:07:57,790 --> 00:07:58,660
También lo vamos a hacer.

122
00:07:58,720 --> 00:07:59,350
Es lo mismo.

123
00:08:02,010 --> 00:08:03,090
Funciona exactamente igual.

124
00:08:03,330 --> 00:08:04,470
Se fijan igual.

125
00:08:05,280 --> 00:08:07,020
Ahora podré quitar esto?

126
00:08:07,780 --> 00:08:09,510
Sí, también se puede quitar del foro.

127
00:08:09,630 --> 00:08:12,380
De hecho, también se podría manejar con ONIF acá.

128
00:08:14,970 --> 00:08:19,160
Entonces, cuando cumpla una condición, salirnos del foro.

129
00:08:19,430 --> 00:08:26,420
Pero en realidad, cuando el DI este caso sea mayor que 5, cuando ya es mayor que 5 o igual, por ejemplo,

130
00:08:26,420 --> 00:08:29,090
mayor o igual al límite, ahí no salimos.

131
00:08:29,210 --> 00:08:30,980
Y cómo nos salimos con el break?

132
00:08:31,220 --> 00:08:34,520
Igual como nos salimos dentro del sweetfx.

133
00:08:34,730 --> 00:08:39,800
También lo podemos utilizar en cualquier flujo de control y sobre todo en iteraciones, en ciclos,

134
00:08:39,890 --> 00:08:44,120
como en el foro, en el cual podemos usar el Pre-K para salirnos bien.

135
00:08:44,210 --> 00:08:50,210
En este caso va a imprimir de cero hasta 5, porque se sale solamente cuando no cumple la condición,

136
00:08:50,360 --> 00:08:55,590
pero por ejemplo, vale cero, comienza cero, es mayor que 5?

137
00:08:55,640 --> 00:09:01,430
Por supuesto que no, por lo tanto esto no se ejecuta y continúa e imprime cero incrementa vale 1 y

138
00:09:01,430 --> 00:09:08,240
así uno dos tres cuatro cinco cinco es mayor que 5.

139
00:09:08,300 --> 00:09:09,530
Tampoco son iguales.

140
00:09:09,560 --> 00:09:14,840
Por lo tanto, no se ejecuta, imprimes 5, incrementa 6, 6 es mayor que 5.

141
00:09:14,840 --> 00:09:17,870
Si se sale, se fija, se va a imprimir hasta 5.

142
00:09:20,850 --> 00:09:24,680
Ahora qué pasa si colocamos igual imprime 5 o no?

143
00:09:25,230 --> 00:09:29,460
Claro que no, porque cuando iba al K5 va a preguntar 5.

144
00:09:29,570 --> 00:09:31,320
Es mayor o igual que 5?

145
00:09:31,400 --> 00:09:32,550
Sí, porque es igual.

146
00:09:32,580 --> 00:09:34,890
Por lo tanto, se sale y no se imprime.

147
00:09:34,890 --> 00:09:36,270
5 y llega hasta ahí nomás.

148
00:09:36,360 --> 00:09:38,130
No se imprime, no es inclusivo.

149
00:09:40,850 --> 00:09:41,680
Imprime hasta cuatro.

150
00:09:42,230 --> 00:09:43,840
Entonces también se podría manejar con ONIF.

151
00:09:44,110 --> 00:09:49,410
Para Bueno, lo lógico es implementarlo acá, pero de que se puede se puede.

152
00:09:49,530 --> 00:09:52,590
Se puede manejar los límites con ONIF?

153
00:09:53,040 --> 00:09:54,390
Inicializar acá afuera?

154
00:09:55,090 --> 00:09:55,590
Al final.

155
00:09:55,650 --> 00:09:55,980
En fin.

156
00:09:56,430 --> 00:10:00,810
Pero lo ideal es dejarlo acá tal como lo teníamos.

157
00:10:11,090 --> 00:10:17,020
Bien, pero también cómo podemos tener un foro que comience en cero y vaya incrementando hasta llegar

158
00:10:17,080 --> 00:10:17,820
a un límite.

159
00:10:17,890 --> 00:10:20,880
Por ejemplo, hasta 5 hasta 10.

160
00:10:21,040 --> 00:10:23,320
En fin, recuerda que acá el 10 nos incluye.

161
00:10:23,440 --> 00:10:25,120
Entonces va a imprimir de cero a nueve.

162
00:10:27,950 --> 00:10:30,990
Se dejan al menos que incluyamos con el igual el 10.

163
00:10:32,410 --> 00:10:34,150
Pero bueno, acá estamos incrementando.

164
00:10:35,650 --> 00:10:39,400
Qué pasa si quiero partir, por ejemplo, todo al revés, partir de 10 y llegar a cero.

165
00:10:40,190 --> 00:10:48,640
Bueno, un for y pero parte en 10, comienza antes y va a terminar cuando Eli sea mayor que cero.

166
00:10:49,310 --> 00:10:52,900
Bueno, pues en mayor o igual depende si lo quiero incluir o no incluir.

167
00:10:53,100 --> 00:10:58,380
Si lo quiere incluir, colocábamos el igual punto y coma y decretamos.

168
00:10:59,020 --> 00:11:05,440
Entonces parte en diez y vamos incrementando y termina hasta que el hijo sea menor que cero.

169
00:11:05,560 --> 00:11:10,860
En otras palabras, se va a ejecutar este foro mientras Eli sea mayor, igual a cero.

170
00:11:18,060 --> 00:11:24,940
Entonces, de parte alrevés parte de 10 9 y empieza a incrementar hasta llegar a cero.

171
00:11:26,240 --> 00:11:31,420
Incluso podríamos tener más de una variable de inicio en un foro y Incrementarã.

172
00:11:31,420 --> 00:11:33,840
Ambas o incrementar o hacer combinaciones.

173
00:11:33,860 --> 00:11:44,420
Por ejemplo, vamos a tener un foro y vale uno coma j vale 10 entonces y parte 1, pero J va a partir

174
00:11:44,420 --> 00:11:44,770
en 10.

175
00:11:44,850 --> 00:11:50,090
J Lo incrementamos, pero si lo incrementamos, entonces cuando ambos estén en 5, por ejemplo, cuando

176
00:11:50,290 --> 00:11:56,570
se incremente y llegue hasta 5 y J llega 5 también, pero se vaya incrementando hasta llegar a 5.

177
00:11:56,630 --> 00:12:01,130
Termina el foro y finaliza cuando Helí sea mayor que J.

178
00:12:01,640 --> 00:12:04,290
Es decir, mientras el Licea menor que J.

179
00:12:04,400 --> 00:12:13,340
Entonces va iterar incrementamos helí, incrementamos el J y vamos a mostrar el I y el J.

180
00:12:14,120 --> 00:12:17,960
Esto lo vamos a quitar y más.

181
00:12:21,900 --> 00:12:32,550
Y parte en 1 J parten 10 y después 2 9, y así hasta que ambos lleguen a 5 y cuando y 5 es menor que

182
00:12:32,630 --> 00:12:33,140
5.

183
00:12:33,370 --> 00:12:34,560
No se van a salir.

184
00:12:39,740 --> 00:12:45,620
Se fijan unos 10 2 9, 3 8 y así, pero cuánto vale?

185
00:12:45,620 --> 00:12:53,450
5 helí y 4 J vale 5 finaliza el foro, ya que cinco nueve nueve cinco si no son iguales.

186
00:12:53,600 --> 00:12:54,500
Entonces finaliza.

187
00:12:55,340 --> 00:13:01,460
Entonces me pongo tener esas mezclas extrañas dentro de un foro con más de una variable y trabajar con

188
00:13:01,460 --> 00:13:04,790
estas variables, compararlas, incrementarlas, comentarlas.

189
00:13:04,850 --> 00:13:05,180
En fin.

190
00:13:05,300 --> 00:13:08,720
Ahora, por ejemplo, voy a copiar este de acá, lo voy a pegar acá.

191
00:13:10,340 --> 00:13:17,140
Qué pasa si quiero solamente imprimir números impares 1 3, 5, 7, 9?

192
00:13:17,330 --> 00:13:20,810
Se fijan solamente números impares y los números pares se los salte?

193
00:13:20,990 --> 00:13:22,430
No los buenos.

194
00:13:22,690 --> 00:13:23,780
Cómo lo podemos implementar?

195
00:13:23,780 --> 00:13:25,730
Como lo podemos trabajar con Univ.

196
00:13:26,270 --> 00:13:33,650
Por ejemplo, acá ONIF y calculamos el módulo de PI por ejemplo y porcentaje 2 le calculamos el módulo

197
00:13:33,770 --> 00:13:35,360
de 2 C igual a cero.

198
00:13:36,320 --> 00:13:43,760
Eso significa que y es par, entonces si es par saltamos o terminamos de iteración, pero no el.

199
00:13:44,080 --> 00:13:50,360
El foro continúa, lo que terminamos es la iteración actual, nos salimos de la iteración actual, se

200
00:13:50,360 --> 00:13:55,690
incrementa ahí y vuelve con la siguiente iteración con el link incrementado, pero esta hasta la salta.

201
00:13:55,730 --> 00:13:58,660
Por lo tanto no imprime el valor de ahí.

202
00:13:59,000 --> 00:14:00,800
Para eso utilizamos continues.

203
00:14:02,360 --> 00:14:07,100
Entonces lo que hace continúe, en vez de salirse del foro, lo que hace es salirse de la iteración

204
00:14:07,460 --> 00:14:09,200
y continúa con la siguiente iteración.

205
00:14:09,410 --> 00:14:13,850
Entonces se cree que Sedapar se sale y solamente a imprimir números impares.

206
00:14:18,110 --> 00:14:20,090
1 3 5 7 9.

207
00:14:20,720 --> 00:14:25,190
Ahora, si queremos que sean números pares en la negación, puede ser acá.

208
00:14:25,280 --> 00:14:26,810
Recuerden, puede ser acá.

209
00:14:31,740 --> 00:14:39,940
2 4 6 Se fijan o bien podría ser igual esto, pero con paréntesis acá otra forma de negar Univ.

210
00:14:40,600 --> 00:14:45,220
Se evaluó la expresión, pero la negamos acá con sin reclamacion.

211
00:14:45,340 --> 00:14:48,390
Acá eso sería como una expresión, un área.

212
00:14:48,880 --> 00:14:50,350
Negamos esta expresión.

213
00:14:50,830 --> 00:14:52,900
El resultado cierto es tru, lo negamos.

214
00:14:52,930 --> 00:14:55,780
Por lo tanto, fouls, por ejemplo, un cierto fours.

215
00:14:55,870 --> 00:14:57,910
Estos tru fijan la negación.

216
00:15:00,780 --> 00:15:03,670
También 2, 4, 6, 8 y 10.

217
00:15:04,370 --> 00:15:06,500
Eso solamente para imprimir números pares.

218
00:15:06,880 --> 00:15:12,380
Y recuerden que se utiliza mucho Ford para iterar sobre arreglos y es justamente lo que queremos hacer

219
00:15:12,440 --> 00:15:13,340
la siguiente clase.

220
00:15:13,430 --> 00:15:15,560
Vamos a tener un arreglo, vamos a iterar.

221
00:15:15,630 --> 00:15:18,860
Bueno, y es muy fácil porque el arreglo tiene el atributo.

222
00:15:18,950 --> 00:15:24,140
Lenka Ya puedo manejar el término de la iteración cuando finaliza el bucle.

223
00:15:24,260 --> 00:15:25,900
Nos vemos en la siguiente clase.
