1 00:00:00,000 --> 00:00:11,740 Lo que les decía a vuestros compañeros, es importante que estos conceptos queden claros al principio, porque luego así todo lo vais a aprender de forma mucho más natural, sobre conceptos que ya están más claros. 2 00:00:12,519 --> 00:00:21,660 Lo que me decía alguno de vuestros compañeros, que lo de variable, tipo, que os hacía un poco más confuso, pues a ver si con este ejemplo lo veis mejor. 3 00:00:21,660 --> 00:00:24,359 la variable es 4 00:00:24,359 --> 00:00:26,019 un dato en concreto 5 00:00:26,019 --> 00:00:28,239 un ejemplo concreto de algo 6 00:00:28,239 --> 00:00:29,640 un ejemplo concreto 7 00:00:29,640 --> 00:00:30,519 ¿vale? 8 00:00:31,280 --> 00:00:33,759 él es un ejemplo concreto 9 00:00:33,759 --> 00:00:36,259 de alumnos, es un ejemplo concreto 10 00:00:36,259 --> 00:00:37,740 por eso 11 00:00:37,740 --> 00:00:39,880 su nombre, William, sería 12 00:00:39,880 --> 00:00:41,500 el nombre de la variable 13 00:00:41,500 --> 00:00:43,619 porque él es un ejemplo concreto, él está ahí, existe 14 00:00:43,619 --> 00:00:45,619 y es un ejemplo en particular 15 00:00:45,619 --> 00:00:47,520 un ejemplo en particular 16 00:00:47,520 --> 00:00:50,000 que es diferente a otro ejemplo 17 00:00:50,000 --> 00:00:51,939 concreto que tiene su nombre 18 00:00:51,939 --> 00:00:53,219 que es él, Luis 19 00:00:53,219 --> 00:00:55,740 él es otro ejemplo concreto 20 00:00:55,740 --> 00:00:57,700 otro dato, él es un dato 21 00:00:57,700 --> 00:00:59,320 y él es otro dato, son distintos 22 00:00:59,320 --> 00:01:00,759 ¿vale? 23 00:01:01,460 --> 00:01:03,979 pero los dos comparten algo 24 00:01:03,979 --> 00:01:05,900 que son del mismo tipo 25 00:01:05,900 --> 00:01:07,500 él 26 00:01:07,500 --> 00:01:09,659 es un alumno y él 27 00:01:09,659 --> 00:01:12,040 es un alumno, entonces son del mismo 28 00:01:12,040 --> 00:01:13,719 tipo, en este caso 29 00:01:13,719 --> 00:01:15,840 el tipo que yo me he inventado que es el tipo 30 00:01:15,840 --> 00:01:17,739 alumno, como los dos 31 00:01:17,739 --> 00:01:19,760 son del mismo tipo, pues yo 32 00:01:19,760 --> 00:01:25,920 pongo delante en ambos la misma cosa, alumno, porque los dos son del mismo tipo. Ese tipo 33 00:01:25,920 --> 00:01:30,680 tiene que estar bien definido, claro, en mi caso podría ser, yo he definido alumno como 34 00:01:30,680 --> 00:01:35,540 ser un humano matriculado en primera edad del Rosa Chacel. Ah, pues él es de ese tipo, 35 00:01:35,959 --> 00:01:41,000 porque es un humano matriculado en primera edad del Rosa Chacel. Pues este tipo de dato 36 00:01:41,000 --> 00:01:47,219 aquí delante está bien. Él también es de este tipo, porque es un humano matriculado 37 00:01:47,219 --> 00:01:51,859 en primera edad del Rosachacel, que es la definición de ese tipo. Pues está muy bien 38 00:01:51,859 --> 00:01:59,500 puesto su tipo, ¿vale? Entonces, variables de un tipo, del mismo, puede haber un montón, 39 00:02:00,200 --> 00:02:06,079 cada una es un ejemplo concreto, tiene un dato distinto, pero todas comparten que son 40 00:02:06,079 --> 00:02:12,860 el mismo tipo de dato. Número es el tipo, número. Pero, ¿números cuántos hay? Muchísimos. 41 00:02:12,860 --> 00:02:16,419 Cada uno es un ejemplo concreto del tipo número. 42 00:02:17,180 --> 00:02:23,599 Podría ser más fácil que en lugar de llamarlo byte, hubieran decidido llamarlo número. 43 00:02:24,340 --> 00:02:27,020 Entonces, yo me declaro mi variable así. 44 00:02:28,180 --> 00:02:29,539 Número, altura. 45 00:02:32,039 --> 00:02:35,139 Número, peso. 46 00:02:36,580 --> 00:02:36,780 ¿Vale? 47 00:02:37,340 --> 00:02:39,340 Estos son dos datos en concreto. 48 00:02:39,800 --> 00:02:41,759 La altura es un dato, 170. 49 00:02:42,319 --> 00:02:43,580 El peso es otro. 50 00:02:43,580 --> 00:02:45,539 60, lo que sea 51 00:02:45,539 --> 00:02:48,319 son dos datos distintos 52 00:02:48,319 --> 00:02:50,180 cada uno tiene que tener su nombre 53 00:02:50,180 --> 00:02:51,400 claro, porque si no, ¿cómo los distingo? 54 00:02:51,860 --> 00:02:54,460 pero los dos son del mismo tipo 55 00:02:54,460 --> 00:02:55,759 que es del tipo número 56 00:02:55,759 --> 00:03:00,360 ya está, y no olvidéis 57 00:03:00,360 --> 00:03:02,639 que además, estos datos 58 00:03:02,639 --> 00:03:04,520 que llamamos variables, lo que está aquí 59 00:03:04,520 --> 00:03:06,680 dentro guardado y lo que está aquí dentro guardado 60 00:03:06,680 --> 00:03:07,500 pueden variar 61 00:03:07,500 --> 00:03:10,580 ¿vale? según va cambiando 62 00:03:10,580 --> 00:03:12,719 el programa, lo que está aquí guardado 63 00:03:12,719 --> 00:03:14,639 puede ir cambiando, a veces la altura puede ser 64 00:03:14,639 --> 00:03:16,639 170, pero de repente 65 00:03:16,639 --> 00:03:18,740 hemos dado un estirón y el programa 66 00:03:18,740 --> 00:03:20,960 decide que aquí dentro haya guardado 67 00:03:20,960 --> 00:03:22,979 180, lo que sea, eso va a cambiar. 68 00:03:25,090 --> 00:03:26,629 Bueno, resulta 69 00:03:26,629 --> 00:03:28,330 que los tipos de datos que admite Java 70 00:03:28,330 --> 00:03:29,729 no son ni alumno ni número, 71 00:03:30,509 --> 00:03:32,409 sino son estos que hemos puesto 72 00:03:32,409 --> 00:03:36,599 aquí, que son los que estamos 73 00:03:36,599 --> 00:03:37,879 viendo qué significan. 74 00:03:38,439 --> 00:03:39,439 Pues altura y peso 75 00:03:39,439 --> 00:03:42,539 podrían ser de tipo byte. 76 00:03:43,159 --> 00:03:43,680 Los dos. 77 00:03:46,060 --> 00:03:47,919 ¿Qué significa ser de tipo byte? 78 00:03:47,919 --> 00:03:54,020 Lo único que significa ser de tipo byte es que puedes ser guardado en 8 bits 79 00:03:54,020 --> 00:03:57,080 Eso es lo único que significa ser de tipo byte 80 00:03:57,080 --> 00:04:00,879 Que puedes ser guardado en 8 bits 81 00:04:00,879 --> 00:04:07,879 Y que estás codificado en el sistema binario de codificación de números 82 00:04:07,879 --> 00:04:13,180 Que es el que los que no conozcáis lo conoceréis en sistemas informáticos 83 00:04:13,180 --> 00:04:17,660 Pero bueno, nosotros podemos trabajar aunque no sepamos exactamente qué es 84 00:04:17,660 --> 00:04:19,560 por ahora 85 00:04:19,560 --> 00:04:20,199 ¿vale? 86 00:04:21,379 --> 00:04:23,540 entonces, ¿altura es un número 87 00:04:23,540 --> 00:04:25,399 que me cabe 88 00:04:25,399 --> 00:04:27,839 en 8 bits 89 00:04:27,839 --> 00:04:29,980 según el sistema de codificación 90 00:04:29,980 --> 00:04:31,399 binario de números? 91 00:04:32,399 --> 00:04:33,839 bueno, pues sí 92 00:04:33,839 --> 00:04:35,699 me cabe porque la altura 93 00:04:35,699 --> 00:04:36,779 es de 100 94 00:04:36,779 --> 00:04:39,720 y en 8 bits me cabe 95 00:04:39,720 --> 00:04:41,139 el numerito 100 96 00:04:41,139 --> 00:04:43,699 guardado en el sistema binario 97 00:04:43,699 --> 00:04:44,899 de codificación de números 98 00:04:44,899 --> 00:04:47,060 vale, pues yo lo podría declarar como 100 99 00:04:47,060 --> 00:04:50,620 bueno pues byte entonces 100 00:04:50,620 --> 00:04:52,639 lo único que significa byte es 101 00:04:52,639 --> 00:04:55,500 un tipo de dato que puede ser guardado 102 00:04:55,500 --> 00:04:56,860 en 8 bits o lo que es lo mismo 103 00:04:56,860 --> 00:04:58,100 un byte en 8 bits 104 00:04:58,100 --> 00:05:01,319 y que se guarda en el sistema binario 105 00:05:01,319 --> 00:05:03,699 de codificación 106 00:05:03,699 --> 00:05:05,699 ¿quienes de aquí no conocéis 107 00:05:05,699 --> 00:05:07,319 la representación binaria de números? 108 00:05:07,759 --> 00:05:08,699 ¿hay alguien que la conozca? 109 00:05:09,699 --> 00:05:10,420 ¿o la conocéis? 110 00:05:10,420 --> 00:05:15,060 bueno que significa 111 00:05:15,060 --> 00:05:16,300 el tipo short 112 00:05:16,300 --> 00:05:21,680 Pues bueno, si entendemos esto y a todo lo demás, es sencillo 113 00:05:21,680 --> 00:05:34,459 El tipo short significa, hoy, número entero que se guarda en 2 bytes 114 00:05:34,459 --> 00:05:40,759 O lo que es lo mismo, 16 bits, según el sistema binario de representación de números 115 00:05:40,759 --> 00:05:50,639 Entonces, si yo necesito números un poquito más grandes de los que se pueden guardar en bytes 116 00:05:50,639 --> 00:05:52,240 que son solamente entre 117 00:05:52,240 --> 00:05:54,579 menos 127 y 127 y aprox 118 00:05:54,579 --> 00:05:56,800 necesito trabajar con números más grandes 119 00:05:56,800 --> 00:05:58,980 pues no elijo 120 00:05:58,980 --> 00:06:00,339 el bytes y no podía elegir el short 121 00:06:00,339 --> 00:06:01,879 ¿vale? 122 00:06:05,420 --> 00:06:07,300 ¿y qué significa el TPOIN? 123 00:06:09,000 --> 00:06:11,060 pues el TPOIN también es 124 00:06:11,060 --> 00:06:12,660 para números enteros 125 00:06:12,660 --> 00:06:14,040 pero ahora 126 00:06:14,040 --> 00:06:18,980 que se van a almacenar en 4 bytes 127 00:06:18,980 --> 00:06:30,740 es decir 128 00:06:30,740 --> 00:06:32,560 números enteros y un poco más tochos 129 00:06:32,560 --> 00:06:34,439 porque en 4 bytes 130 00:06:34,439 --> 00:06:36,399 ahora lo podemos comprobar por curiosidad 131 00:06:36,399 --> 00:06:38,040 ya se pueden representar 132 00:06:38,040 --> 00:06:38,660 como los binarios 133 00:06:38,660 --> 00:06:42,300 en 4 bytes 134 00:06:42,300 --> 00:06:43,860 ya se pueden representar más rápidamente 135 00:06:43,860 --> 00:06:48,199 y ya el log 136 00:06:48,199 --> 00:06:49,759 es para 137 00:06:49,759 --> 00:06:52,100 el tipo de dato, número entero 138 00:06:52,100 --> 00:06:53,300 pero 139 00:06:53,300 --> 00:06:56,480 reservando todo un pedazo de espacio 140 00:06:56,480 --> 00:06:58,399 de 8 bytes 141 00:06:58,399 --> 00:07:02,620 y con 8 bytes 142 00:07:02,620 --> 00:07:04,259 que son 143 00:07:04,259 --> 00:07:04,860 8 por 8 144 00:07:04,860 --> 00:07:07,839 64 bits 145 00:07:07,839 --> 00:07:10,819 se pueden representar ya en binario 146 00:07:10,819 --> 00:07:12,240 números muy grandotes 147 00:07:12,240 --> 00:07:14,860 entonces si mi programa 148 00:07:14,860 --> 00:07:16,319 va a usar números enteros 149 00:07:16,319 --> 00:07:17,199 muy grandotes 150 00:07:17,199 --> 00:07:20,519 por ejemplo estoy trabajando 151 00:07:20,519 --> 00:07:22,959 con unos enormes gigantes 152 00:07:22,959 --> 00:07:24,480 gigantescos 153 00:07:24,480 --> 00:07:27,160 pues podría decidir 154 00:07:27,160 --> 00:07:29,220 que la altura 155 00:07:29,220 --> 00:07:30,639 fuera de tipo long 156 00:07:30,639 --> 00:07:32,519 y el peso también 157 00:07:32,519 --> 00:07:33,839 de tipo long 158 00:07:33,839 --> 00:07:50,560 Entonces, si yo decido que el tipo de mi variable altura sea long, puedo guardar en esa variable números enormes, porque en una cajita de 8 bytes se pueden representar números enormes. 159 00:07:50,560 --> 00:07:55,519 normalmente no hace falta 160 00:07:55,519 --> 00:07:58,600 variables de tipo long 161 00:07:58,600 --> 00:08:03,399 para los programas más habituales 162 00:08:03,399 --> 00:08:05,560 porque quién necesita números tan grandotes 163 00:08:05,560 --> 00:08:06,959 para las operaciones básicas 164 00:08:06,959 --> 00:08:09,899 normalmente cuando en nuestro programa 165 00:08:09,899 --> 00:08:11,860 queremos declarar una variable 166 00:08:11,860 --> 00:08:13,459 de tipo número entero 167 00:08:13,459 --> 00:08:15,420 usamos el int directamente 168 00:08:15,420 --> 00:08:17,259 es el más habitual 169 00:08:17,259 --> 00:08:19,220 usar el int y ya está 170 00:08:19,220 --> 00:08:37,759 Y en una variable de tipo int, en esta variable, pues yo ya puedo meter números enteros, ¿vale? 171 00:08:37,759 --> 00:08:44,580 Porque la he declarado int, que significa número entero que se puede representar en 4 bytes. 172 00:08:45,320 --> 00:08:48,360 Byte, número entero que se puede representar en 1 byte. 173 00:08:48,879 --> 00:08:51,039 Short, número entero que se puede representar en 2. 174 00:08:51,440 --> 00:08:54,460 Int en 4, long, número entero que se puede representar en 8 bytes. 175 00:08:54,700 --> 00:09:04,480 ¿Vale? Pues de los ocho tipos de datos de Java ya conocemos cuatro, que nos valen para representar números enteros. 176 00:09:05,100 --> 00:09:10,360 ¿Vale? Entonces, a ver, para que no nos aburramos tanto. 177 00:09:12,820 --> 00:09:29,309 Vale. Vosotros vamos a escribir ya directamente alguna sentencia de declaración de variables. 178 00:09:29,309 --> 00:10:06,720 Y así frenamos un poco el rollo. 179 00:10:06,720 --> 00:10:08,659 va a instalar en su portátil 180 00:10:08,659 --> 00:10:09,519 no lo tiene todavía 181 00:10:09,519 --> 00:10:12,000 es muy sencillo 182 00:10:12,000 --> 00:10:15,059 simplemente buscáis 183 00:10:15,059 --> 00:10:22,419 os vais a google 184 00:10:22,419 --> 00:10:24,000 y buscáis aquí 185 00:10:24,000 --> 00:10:26,120 eclipse 186 00:10:26,120 --> 00:10:27,779 para iros a tiro fijo 187 00:10:27,779 --> 00:10:30,340 id for java developers 188 00:10:30,340 --> 00:10:32,379 gar enterprise 189 00:10:32,379 --> 00:10:34,360 y web developers 190 00:10:34,360 --> 00:10:35,940 eclipse id 191 00:10:35,940 --> 00:10:40,059 vale 192 00:10:40,059 --> 00:10:42,519 y aquí os llevará a esta página 193 00:10:42,519 --> 00:10:44,139 la que queremos, Eclipse IDE 194 00:10:44,139 --> 00:10:51,440 y aquí ya 195 00:10:51,440 --> 00:10:53,600 pues podéis descargar 196 00:10:53,600 --> 00:10:55,320 la versión que tengáis 197 00:10:55,320 --> 00:10:57,539 si es para Windows, para Linux o para Mac 198 00:10:57,539 --> 00:10:59,240 64 bits 199 00:10:59,240 --> 00:11:01,320 normalmente, aquí ya 200 00:11:01,320 --> 00:11:02,200 seleccionáis 201 00:11:02,200 --> 00:11:05,220 la descarga 202 00:11:05,220 --> 00:11:07,919 hay un instalador 203 00:11:07,919 --> 00:11:08,500 que 204 00:11:08,500 --> 00:11:13,139 yo creo que este 205 00:11:13,139 --> 00:11:15,240 se lleva al instalador 206 00:11:15,240 --> 00:11:15,600 porque 207 00:11:15,600 --> 00:11:23,190 no, este no me ha 208 00:11:23,190 --> 00:11:29,590 a ver 209 00:11:29,590 --> 00:11:44,960 a ver 210 00:11:44,960 --> 00:11:46,799 si lo buscamos por installer 211 00:11:46,799 --> 00:11:47,840 que será más fácil 212 00:11:47,840 --> 00:11:50,899 para vosotros, porque si no tenéis que 213 00:11:50,899 --> 00:11:52,820 descomprimir la carpeta y igual 214 00:11:52,820 --> 00:11:55,080 tenéis luego problemas 215 00:11:55,080 --> 00:11:56,539 entonces 216 00:11:56,539 --> 00:11:58,240 eclipse 217 00:11:58,240 --> 00:12:01,379 installer 218 00:12:01,379 --> 00:12:29,740 ese es el que estaba antes 219 00:12:29,740 --> 00:12:31,759 bueno, pues os podéis descargar 220 00:12:31,759 --> 00:12:32,600 el instalador 221 00:12:32,600 --> 00:12:35,580 y el instalador que a su vez es un programa escrito en Java 222 00:12:35,580 --> 00:12:37,240 ya cuando lo lanzáis con doble clic 223 00:12:37,240 --> 00:12:38,860 yo es que no lo quiero lanzar ahora porque 224 00:12:38,860 --> 00:12:41,039 pues ya os va a decir los pasos 225 00:12:41,039 --> 00:12:43,159 y ya está, y él los instala también 226 00:12:43,159 --> 00:12:44,860 ya directamente la JDK 227 00:12:44,860 --> 00:12:47,480 estas cosas que ya os iré explicando sobre la marcha 228 00:12:47,480 --> 00:12:49,639 lo que es, para no aturullar 229 00:12:49,639 --> 00:12:50,759 demasiado con cosas 230 00:12:50,759 --> 00:12:53,059 pero bueno, no deberíais tener problemas 231 00:12:53,059 --> 00:12:55,559 para instalar el entorno de desarrollo 232 00:12:55,559 --> 00:12:57,379 Eclipse este que acabo de abrir 233 00:12:57,379 --> 00:12:59,019 este de aquí 234 00:12:59,019 --> 00:13:00,940 desde este instalador 235 00:13:00,940 --> 00:13:05,720 ¿vale? bueno 236 00:13:05,720 --> 00:13:08,240 pues en los ordenadores del aula 237 00:13:08,240 --> 00:13:08,679 ya está 238 00:13:08,679 --> 00:13:12,080 entonces, este es el entorno 239 00:13:12,080 --> 00:13:14,100 bueno, al principio cuando lo abráis pues os saldrá 240 00:13:14,100 --> 00:13:15,779 una ventanita de no sé qué 241 00:13:15,779 --> 00:13:18,200 de bienvenida de sponsor 242 00:13:18,200 --> 00:13:19,399 la cerráis y ya está 243 00:13:19,399 --> 00:13:22,019 entonces el Eclipse limpio 244 00:13:22,019 --> 00:13:24,080 ¿vale? nosotros lo vamos a usar 245 00:13:24,080 --> 00:13:25,600 por ahora limpio 246 00:13:25,600 --> 00:13:27,059 vale 247 00:13:27,059 --> 00:13:31,159 Pues cómo trabaja Eclipse 248 00:13:31,159 --> 00:13:34,899 Eclipse organiza nuestro trabajo 249 00:13:34,899 --> 00:13:38,860 Por unas cosas que se llaman proyectos 250 00:13:38,860 --> 00:13:40,940 ¿Vale? Proyectos 251 00:13:40,940 --> 00:13:45,899 ¿Significa que mi software desarrollado en Java 252 00:13:45,899 --> 00:13:49,480 Vaya en unas cosas que se llaman proyectos? 253 00:13:50,000 --> 00:13:51,399 En absoluto 254 00:13:51,399 --> 00:13:52,419 Eso ya lo entenderé 255 00:13:52,419 --> 00:13:53,399 No tiene nada que ver 256 00:13:53,399 --> 00:13:57,559 Proyecto es como me organiza el entorno de mi trabajo 257 00:13:57,559 --> 00:13:58,899 Me organiza por proyecto 258 00:13:58,899 --> 00:14:01,960 Pero luego mi software de Java ya desarrollado 259 00:14:01,960 --> 00:14:04,059 Que yo entrego a la gente para que use 260 00:14:04,059 --> 00:14:06,019 Ni proyecto ni nada 261 00:14:06,019 --> 00:14:06,679 ¿Vale? 262 00:14:07,159 --> 00:14:09,139 Pero bueno, el entorno de desarrollo sí 263 00:14:09,139 --> 00:14:10,240 Me organiza por proyecto 264 00:14:10,240 --> 00:14:13,360 ¿Vale? Pues vamos a hacer nuestro primer proyecto 265 00:14:13,360 --> 00:14:15,139 Si queremos hacer cualquier código en Java 266 00:14:15,139 --> 00:14:16,659 Tenemos que asociarlo a un proyecto 267 00:14:16,659 --> 00:14:19,179 Trabajando con Eclipse, repito 268 00:14:19,179 --> 00:14:22,700 ¿Vale? Pues vamos a hacer nuestro primer proyecto 269 00:14:22,700 --> 00:14:24,559 para poder 270 00:14:24,559 --> 00:14:26,159 declarar una variable, dime 271 00:14:26,159 --> 00:14:27,039 ¿cuál era el tipo? 272 00:14:28,399 --> 00:14:28,919 perdón 273 00:14:28,919 --> 00:14:32,740 ¿a qué te refieres con el tipo? 274 00:14:38,779 --> 00:14:39,179 pero 275 00:14:39,179 --> 00:14:40,879 a ver, espérate un momento 276 00:14:40,879 --> 00:14:43,759 bueno, pues 277 00:14:43,759 --> 00:14:45,600 aquí está nuestro clip, se ha abierto 278 00:14:45,600 --> 00:14:47,639 cualquier código en Java, repito 279 00:14:47,639 --> 00:14:49,360 tenemos que asociarlo a un proyecto 280 00:14:49,360 --> 00:14:51,720 pues vamos a crear nuestro primer 281 00:14:51,720 --> 00:14:53,679 proyecto, pues venga, proyecto 282 00:14:53,679 --> 00:14:55,879 Java, mondo y lirondo, limpio 283 00:14:55,879 --> 00:14:57,419 sin meterle envidias 284 00:14:57,419 --> 00:14:59,000 proyecto de Java 285 00:14:59,000 --> 00:15:01,740 le tenemos que dar un nombre 286 00:15:01,740 --> 00:15:03,440 al proyecto, lógicamente 287 00:15:03,440 --> 00:15:05,500 pues venga, primeras pruebas 288 00:15:05,500 --> 00:15:07,799 primeras pruebas 289 00:15:07,799 --> 00:15:09,580 para no aburrirnos mucho 290 00:15:09,580 --> 00:15:11,779 el primer día 291 00:15:11,779 --> 00:15:13,820 vale, lo podéis dejar todo 292 00:15:13,820 --> 00:15:15,200 como está por ahora 293 00:15:15,200 --> 00:15:17,220 y darle a finish directamente 294 00:15:17,220 --> 00:15:19,860 sin pensar más 295 00:15:19,860 --> 00:15:23,429 ¡hala! 296 00:15:24,409 --> 00:15:25,110 ya tenemos 297 00:15:25,110 --> 00:15:27,470 nuestro primer proyecto que ahora mismo 298 00:15:27,470 --> 00:15:28,509 no tiene nada 299 00:15:28,509 --> 00:15:31,029 tiene este fichero 300 00:15:31,029 --> 00:15:32,690 que no nos importa ahora 301 00:15:32,690 --> 00:15:35,409 y tiene esto 302 00:15:35,409 --> 00:15:37,210 que ahora mismo tampoco es fácil 303 00:15:37,210 --> 00:15:38,409 de entender para nosotros 304 00:15:38,409 --> 00:15:41,590 solamente os digo, para los curiosos 305 00:15:41,590 --> 00:15:43,529 que esa es 306 00:15:43,529 --> 00:15:45,330 la máquina virtual 307 00:15:45,330 --> 00:15:47,690 que va a ejecutar el código que yo hago 308 00:15:47,690 --> 00:15:49,490 porque recordad 309 00:15:49,490 --> 00:15:50,470 lo que ya hemos dicho 310 00:15:50,470 --> 00:15:53,149 que Java es un lenguaje interpretado 311 00:15:53,149 --> 00:15:55,769 cuyo código lo interpreta 312 00:15:55,769 --> 00:15:57,429 la máquina virtual de Java 313 00:15:57,429 --> 00:16:01,169 Pues el proyecto me está diciendo 314 00:16:01,169 --> 00:16:03,450 El código que tú hagas 315 00:16:03,450 --> 00:16:05,149 Lo va a ejecutar 316 00:16:05,149 --> 00:16:06,750 Esta máquina virtual 317 00:16:06,750 --> 00:16:08,590 En mi caso la versión 25 318 00:16:08,590 --> 00:16:10,190 No sé la que habrá aquí 319 00:16:10,190 --> 00:16:11,809 ¿Vale? 320 00:16:15,000 --> 00:16:17,320 Bueno, pues ahora ya sí que podemos empezar 321 00:16:17,320 --> 00:16:18,960 A escribir nuestro primer código 322 00:16:18,960 --> 00:16:20,000 Que en este caso va a ser 323 00:16:20,000 --> 00:16:21,759 Declarar variables 324 00:16:21,759 --> 00:16:24,600 A ver si nos salen bien declaradas 325 00:16:24,600 --> 00:16:29,460 Punto java 326 00:16:29,460 --> 00:16:30,460 Los fuente 327 00:16:30,460 --> 00:16:32,720 los fuentes son .java 328 00:16:32,720 --> 00:16:34,639 los precompilados .class 329 00:16:34,639 --> 00:16:36,720 y luego ya los .class 330 00:16:36,720 --> 00:16:38,659 empaquetados son .java 331 00:16:38,659 --> 00:16:39,860 pero bueno, poco a poco, ¿vale? 332 00:16:41,659 --> 00:16:42,820 vale, pues entonces 333 00:16:42,820 --> 00:16:44,539 es que definitivamente el ordenador 334 00:16:44,539 --> 00:16:46,840 de clase mío por lo que sea no va 335 00:16:46,840 --> 00:16:48,879 y mi ordenador no termina 336 00:16:48,879 --> 00:16:49,419 de instalar 337 00:16:49,419 --> 00:16:52,740 bueno 338 00:16:52,740 --> 00:16:55,879 pues volvemos 339 00:16:55,879 --> 00:16:58,879 ala, entonces ya puedo hacer yo 340 00:16:58,879 --> 00:17:00,679 mi primer código fuente 341 00:17:00,679 --> 00:17:03,419 los ficheros 342 00:17:03,419 --> 00:17:05,000 que van a tener 343 00:17:05,000 --> 00:17:06,660 el código fuente de Java 344 00:17:06,660 --> 00:17:08,339 las agencias del lenguaje 345 00:17:08,339 --> 00:17:10,920 tienen que ser ficheros 346 00:17:10,920 --> 00:17:12,819 con extensión .java 347 00:17:12,819 --> 00:17:13,619 ¿vale? 348 00:17:14,359 --> 00:17:15,160 obligatoriamente 349 00:17:15,160 --> 00:17:18,160 ¿dónde lo creamos? 350 00:17:18,339 --> 00:17:19,779 aquí por las buenas donde me dé la gana 351 00:17:19,779 --> 00:17:21,799 no, donde me dé la gana no 352 00:17:21,799 --> 00:17:24,660 los ficheros tenemos que crearlos 353 00:17:24,660 --> 00:17:26,200 dentro de una cosa que se llama 354 00:17:26,200 --> 00:17:27,759 paquetes 355 00:17:27,759 --> 00:17:30,920 para que se puedan ejecutar correctamente. 356 00:17:31,480 --> 00:17:34,500 Todos estos detalles de que es un paquete, que no funciona, etc., 357 00:17:34,500 --> 00:17:36,019 todo esto ya lo tendremos que ir viendo. 358 00:17:36,880 --> 00:17:40,859 Pero ahora mismo necesitamos hacer esto para poder declarar una variable. 359 00:17:41,579 --> 00:17:45,440 Bueno, pues entonces, lo primero que tenemos que hacer es crear un paquete. 360 00:17:46,279 --> 00:17:46,819 ¿Por qué? 361 00:17:47,460 --> 00:17:50,220 Los programas de Java van dentro de paquetes. 362 00:17:51,140 --> 00:17:51,839 Eso sí que es así. 363 00:17:52,720 --> 00:17:54,880 Pues venga, ¿cómo creamos un primer paquete? 364 00:17:54,880 --> 00:17:57,539 Aquí en src, que significa source, fuente, 365 00:17:57,759 --> 00:18:00,579 significa, me ha hecho el código fuente 366 00:18:00,579 --> 00:18:02,059 aquí, source, eso significa 367 00:18:02,059 --> 00:18:04,420 pues aquí le dais al botón 368 00:18:04,420 --> 00:18:04,940 derecho 369 00:18:04,940 --> 00:18:07,619 y veis que hay un new 370 00:18:07,619 --> 00:18:09,700 que te ofrece un montón de cosas 371 00:18:09,700 --> 00:18:12,359 entre ellos un new package 372 00:18:12,359 --> 00:18:15,819 venga 373 00:18:15,819 --> 00:18:18,640 muy bien, primer paquete para que metas 374 00:18:18,640 --> 00:18:19,680 programas java 375 00:18:19,680 --> 00:18:22,420 ¿cómo lo llamamos? bueno, este como es 376 00:18:22,420 --> 00:18:23,920 un paquete de pruebas 377 00:18:23,920 --> 00:18:26,019 pruebas variables 378 00:18:26,019 --> 00:18:27,299 venga 379 00:18:27,299 --> 00:18:29,559 ala 380 00:18:30,099 --> 00:18:36,319 Tenéis que ver un paquete como una carpeta que va a tener programas en código fuente. 381 00:18:36,819 --> 00:18:37,559 Eso es un paquete. 382 00:18:38,160 --> 00:18:45,140 Luego tenemos el proyecto de Clipset y en el proyecto puedo tener uno o varios paquetes. 383 00:18:46,059 --> 00:18:52,059 Cada paquete es como una carpetita donde ya ahora sí que sí van a estar mis programitas en código fuente. 384 00:18:53,519 --> 00:18:56,819 Vale, pues vamos a hacernos ahora ya sí que sí el primer programa. 385 00:18:56,819 --> 00:18:59,380 que yo lo voy a hacer 386 00:18:59,380 --> 00:19:01,339 dentro del paquete que he creado 387 00:19:01,339 --> 00:19:02,759 pues 388 00:19:02,759 --> 00:19:05,299 si en el paquete pincháis botón 389 00:19:05,299 --> 00:19:06,799 derecho new de nuevo 390 00:19:06,799 --> 00:19:09,240 os sale un montón de cosas 391 00:19:09,240 --> 00:19:11,380 entre ellas la que nos 392 00:19:11,380 --> 00:19:12,819 interesa a nosotros que es 393 00:19:12,819 --> 00:19:13,480 class 394 00:19:13,480 --> 00:19:15,680 porque 395 00:19:15,680 --> 00:19:18,299 una clase 396 00:19:18,299 --> 00:19:20,440 aunque no entendamos lo que es realmente 397 00:19:20,440 --> 00:19:23,000 no entenderemos hasta cuando se inventan los objetos 398 00:19:23,000 --> 00:19:24,799 ahora mismo podemos asimilar 399 00:19:24,799 --> 00:19:26,220 que una clase 400 00:19:26,220 --> 00:19:29,220 es un programa, es una mentira muy gorda 401 00:19:29,220 --> 00:19:30,940 la constituyente, pero con lo que sabemos 402 00:19:30,940 --> 00:19:31,480 ahora 403 00:19:31,480 --> 00:19:34,779 quedémonos con eso, para no liarnos 404 00:19:34,779 --> 00:19:35,900 ¿vale? 405 00:19:36,559 --> 00:19:37,779 pues new class 406 00:19:37,779 --> 00:19:41,039 y él me dice, ah, venga 407 00:19:41,039 --> 00:19:43,180 vas a hacer tu primer programita, muy bien 408 00:19:43,180 --> 00:19:45,279 ¿cómo le vas a llamar al programa? 409 00:19:47,039 --> 00:19:48,799 pues le voy a llamar 410 00:19:48,799 --> 00:19:53,079 declarar variables 411 00:19:53,079 --> 00:19:54,539 porque es lo que yo quería hacer 412 00:19:54,539 --> 00:19:56,400 quería declarar variables 413 00:19:56,400 --> 00:19:58,640 pues venga, lo voy a llamar 414 00:19:58,640 --> 00:20:00,200 declarar variables, ya está 415 00:20:00,200 --> 00:20:02,039 le doy a finish 416 00:20:02,039 --> 00:20:04,200 y como veis 417 00:20:04,200 --> 00:20:06,599 él ya me pone solito la extensión 418 00:20:06,599 --> 00:20:07,400 punto java 419 00:20:07,400 --> 00:20:10,160 no hace falta que la pongamos nosotros 420 00:20:10,160 --> 00:20:11,480 cuando le hemos puesto un nombre 421 00:20:11,480 --> 00:20:16,019 ¿qué barra? 422 00:20:17,299 --> 00:20:18,119 ¿qué barra? 423 00:20:21,970 --> 00:20:23,210 esto, a ver, siempre 424 00:20:23,210 --> 00:20:25,589 podéis hacer un reset perspective 425 00:20:25,589 --> 00:20:27,650 si os empieza 426 00:20:27,650 --> 00:20:29,190 a hacer cosas raras el entorno, porque habéis 427 00:20:29,190 --> 00:20:30,230 cambiado el diseño 428 00:20:30,230 --> 00:20:33,069 window, perspective 429 00:20:33,069 --> 00:20:34,349 reset 430 00:20:34,349 --> 00:20:36,549 y te saldrá la perspectiva 431 00:20:36,549 --> 00:20:39,069 la vista inicial, y en esa vista inicial 432 00:20:39,069 --> 00:20:39,910 tienes que ver esto 433 00:20:39,910 --> 00:20:48,400 vale, bueno pues 434 00:20:48,400 --> 00:20:50,140 el eclipse 435 00:20:50,140 --> 00:20:52,460 como entorno de desarrollo 436 00:20:52,460 --> 00:20:54,519 que es, ya hace cosas 437 00:20:54,519 --> 00:20:56,000 por ti para darte trabajo 438 00:20:56,000 --> 00:20:58,539 vale, ya hace cosas por ti 439 00:20:58,539 --> 00:20:59,119 para darte trabajo 440 00:20:59,119 --> 00:21:01,920 eso a veces está bien y a veces está fatal 441 00:21:01,920 --> 00:21:02,960 porque te hace contender 442 00:21:02,960 --> 00:21:21,319 Pero bueno, lo que nos ha hecho a nosotros ahora está bien, porque es obligatorio que mi programa tenga la primera línea de todas, package, y el nombre del paquete donde yo he metido ese fichero. 443 00:21:21,319 --> 00:21:41,000 Yo lo he metido en un fichero, perdón, lo he metido en un paquete que se llamaba pruebas variables, ¿verdad? Este de aquí. Por eso aquí me aparece pruebas variables. Vale, eso está bien. Si el entorno de desarrollo no me lo hubiera hecho él solito, lo tendría que escribir yo, pero me lo hace porque yo tengo que ponerlo. 444 00:21:41,000 --> 00:21:42,960 ¿por qué hay que ponerlo? 445 00:21:43,480 --> 00:21:46,220 pues nos falta mucha información todavía para entenderlo 446 00:21:46,220 --> 00:21:48,220 pero ahora mismo lo que necesitamos es 447 00:21:48,220 --> 00:21:49,380 poder hacer algún programa 448 00:21:49,380 --> 00:21:52,039 Java es un lenguaje muy complejo 449 00:21:52,039 --> 00:21:53,039 que tiene un montón de 450 00:21:53,039 --> 00:21:56,240 de conceptos 451 00:21:56,240 --> 00:21:57,680 ¿vale? bueno 452 00:21:57,680 --> 00:22:00,079 pues esto, obligatorio 453 00:22:00,079 --> 00:22:02,160 ponerlo si mi programa está 454 00:22:02,160 --> 00:22:04,259 metido como tiene que ser en un paquete 455 00:22:04,259 --> 00:22:06,359 vale, me acaba de crear 456 00:22:06,359 --> 00:22:07,559 otra cosita 457 00:22:07,559 --> 00:22:10,599 el entorno de desarrollo 458 00:22:10,599 --> 00:22:13,480 un segundo, pues es algo que también 459 00:22:13,480 --> 00:22:14,680 es obligatorio poner 460 00:22:14,680 --> 00:22:17,220 cada vez que hago yo un programa en Java 461 00:22:17,220 --> 00:22:18,539 es obligatorio 462 00:22:18,539 --> 00:22:21,039 que ponga class 463 00:22:21,039 --> 00:22:23,539 el nombre de ese programa 464 00:22:23,539 --> 00:22:24,579 al que yo le estoy dando 465 00:22:24,579 --> 00:22:27,720 y luego unas llaves dentro de las cuales 466 00:22:27,720 --> 00:22:29,019 ahora ya sí que sí 467 00:22:29,019 --> 00:22:30,700 puede ir mi código 468 00:22:30,700 --> 00:22:33,839 el public, me lo ha metido él porque le ha dado la gana 469 00:22:33,839 --> 00:22:35,660 no pasa nada, lo puedo quitar 470 00:22:35,660 --> 00:22:38,680 ¿vale? porque el public 471 00:22:38,680 --> 00:22:40,799 no sabemos lo que significa todavía 472 00:22:40,799 --> 00:22:43,420 no lo podemos saber, nos falta mucha información 473 00:22:43,420 --> 00:22:45,220 pero quedémonos 474 00:22:45,220 --> 00:22:46,839 con que ahora mismo, que esté o no esté 475 00:22:46,839 --> 00:22:48,420 a nosotros ahora no nos importa 476 00:22:48,420 --> 00:22:51,160 ¿vale? lo podéis dejar 477 00:22:51,160 --> 00:22:53,140 lo podéis quitar, no nos importa que esté o no esté 478 00:22:53,140 --> 00:22:55,079 porque a lo que afecta es algo que todavía 479 00:22:55,079 --> 00:22:55,859 no estamos usando 480 00:22:55,859 --> 00:22:59,339 vale, pues aquí dentro 481 00:22:59,339 --> 00:23:03,079 yo ya puedo escribir mi programa 482 00:23:03,079 --> 00:23:05,519 pero así directamente 483 00:23:05,519 --> 00:23:07,480 a lo bestia, puedo escribir yo mis líneas de código 484 00:23:07,480 --> 00:23:10,960 No puedo escribir mi llave de código 485 00:23:10,960 --> 00:23:15,359 Tengo que declarar otro bloque 486 00:23:15,359 --> 00:23:16,380 De llaves dentro 487 00:23:16,380 --> 00:23:18,539 Y ahí ya sí que lo puedo declarar 488 00:23:18,539 --> 00:23:20,839 Todo esto que os estoy diciendo ahora 489 00:23:20,839 --> 00:23:23,079 Desgraciadamente no es algo de 490 00:23:23,079 --> 00:23:25,460 Es algo que os digo 491 00:23:25,460 --> 00:23:27,119 Tenéis que ponerlo ahora 492 00:23:27,119 --> 00:23:29,299 Así para poder escribir código Java 493 00:23:29,299 --> 00:23:31,359 ¿Por qué hay que ponerlo así? 494 00:23:32,220 --> 00:23:33,259 Pues no lo podéis entender ahora 495 00:23:33,259 --> 00:23:35,240 Porque está relacionado con la programación de entrada de objetos 496 00:23:35,240 --> 00:23:36,359 ¿Vale? 497 00:23:36,839 --> 00:23:41,200 Pero ahora mismo quedémonos con que lo que hay que poner obligatorio sí o sí 498 00:23:41,200 --> 00:23:45,059 para empezar yo a escribir mis sentencias de mis primeros códigos es esto. 499 00:23:54,299 --> 00:24:02,569 Uy, ¿vale? 500 00:24:08,839 --> 00:24:15,779 Pues esto es lo que yo pondré como un papagayo ahora mismo durante un tiempetito 501 00:24:15,779 --> 00:24:20,019 para hacer mis primeros programas. 502 00:24:21,319 --> 00:24:22,119 ¿Por qué? 503 00:24:22,640 --> 00:24:26,000 Pues ya veremos cuando veamos la programación de entrada de objetos, ¿vale? 504 00:24:26,680 --> 00:24:28,140 pero pondremos como un papagayo, 505 00:24:28,259 --> 00:24:30,019 aunque el entorno de desarrollo nos lo pone el solo. 506 00:24:30,779 --> 00:24:32,599 El package con el nombre del paquete 507 00:24:32,599 --> 00:24:34,099 en el que hemos metido ese programa. 508 00:24:34,960 --> 00:24:37,359 El class public delante o no, me da lo mismo. 509 00:24:37,900 --> 00:24:40,579 Class obligatorio con el nombre de mi programa. 510 00:24:41,440 --> 00:24:43,019 Y ahora toda esta cosa larga. 511 00:24:44,400 --> 00:24:46,140 Y ahora ya entre estas llaves 512 00:24:46,140 --> 00:24:49,579 ya puede ir mis sentencias de código hub. 513 00:24:50,180 --> 00:24:51,839 Mis sentencias de código hub. 514 00:24:54,759 --> 00:24:56,200 Esta línea de main 515 00:24:56,200 --> 00:24:58,019 en realidad 516 00:24:58,019 --> 00:25:01,200 no deberíamos 517 00:25:01,200 --> 00:25:02,480 hacer, no están sumamente vagos 518 00:25:02,480 --> 00:25:03,299 o no deberíais 519 00:25:03,299 --> 00:25:06,720 cuando uno crea una clase, pues tienes una casillita 520 00:25:06,720 --> 00:25:08,480 que yo al principio la he ocultado a propósito 521 00:25:08,480 --> 00:25:10,119 para que te la crea automáticamente 522 00:25:10,119 --> 00:25:11,900 por ejemplo, imaginaos que voy a hacer otra clase 523 00:25:11,900 --> 00:25:13,619 clase no sé qué 524 00:25:13,619 --> 00:25:16,319 veis que aquí te aparece 525 00:25:16,319 --> 00:25:17,960 una casilla 526 00:25:17,960 --> 00:25:20,480 y si tú la marcas 527 00:25:20,480 --> 00:25:22,720 el entorno de desarrollo ya te mete 528 00:25:22,720 --> 00:25:24,839 ese mail en el solito y no lo tienes que escribir 529 00:25:24,839 --> 00:25:26,519 entonces yo la marco 530 00:25:26,519 --> 00:25:28,880 y esta nueva clase que me ha hecho 531 00:25:28,880 --> 00:25:30,640 ya me ha metido el main 532 00:25:30,640 --> 00:25:32,279 y me dice, y ahora aquí viene 533 00:25:32,279 --> 00:25:33,759 lo que tiene Janet 534 00:25:33,759 --> 00:25:36,799 ahora esto ya es tu código 535 00:25:36,799 --> 00:25:38,099 ¿vale? 536 00:25:40,609 --> 00:25:41,970 bueno, borro esta 537 00:25:41,970 --> 00:25:47,019 y ahora 538 00:25:47,019 --> 00:25:49,599 ¿qué sabemos hacer ahora mismo? 539 00:25:50,619 --> 00:25:51,980 pues solo sabemos declarar 540 00:25:51,980 --> 00:25:53,700 variables para tener números 541 00:25:53,700 --> 00:25:55,900 pero al menos sabemos hacerlo bien 542 00:25:55,900 --> 00:25:57,279 por ejemplo 543 00:25:57,279 --> 00:25:59,779 un programa que 544 00:25:59,779 --> 00:26:03,440 todavía no sabemos 545 00:26:03,440 --> 00:26:05,180 pero bueno, que te pide una altura 546 00:26:05,180 --> 00:26:07,220 y te dice si eres muy alto 547 00:26:07,220 --> 00:26:09,079 o muy bajo, por ejemplo 548 00:26:09,079 --> 00:26:10,460 imaginaos ese programa 549 00:26:10,460 --> 00:26:13,559 te solicita la altura 550 00:26:13,559 --> 00:26:15,400 tú se la das, ya veremos 551 00:26:15,400 --> 00:26:17,059 cómo, y el programa te dice 552 00:26:17,059 --> 00:26:18,720 uy, qué alto eres, uy, qué bajito eres 553 00:26:18,720 --> 00:26:21,539 entonces, ese es el enunciado 554 00:26:21,539 --> 00:26:22,259 el planteamiento 555 00:26:22,259 --> 00:26:25,059 automáticamente pensamos, a ver 556 00:26:25,059 --> 00:26:26,519 para hacer este programa 557 00:26:26,519 --> 00:26:29,119 ¿qué datos necesito? 558 00:26:29,779 --> 00:26:35,319 Antes de empezar a pensar cómo lo hago, y es qué sentencias pongo una tras otra, 559 00:26:35,440 --> 00:26:38,500 antes de empezar a pensar cómo, pienso, ¿qué datos necesito? 560 00:26:39,420 --> 00:26:41,319 Hombre, me ha dicho que le dé mi altura. 561 00:26:42,440 --> 00:26:46,019 Pues va a ser que necesito una variable para guardar la altura, 562 00:26:46,579 --> 00:26:50,819 porque va a trabajar con la altura y en función de mi altura me va a decir si soy alto o si soy bajo. 563 00:26:51,839 --> 00:26:55,400 Entonces, necesito una variable para ese dato. 564 00:26:56,660 --> 00:26:58,960 Luego ese es el primer análisis que tenemos que hacer. 565 00:26:58,960 --> 00:27:00,200 cuando uno lee un enunciado 566 00:27:00,200 --> 00:27:02,039 primero lo lee varias veces 567 00:27:02,039 --> 00:27:04,740 para entender exactamente qué le han pedido 568 00:27:04,740 --> 00:27:06,980 y si no lo entiende, lo pregunta al que se lo ha dicho 569 00:27:06,980 --> 00:27:08,799 exactamente qué quieres que haga 570 00:27:08,799 --> 00:27:11,099 explícamelo, ah, la altura, vale 571 00:27:11,099 --> 00:27:12,380 es que no entendía, vale, vale 572 00:27:12,380 --> 00:27:13,759 ya lo has entendido 573 00:27:13,759 --> 00:27:16,819 ahora, te pones 574 00:27:16,819 --> 00:27:19,039 automáticamente a pensar qué datos 575 00:27:19,039 --> 00:27:20,480 necesitas para 576 00:27:20,480 --> 00:27:22,839 que el programa trabaje, para que el programa 577 00:27:22,839 --> 00:27:24,980 opere, qué datos, en este enunciado 578 00:27:24,980 --> 00:27:26,859 que yo os he dicho, programa que es 579 00:27:26,859 --> 00:27:31,799 necesito una altura. Le das tu altura y te dice si eres alto o bajo. Pues después de 580 00:27:31,799 --> 00:27:36,059 mucho analizar llegas a la conclusión de que el único dato que necesitas es la altura. 581 00:27:37,180 --> 00:27:42,299 Pues entonces solo necesitas la altura, una variable. Vale, muy bien, una variable. Y 582 00:27:42,299 --> 00:27:47,619 ahora ya piensas, ¿esa variable de qué tipo es? ¿La altura cómo me la vas a dar? En 583 00:27:47,619 --> 00:27:56,559 centímetros. Pues entonces tipo entero. Me vas a decir 150, 160, 170. Pues entero. Si 584 00:27:56,559 --> 00:27:58,559 me la fueran a decir en 1,8 585 00:27:59,619 --> 00:28:00,559 1,3 586 00:28:01,359 --> 00:28:02,819 no me valdría 587 00:28:02,819 --> 00:28:04,619 el tipo entero, tendría que usar otro 588 00:28:04,619 --> 00:28:06,599 pero me han dicho 589 00:28:06,599 --> 00:28:08,319 el que me ha pedido el programa 590 00:28:08,319 --> 00:28:10,019 me ha dicho, no, no, te la voy a dar en centímetros 591 00:28:10,019 --> 00:28:12,539 entero, hoy que bien, porque son los únicos tipos 592 00:28:12,539 --> 00:28:14,359 de datos que me sé, los enteros 593 00:28:14,359 --> 00:28:16,400 vale, pues venga 594 00:28:16,400 --> 00:28:18,839 voy a coger el estándar, el que cogería siempre 595 00:28:18,839 --> 00:28:20,000 int 596 00:28:20,000 --> 00:28:21,119 altura 597 00:28:21,119 --> 00:28:24,339 ala, y ya está 598 00:28:24,339 --> 00:28:27,579 ya tengo una sentencia de Java 599 00:28:27,579 --> 00:28:29,079 perfectamente válida 600 00:28:29,079 --> 00:28:30,440 ya está 601 00:28:30,440 --> 00:28:32,660 esto es un programa en Java válido 602 00:28:32,660 --> 00:28:35,200 eso sí, lo único que hace 603 00:28:35,200 --> 00:28:36,940 cuando yo lo ejecute es 604 00:28:36,940 --> 00:28:39,480 crea un espacio en RAM 605 00:28:39,480 --> 00:28:41,140 con el nombre altura 606 00:28:41,140 --> 00:28:43,480 y se acabó, no hace más 607 00:28:43,480 --> 00:28:44,700 no hace más 608 00:28:44,700 --> 00:28:46,059 pues no le hemos dicho que haga más 609 00:28:46,059 --> 00:28:47,180 ¿vale? 610 00:28:48,700 --> 00:28:51,660 pero esto es una sentencia sintácticamente válida 611 00:28:51,660 --> 00:28:53,940 he puesto el tipo de dato 612 00:28:53,940 --> 00:28:56,359 espacio, el nombre que yo le he querido 613 00:28:56,359 --> 00:28:57,480 dar, punto y coma 614 00:28:57,480 --> 00:29:00,039 cuando este programa se ejecute, pum 615 00:29:00,039 --> 00:29:01,599 se crea esa variable en RAM 616 00:29:01,599 --> 00:29:03,960 yo eso no lo veo, lógicamente, la variable se crea 617 00:29:03,960 --> 00:29:06,519 y no pasa nada más, el programa ha terminado 618 00:29:06,519 --> 00:29:07,859 y ya está, no pasa nada más 619 00:29:07,859 --> 00:29:09,019 claro, porque no he hecho más cosas 620 00:29:09,019 --> 00:29:11,579 se supone que luego yo con esa altura hago cosas 621 00:29:11,579 --> 00:29:12,779 ahora mismo no hago nada más 622 00:29:12,779 --> 00:29:15,019 pero bueno 623 00:29:15,019 --> 00:29:18,039 y ahora ya nos vamos 624 00:29:18,039 --> 00:29:19,960 esto ya es relativo al entorno 625 00:29:19,960 --> 00:29:20,599 de desarrollo 626 00:29:20,599 --> 00:29:23,380 esto está todo en blanquito 627 00:29:23,380 --> 00:29:25,480 precioso, aquí no aparece nada 628 00:29:25,480 --> 00:29:26,980 feo, magnífico 629 00:29:26,980 --> 00:29:29,660 yo le he dado a guardar todo y me sale todo precioso 630 00:29:29,660 --> 00:29:31,700 el entorno de desarrollo 631 00:29:31,700 --> 00:29:33,619 me ayuda 632 00:29:33,619 --> 00:29:35,519 o me lía 633 00:29:35,519 --> 00:29:37,519 depende, o sea, si uno no sabe 634 00:29:37,519 --> 00:29:39,539 me da igual que tengas el asistente 635 00:29:39,539 --> 00:29:40,640 de IA instalado 636 00:29:40,640 --> 00:29:43,440 no podéis dejaros llevar ni por el 637 00:29:43,440 --> 00:29:45,579 entorno ni por el asistente de IA, porque entonces no llegáis 638 00:29:45,579 --> 00:29:47,339 a ninguna parte, por supuesto 639 00:29:47,339 --> 00:29:49,240 usarlo como ayuda, eso es fundamental 640 00:29:49,240 --> 00:29:51,359 pero para que esa ayuda 641 00:29:51,359 --> 00:29:53,980 te sirva en lugar de destrozarte 642 00:29:53,980 --> 00:29:55,559 tú tienes que saber programar 643 00:29:55,559 --> 00:29:56,920 ¿vale? eso es lo que tiene que estar claro 644 00:29:56,920 --> 00:29:59,119 bueno, pues el entorno me ayuda 645 00:29:59,119 --> 00:30:01,140 porque imaginaos que yo me he equivocado 646 00:30:01,140 --> 00:30:02,960 porque teclado de velocidad, pues son las 2 y 20 647 00:30:02,960 --> 00:30:05,099 me quiero ir y he puesto 2 test 648 00:30:05,099 --> 00:30:08,359 porque me he equivocado 649 00:30:08,359 --> 00:30:10,460 y rápidamente 650 00:30:10,460 --> 00:30:12,640 el entorno de desarrollo 651 00:30:12,640 --> 00:30:13,839 me lo ha puesto en rojo 652 00:30:13,839 --> 00:30:15,099 ¿verdad? 653 00:30:16,900 --> 00:30:18,779 ¿de qué me está avisando el entorno 654 00:30:18,779 --> 00:30:20,779 de desarrollo? me está avisando de que 655 00:30:20,779 --> 00:30:29,500 hay una cosa que es un error de compilación. Es decir, mi sintaxis no es válida, la sintaxis 656 00:30:29,500 --> 00:30:36,319 es errónea. Con lo cual esto ya ni siquiera puedo ejecutarlo, porque la sintaxis es errónea. 657 00:30:37,220 --> 00:30:40,759 Eso es lo que se llama errores de compilación. Y me deberíais decir, pero ¿no hay días 658 00:30:40,759 --> 00:30:46,819 que Java ha interpretado? Si esto no se compila, no. Recordad el primer día que dije que Java 659 00:30:46,819 --> 00:30:51,279 era mixto. Se hace una pequeña pre-compilación 660 00:30:51,279 --> 00:30:54,900 donde se realiza toda la sintaxis y se genera un código 661 00:30:54,900 --> 00:30:57,839 intermedio, que es lo que llamamos el bytecode. 662 00:30:58,859 --> 00:31:02,519 Y luego ese código intermedio ya lo interpreta la máquina virtual. 663 00:31:03,940 --> 00:31:06,920 Bueno, pues el entorno de desarrollo cuando ha intentado 664 00:31:06,920 --> 00:31:10,819 generar ese código intermedio, hacer esa pre-compilación 665 00:31:11,680 --> 00:31:15,079 ha dicho, no puedo, pero si es que esto sintácticamente 666 00:31:15,079 --> 00:31:17,259 no es válido, entonces cuando 667 00:31:17,259 --> 00:31:18,960 nos aparecen aquí cosas rojitas 668 00:31:18,960 --> 00:31:20,779 es porque tenemos 669 00:31:20,779 --> 00:31:23,160 un error de sintaxis o error 670 00:31:23,160 --> 00:31:25,059 de compilación, ¿vale? 671 00:31:25,960 --> 00:31:26,460 entonces 672 00:31:26,460 --> 00:31:28,259 yo esto 673 00:31:28,259 --> 00:31:30,599 él, me 674 00:31:30,599 --> 00:31:32,819 si vosotros ponéis aquí la manita 675 00:31:32,819 --> 00:31:34,380 sin pulsar 676 00:31:34,380 --> 00:31:37,420 justo donde está la X roja 677 00:31:37,420 --> 00:31:39,339 os sale una ayuda 678 00:31:39,339 --> 00:31:41,119 sobre por donde van los tiros 679 00:31:41,119 --> 00:31:43,059 esa ayuda 680 00:31:43,059 --> 00:31:44,240 a veces tiene sentido 681 00:31:44,240 --> 00:31:46,619 y en el 80% de las veces 682 00:31:46,619 --> 00:31:47,779 no tiene ningún sentido 683 00:31:47,779 --> 00:31:50,400 porque el compilador, lo único que hace es analizar 684 00:31:50,400 --> 00:31:52,660 una sintaxis, es decir 685 00:31:52,660 --> 00:31:54,480 la casa 686 00:31:54,480 --> 00:31:56,799 es simpaticísima 687 00:31:56,799 --> 00:31:58,660 el compilador te diría 688 00:31:58,660 --> 00:32:01,259 maravilloso, sigue adelante 689 00:32:01,259 --> 00:32:02,619 porque sintácticamente 690 00:32:02,619 --> 00:32:04,740 es válido, pero no tiene ningún 691 00:32:04,740 --> 00:32:06,200 sentido que sigas con la casa 692 00:32:06,200 --> 00:32:08,619 es simpaticísima porque las casas no son 693 00:32:08,619 --> 00:32:10,599 simpáticas y no simpáticas 694 00:32:10,599 --> 00:32:11,759 ¿vale? 695 00:32:11,759 --> 00:32:14,599 entonces, el compilador 696 00:32:14,599 --> 00:32:16,799 te puede decir cosas que pueden tener sentido 697 00:32:16,799 --> 00:32:18,700 o no pueden tener sentido, pero que te pueden 698 00:32:18,700 --> 00:32:19,779 orientar en algunos casos 699 00:32:19,779 --> 00:32:21,900 ¿de qué depende que tengan sentido o no? 700 00:32:22,460 --> 00:32:24,319 pues si son errores anhelados de otras cosas 701 00:32:24,319 --> 00:32:26,359 de muchas cosas, depende del contexto, de la complejidad 702 00:32:26,359 --> 00:32:28,180 del programa, si tienes varios, entonces 703 00:32:28,180 --> 00:32:30,079 uno confunde al otro, el compilador ya 704 00:32:30,079 --> 00:32:32,000 pues habla por hablar 705 00:32:32,000 --> 00:32:34,420 bueno, habla por lo que tiene marcado su 706 00:32:34,420 --> 00:32:35,539 algoritmo, lógicamente 707 00:32:35,539 --> 00:32:38,339 entonces aquí te dice, hombre, este tenemos suerte 708 00:32:38,339 --> 00:32:40,279 de lo que te informa tiene sentido, te dice, oye 709 00:32:40,279 --> 00:32:42,119 int como que no es un tipo 710 00:32:42,119 --> 00:32:43,619 te está diciendo 711 00:32:43,619 --> 00:32:46,200 int un type, no lo veo yo 712 00:32:46,200 --> 00:32:48,160 entonces lo que te está diciendo aquí 713 00:32:48,160 --> 00:32:50,180 tiene sentido, ah claro, es que int 714 00:32:50,180 --> 00:32:52,200 con dos t's, que yo sepa 715 00:32:52,200 --> 00:32:54,259 no existe, existe int con una t 716 00:32:54,259 --> 00:32:55,940 entonces 717 00:32:55,940 --> 00:32:58,359 esta ayudita nos ha servido 718 00:32:58,359 --> 00:33:00,099 claro, es que int, ¿cómo va a ser un tipo 719 00:33:00,099 --> 00:33:02,099 válido? ¿desde cuándo me han dicho a mí que esto 720 00:33:02,099 --> 00:33:04,140 sea un tipo válido? entonces, ah, es que 721 00:33:04,140 --> 00:33:05,259 se me escapó una segunda t 722 00:33:05,259 --> 00:33:08,420 vale, lo quitamos y ya automáticamente 723 00:33:08,420 --> 00:33:10,519 se me quita esa cosa roja 724 00:33:10,519 --> 00:33:12,299 y ya está 725 00:33:12,299 --> 00:33:14,000 perfectamente 726 00:33:14,000 --> 00:33:15,579 compilado 727 00:33:15,579 --> 00:33:16,279 ¿vale? 728 00:33:18,119 --> 00:33:20,480 lo ejecutamos, si lo ejecutáramos 729 00:33:20,480 --> 00:33:22,299 no veríamos nada, porque lo único que hace es 730 00:33:22,299 --> 00:33:23,980 crear una variable y cuando el programa termina 731 00:33:23,980 --> 00:33:25,940 la variable ya ha desaparecido, ya está 732 00:33:25,940 --> 00:33:28,579 la idea es que con esta variable se hagan cosas 733 00:33:28,579 --> 00:33:30,039 ¿vale? pero bueno 734 00:33:30,039 --> 00:33:32,359 esto ya lo dejamos 735 00:33:32,359 --> 00:33:32,940 para mañana