1 00:00:00,620 --> 00:00:10,279 vale entonces hemos creado un workspace vale nuestro workspace era la carpeta donde vamos 2 00:00:10,279 --> 00:00:15,859 a crear todo que estaba en algunos pero es digamos en la carpeta donde van todos los 3 00:00:15,859 --> 00:00:20,120 proyectos ese es el workspace dentro del workspace hemos creado un nuevo proyecto 4 00:00:20,120 --> 00:00:27,320 que se llama ejercicios básicos dentro del ejercicio básicos hemos creado un fichero 5 00:00:27,320 --> 00:00:32,899 una clase hello world vale que va en el fichero hello world punto java lo hemos asociado al 6 00:00:32,899 --> 00:00:38,539 package al paquete ejercicios porque ahora nos pide es precisamente de poner un ejercicio un 7 00:00:38,539 --> 00:00:47,640 paquete vale estamos aquí en automático él me ha dicho ya que este clase pertenece a este para este 8 00:00:47,640 --> 00:00:56,380 paquete vale al paquete ejercicios vale y me ha creado la base el public clase el word abierta 9 00:00:56,380 --> 00:01:00,560 llaves a cerrada de llaves ¿vale? ahora aquí dentro yo puedo 10 00:01:00,560 --> 00:01:03,700 desarrollar mi proyecto, mi ejercicio 11 00:01:03,700 --> 00:01:08,140 entonces el primer ejercicio es hola mundo, si os acordáis 12 00:01:08,140 --> 00:01:12,099 aquí tengo que poner public 13 00:01:12,099 --> 00:01:15,719 static void main 14 00:01:15,719 --> 00:01:20,799 string args 15 00:01:20,799 --> 00:01:32,030 esto es la declaración 16 00:01:32,030 --> 00:01:34,189 Que esto es el punto de acceso 17 00:01:34,189 --> 00:01:35,430 A mi programa 18 00:01:35,430 --> 00:01:37,310 Y mi programa tiene que empezar desde aquí 19 00:01:37,310 --> 00:01:38,409 Desde aquí dentro 20 00:01:38,409 --> 00:01:44,370 Y aquí le digo system.out.println 21 00:01:44,370 --> 00:01:48,879 Y le digo 22 00:01:48,879 --> 00:01:52,859 Hola mundo 23 00:01:52,859 --> 00:01:56,689 Y ya está 24 00:01:56,689 --> 00:01:59,430 Fijaos que este entorno de aquí 25 00:01:59,430 --> 00:02:01,129 Es mejor que el 26 00:02:01,730 --> 00:02:03,230 Notepad 27 00:02:03,230 --> 00:02:04,170 El blog de notas 28 00:02:04,170 --> 00:02:06,709 Me está ya poniendo en rojo 29 00:02:06,709 --> 00:02:08,330 Las palabras 30 00:02:08,330 --> 00:02:17,389 específicas del lenguaje me está poniendo en azul así lo que son las palabras vale ya veremos qué 31 00:02:17,389 --> 00:02:23,870 son estas comillas de aquí cuando vemos los tipos me marca eso también en azul por alguna razón que 32 00:02:23,870 --> 00:02:30,449 todavía no sabemos me marca en un color raro esta cosa aquí porque es el nombre de una variable me 33 00:02:30,449 --> 00:02:38,710 da ayudas con colores. Si me equivoco me marca que hay un error. Veis que aparece un error 34 00:02:38,710 --> 00:02:51,680 aquí al lado y aparece un error aquí. Si voy encima me dice error de sintaxis, inserta 35 00:02:51,680 --> 00:03:01,539 un punto en coma para completar una sentencia. O sea que esto es como si fuera una precompilación 36 00:03:01,539 --> 00:03:06,719 Que está haciendo constantemente el entorno de ejecución 37 00:03:06,719 --> 00:03:11,560 Y algunos de los errores me los detecta él automáticamente 38 00:03:11,560 --> 00:03:15,900 Si yo aquí dentro le escribo hola mundo 39 00:03:15,900 --> 00:03:18,120 Se enfada 40 00:03:18,120 --> 00:03:23,199 Porque me dice, oye mira, aquí encima a ver qué error es 41 00:03:23,199 --> 00:03:28,659 Me dice hola mundo no puede ser resuelto como una variable 42 00:03:28,659 --> 00:03:30,379 No es una variable 43 00:03:30,379 --> 00:03:32,080 ¿Vale? No has declarado una variable 44 00:03:32,080 --> 00:03:34,900 De hecho, como nos lo ha escrito entre comillas 45 00:03:34,900 --> 00:03:40,280 Él se espera que por algún lado tú hayas definido que es este hola mundo 46 00:03:40,280 --> 00:03:42,400 Él se espera que este hola mundo sea una variable 47 00:03:42,400 --> 00:03:44,439 No sabemos qué es una variable, lo veremos en breve 48 00:03:44,439 --> 00:03:48,300 Pero tiene que ser algo que tú no has declarado 49 00:03:48,300 --> 00:03:50,560 Tú en ningún momento has dicho que es hola mundo 50 00:03:50,560 --> 00:03:54,080 Entonces él te dice, no lo puedo resolver, no puedo hacer nada con él 51 00:03:54,080 --> 00:03:57,379 Entonces aquí te dice, ah, claro, es que faltan las comillas 52 00:03:57,379 --> 00:03:59,539 Pongo así y él se enfada 53 00:03:59,539 --> 00:04:05,599 Porque he abierto las comillas, he empezado a escribir un texto y no las he cerrado 54 00:04:05,599 --> 00:04:09,099 Entonces para él todo esto es texto y falta un punto y coma 55 00:04:09,099 --> 00:04:17,100 Me dice, el literal, lo que estabas escribiendo no ha sido cerrado propiamente 56 00:04:17,100 --> 00:04:18,939 Properly closed, ¿vale? 57 00:04:19,259 --> 00:04:21,060 Entonces, ah, no, que me falta aquí también 58 00:04:21,060 --> 00:04:25,019 Y ahora ya no hay errores sintácticos 59 00:04:25,019 --> 00:04:43,100 Si no hay errores sintácticos, fijaos que en la carpeta que vosotros habéis utilizado como workspace, se ha creado una carpeta que es vuestro proyecto. 60 00:04:43,100 --> 00:04:49,220 dentro del proyecto se han creado varias carpetas 61 00:04:49,220 --> 00:04:54,300 está la carpeta src con el módulo ejercicios 62 00:04:54,300 --> 00:04:57,879 y esto es vuestro fichero, el fichero que estáis editando es este de aquí 63 00:04:57,879 --> 00:05:04,879 pero también se ha creado bin con ejercicio con un class 64 00:05:04,879 --> 00:05:11,259 él está haciendo constantemente un javac 65 00:05:11,259 --> 00:05:15,120 Mientras yo edito esto 66 00:05:15,120 --> 00:05:25,579 Cuando lo guardo, él me creará una nueva compilación de este programa 67 00:05:25,579 --> 00:05:32,560 Cuando le doy a este botón de aquí, run Hello World.java 68 00:05:32,560 --> 00:05:36,639 Lo que me hará por debajo será un Java Hello World 69 00:05:36,639 --> 00:05:39,959 O sea, ejecutará este programa 70 00:05:39,959 --> 00:05:41,379 Le doy al botón verde 71 00:05:41,379 --> 00:05:43,199 Y veo que aquí abajo 72 00:05:43,199 --> 00:05:45,959 Me aparece el resultado 73 00:05:45,959 --> 00:05:52,750 Ahora es muy cómodo porque está todo en la misma página 74 00:05:52,750 --> 00:05:54,269 Si yo quiero ver qué pasa 75 00:05:54,269 --> 00:05:55,810 Si escribo lo mundo 76 00:05:55,810 --> 00:05:56,949 Qué tal 77 00:05:56,949 --> 00:06:03,129 Guardo, lo lanzo otra vez 78 00:06:03,129 --> 00:06:05,589 Y aquí veo que ha pasado 79 00:06:05,589 --> 00:06:10,339 Puedo modificar 80 00:06:10,339 --> 00:06:11,639 Cuando me da la gana 81 00:06:11,639 --> 00:06:14,079 Mi programa 82 00:06:14,079 --> 00:06:19,420 Línea 2 83 00:06:19,420 --> 00:06:23,199 Vale, he añadido otro system.auto.println 84 00:06:23,199 --> 00:06:31,199 con escrito línea 2, veo que, veis que aquí está un asterisco, esto es que no está guardado 85 00:06:31,199 --> 00:06:41,620 todavía, por lo tanto lo guardo, veis que desaparece el asterisco y ahora con el botón 86 00:06:41,620 --> 00:06:51,800 este de aquí de play, lo puedo ejecutar y veo aquí abajo que hace mi programa y así 87 00:06:51,800 --> 00:06:54,779 es como vais a trabajar vosotros con los ejercicios 88 00:06:54,779 --> 00:06:56,540 vosotros hacéis los ejercicios 89 00:06:56,540 --> 00:06:58,079 aquí, lo guardáis 90 00:06:58,079 --> 00:07:00,779 y le dais al play a ver si funciona o no 91 00:07:00,779 --> 00:07:02,879 si hay errores o cosas por el estilo 92 00:07:02,879 --> 00:07:03,959 probablemente os lo dice 93 00:07:03,959 --> 00:07:06,600 yo le digo guardar y luego le digo 94 00:07:06,600 --> 00:07:08,259 play y me dice 95 00:07:08,259 --> 00:07:10,879 oye, hay errores 96 00:07:10,879 --> 00:07:12,939 ¿quieres ejecutarlo igualmente? 97 00:07:14,339 --> 00:07:15,779 te digo que aquí 98 00:07:15,779 --> 00:07:17,899 existen errores 99 00:07:17,899 --> 00:07:19,259 hay errores por algún lado 100 00:07:19,259 --> 00:07:20,579 Pero si tú me dices 101 00:07:20,579 --> 00:07:22,459 Como están en todo el workspace 102 00:07:22,459 --> 00:07:25,279 Tú me dices que para ti está bien 103 00:07:25,279 --> 00:07:26,819 Y quieres seguir adelante 104 00:07:26,819 --> 00:07:28,879 Hasta si hay errores, pues sigue adelante 105 00:07:28,879 --> 00:07:30,740 Y yo digo adelante, pues explota 106 00:07:30,740 --> 00:07:33,420 Me dice hay un error 107 00:07:33,420 --> 00:07:35,540 No se ha podido compilar 108 00:07:35,540 --> 00:07:38,000 Y por lo tanto como no se ha podido compilar 109 00:07:38,000 --> 00:07:39,259 Pues no lo puedo ejecutar 110 00:07:39,920 --> 00:07:41,040 Vale 111 00:07:41,040 --> 00:07:43,459 Entonces tengo que venir aquí, buscar cuál es el error 112 00:07:43,459 --> 00:07:45,279 Y darle a la lema, falta el punto y coma 113 00:07:45,279 --> 00:07:45,740 Venga 114 00:07:46,600 --> 00:07:48,060 Que le quito el static 115 00:07:48,060 --> 00:07:49,819 El error es que hicimos la otra vez 116 00:07:49,819 --> 00:07:52,220 Guardo, lanzo 117 00:07:52,220 --> 00:07:54,160 Todo va bien 118 00:07:54,160 --> 00:07:56,000 Pero aquí me explota y me dice 119 00:07:56,000 --> 00:07:59,420 No está el método main 120 00:07:59,420 --> 00:08:00,139 De hecho me dice 121 00:08:00,139 --> 00:08:02,839 Please define the main method 122 00:08:02,839 --> 00:08:05,120 Por favor, define el método main 123 00:08:05,120 --> 00:08:06,100 A ver si está aquí 124 00:08:06,100 --> 00:08:07,660 No, esto no es el método main 125 00:08:07,660 --> 00:08:10,139 Esto es un método que has hecho tú 126 00:08:10,139 --> 00:08:10,939 Que se llama main 127 00:08:10,939 --> 00:08:13,019 Pero no es el punto de acceso 128 00:08:13,019 --> 00:08:14,420 Para ser el punto de acceso 129 00:08:14,420 --> 00:08:15,699 Necesita aquí un static 130 00:08:15,699 --> 00:08:22,029 Si yo le pongo aquí S minúscula 131 00:08:22,029 --> 00:08:23,529 Me lo marca 132 00:08:23,529 --> 00:08:25,350 Me dice esta cosa aquí no existe 133 00:08:25,350 --> 00:08:29,649 Tú no has definido que es string con la S minúscula 134 00:08:29,649 --> 00:08:33,230 Porque string con la S mayúscula lo reconozco 135 00:08:33,230 --> 00:08:34,350 Sé que es 136 00:08:34,350 --> 00:08:36,850 Pero S minúscula no 137 00:08:36,850 --> 00:08:40,879 Si yo le pongo así 138 00:08:40,879 --> 00:08:46,940 Lanzo 139 00:08:46,940 --> 00:08:48,419 Se enfada 140 00:08:48,419 --> 00:08:51,919 El método main es esto 141 00:08:51,919 --> 00:08:56,919 Y lo que tú has puesto no es eso 142 00:08:56,919 --> 00:09:16,820 ¿Sí? Entonces, la idea es que vosotros, paso a paso, aprendáis a hacer las cosas bien, a utilizar el IDE, a pensar un algoritmo, plasmarlo con el lenguaje de programación dentro de este sistema, 143 00:09:16,820 --> 00:09:20,480 Y él intentará en cada momento ayudaros 144 00:09:20,480 --> 00:09:23,480 Pillándoos los errores de sintaxis 145 00:09:23,480 --> 00:09:26,779 Intentando daros un mensaje de error cuando explota algo 146 00:09:26,779 --> 00:09:31,080 A veces tenéis suerte y el mensaje es muy claro 147 00:09:31,080 --> 00:09:32,539 Te falta un punto y coma 148 00:09:32,539 --> 00:09:36,419 Y a veces el mensaje es un poquito más complejo 149 00:09:36,419 --> 00:09:39,200 Tiene una parrafada de texto de no sé qué 150 00:09:39,200 --> 00:09:44,379 Y con el tiempo ya aprenderéis a entender cuáles son los varios errores 151 00:09:44,379 --> 00:09:45,139 ¿Vale? 152 00:09:45,399 --> 00:09:48,320 Eso la primera vez que sale un null pointer exception 153 00:09:48,320 --> 00:09:49,379 Levantas la mano y dices 154 00:09:49,379 --> 00:09:50,620 ¿Qué es un null pointer exception? 155 00:09:51,139 --> 00:09:52,059 Ah, pues te lo digo yo 156 00:09:52,059 --> 00:09:53,700 ¿Sí? 157 00:09:55,100 --> 00:09:55,519 ¿Lo das? 158 00:09:56,440 --> 00:09:56,919 Sí 159 00:09:56,919 --> 00:10:13,879 Si verás que tienes un error aquí en el word 160 00:10:13,879 --> 00:10:15,440 En la parte izquierda 161 00:10:15,440 --> 00:10:16,820 Borra este fichero 162 00:10:16,820 --> 00:10:20,379 Si borras el fichero module te funciona 163 00:10:20,379 --> 00:10:22,220 La alternativa es 164 00:10:22,220 --> 00:10:24,039 En vez de hacerlo con el default package 165 00:10:24,039 --> 00:10:24,919 Ponlo en un package 166 00:10:24,919 --> 00:10:26,039 Entonces te funciona también 167 00:10:26,039 --> 00:10:47,059 más dudas la java no necesita que tú lo ponga en mayúscula como la los nombres 168 00:10:47,059 --> 00:10:51,919 de de los métodos en minúscula los nombres de braves minúscula es un son 169 00:10:51,919 --> 00:10:57,639 convenciones son convenciones pensadas para que cuando luego tú veas el código 170 00:10:57,639 --> 00:11:01,539 de otra persona si lo que está usando el nombre que está usando empieza por 171 00:11:01,539 --> 00:11:04,720 mayúscula sabes que va a ser un objeto se empieza por minúscula sabe que se va 172 00:11:04,720 --> 00:11:09,019 ser un método simple. Y cuando te dice utiliza el método main, tú sepas 173 00:11:09,019 --> 00:11:12,720 cómo escribirlo. O usa el método get 174 00:11:12,720 --> 00:11:16,740 new property. Y tú sabes que se escribe get en mayúscula new 175 00:11:16,740 --> 00:11:20,759 property. Eso. Y cada, por un lado, 176 00:11:21,899 --> 00:11:24,740 cada lenguaje de programación tiene sus propias 177 00:11:24,740 --> 00:11:28,580 reglas, ¿vale? De cómo se nombran las cosas. Y 178 00:11:28,580 --> 00:11:33,019 a veces también las propias 179 00:11:33,019 --> 00:11:35,440 empresas os dan reglas 180 00:11:35,440 --> 00:11:37,460 de cómo se nombran 181 00:11:37,460 --> 00:11:39,519 por ejemplo las variables, los métodos y cosas así 182 00:11:39,519 --> 00:11:41,320 a veces os fuerzan a poner 183 00:11:41,320 --> 00:11:43,779 después de una variable, el tipo de la variable 184 00:11:43,779 --> 00:11:45,340 si yo quiero hacer nombre, pues 185 00:11:45,340 --> 00:11:46,980 lo llamo nombre string 186 00:11:46,980 --> 00:11:49,299 para que en el propio nombre de la variable 187 00:11:49,299 --> 00:11:50,559 sepa que tipo es 188 00:11:50,559 --> 00:11:52,580 eso ya lo veremos 189 00:11:52,580 --> 00:11:53,820 dudas hasta aquí 190 00:11:53,820 --> 00:11:57,240 vale, entonces, ahora podéis jugar 191 00:11:57,240 --> 00:11:59,399 con lo que tenéis, que es muy poco 192 00:11:59,399 --> 00:12:01,360 es escribir en pantalla, podéis escribir 193 00:12:01,360 --> 00:12:02,860 lo que os da la gana, vale 194 00:12:02,860 --> 00:12:08,220 Cada vez que escribís un println 195 00:12:08,220 --> 00:12:10,360 Este ln está por line 196 00:12:10,360 --> 00:12:13,440 Entonces esto se escribirá en una línea 197 00:12:13,440 --> 00:12:15,279 Cuando se acaba esta cosa de aquí 198 00:12:15,279 --> 00:12:16,720 Vamos a una línea nueva 199 00:12:16,720 --> 00:12:19,480 Entonces esto se escribirá en la primera línea 200 00:12:19,480 --> 00:12:21,100 Y este de aquí en la segunda 201 00:12:21,100 --> 00:12:24,220 Y hasta aquí es 202 00:12:24,220 --> 00:12:26,259 Lo que sabemos 203 00:12:26,259 --> 00:12:29,200 Repito que esta parte de aquí 204 00:12:29,200 --> 00:12:31,700 Prácticamente te la 205 00:12:31,700 --> 00:12:34,240 incluido esto, te la hace en automático 206 00:12:34,240 --> 00:12:35,960 él, por ejemplo 207 00:12:35,960 --> 00:12:38,039 si yo voy aquí a ejercicios 208 00:12:38,039 --> 00:12:39,899 me creo un nuevo 209 00:12:39,899 --> 00:12:43,419 clase 210 00:12:43,419 --> 00:12:46,179 que llamaré Ejer2 211 00:12:46,179 --> 00:12:48,240 fijaos que habiéndolo hecho 212 00:12:48,240 --> 00:12:50,039 en el package, ya está 213 00:12:50,039 --> 00:12:52,240 ya está seleccionado que es ese package 214 00:12:52,960 --> 00:12:54,240 y luego le doy 215 00:12:54,240 --> 00:12:55,080 a este botón de aquí 216 00:12:55,080 --> 00:12:57,080 cuando le doy finish 217 00:12:57,080 --> 00:13:00,559 pues me ha creado Ejer2.java 218 00:13:00,559 --> 00:13:02,620 de la clase Ejer2.java 219 00:13:02,620 --> 00:13:05,200 Me ha puesto ya el método main 220 00:13:05,200 --> 00:13:06,500 Y me dice aquí 221 00:13:06,500 --> 00:13:07,659 Para hacer 222 00:13:07,659 --> 00:13:10,700 Generar el método 223 00:13:10,700 --> 00:13:11,179 Stub 224 00:13:11,179 --> 00:13:12,659 O sea, sustancialmente 225 00:13:12,659 --> 00:13:15,120 Rellenar este método 226 00:13:15,120 --> 00:13:18,539 ¿Dudas? 227 00:13:20,879 --> 00:13:22,919 Pues vosotros esto por ahora no 228 00:13:22,919 --> 00:13:25,460 Por ahora vosotros lo escribís 229 00:13:25,460 --> 00:13:27,139 5, 6, 7 veces 230 00:13:27,139 --> 00:13:29,179 Cuando pensáis que lo tenéis ya en mente 231 00:13:29,179 --> 00:13:30,799 Pues entonces haced lo que queráis 232 00:13:30,799 --> 00:13:35,700 ¿Vale? 233 00:13:37,120 --> 00:13:37,720 ¿Dudas? 234 00:13:37,720 --> 00:13:44,299 Entonces, hemos ejecutado el load 235 00:13:44,299 --> 00:13:46,559 ¿Vale? Aquí os da más o menos 236 00:13:46,559 --> 00:13:48,179 Un paso por paso 237 00:13:48,179 --> 00:13:50,100 Lo que hemos hecho, cambiará un poquito 238 00:13:50,100 --> 00:13:52,019 La imagen 239 00:13:52,019 --> 00:13:53,899 Pero la idea es esa, crear 240 00:13:53,899 --> 00:13:55,960 Una nueva clase, etc, etc 241 00:13:55,960 --> 00:13:58,039 Veis que aquí nos deja 242 00:13:58,039 --> 00:13:59,379 Crear el 243 00:13:59,379 --> 00:14:02,320 El package, porque en las versiones anteriores 244 00:14:02,320 --> 00:14:04,120 No dejaba, o sea, no era 245 00:14:04,120 --> 00:14:05,159 Necesario 246 00:14:05,159 --> 00:14:08,220 Pues aquí os dice los nombres de clases 247 00:14:08,220 --> 00:14:09,899 Empiezan siempre por mayúsculas 248 00:14:09,899 --> 00:14:11,139 No es necesario, pero 249 00:14:11,139 --> 00:14:12,299 es 250 00:14:12,299 --> 00:14:15,120 es 251 00:14:15,120 --> 00:14:16,600 como se dice, consejable 252 00:14:16,600 --> 00:14:18,779 y 253 00:14:18,779 --> 00:14:21,340 vamos a hacer 254 00:14:21,340 --> 00:14:22,399 un par de ejercicios 255 00:14:22,399 --> 00:14:27,320 claro, entonces 256 00:14:27,320 --> 00:14:29,399 hechos los ejercicios, os pongo 257 00:14:29,399 --> 00:14:31,299 aquí un ejemplo por si 258 00:14:31,299 --> 00:14:33,360 alguien en el vídeo lo quiere ver 259 00:14:33,360 --> 00:14:35,100 vale, este es un ejercicio 260 00:14:35,100 --> 00:14:36,539 de la ensalada de fruta 261 00:14:36,539 --> 00:14:37,879 vale 262 00:14:37,879 --> 00:14:40,399 aquí 263 00:14:40,399 --> 00:14:43,039 seguimos adelante, vale, entonces 264 00:14:43,039 --> 00:15:04,860 En Java habréis notado que existen unas palabras reservadas, o sea, Java para poder escribir sus cosas tiene algunas palabras que son suyas y que tú no puedes utilizar como te da la gana, porque tienen un significado especial, como por ejemplo public, como por ejemplo class, como por ejemplo static. 265 00:15:04,860 --> 00:15:17,399 Las palabras reservadas son las que aparecen en rojo, o morado, o este color de aquí, pues en el editor. 266 00:15:17,899 --> 00:15:23,399 Estas palabras de aquí son reservadas y no las puedo utilizar como me da la gana. 267 00:15:23,519 --> 00:15:31,159 Cuando yo escribo public, Java lo va a interpretar como una palabra suya que tiene un significado concreto. 268 00:15:31,539 --> 00:15:34,700 Si yo quiero utilizarla en otro contexto, no puedo. 269 00:15:34,860 --> 00:15:39,200 Tengo que inventarme algo distinto 270 00:15:39,200 --> 00:15:40,360 Lo llamo public 1 271 00:15:40,360 --> 00:15:43,500 O lo llamo public con la P mayúscula 272 00:15:43,500 --> 00:15:44,299 O lo que sea 273 00:15:44,299 --> 00:15:47,480 Pero esta palabra de aquí es una palabra reservada 274 00:15:47,480 --> 00:15:48,279 Para el lenguaje 275 00:15:48,279 --> 00:15:50,480 No se puede utilizar en otros entornos 276 00:15:50,480 --> 00:15:53,139 En otros contextos 277 00:15:53,139 --> 00:15:53,379 ¿Sí? 278 00:15:54,379 --> 00:15:57,200 Vale, y las iréis descubriendo 279 00:15:57,200 --> 00:15:58,600 O sea, con el ID es fácil 280 00:15:58,600 --> 00:16:00,480 Si vosotros queréis usar una palabra 281 00:16:00,480 --> 00:16:02,059 No sabéis si es reservada o no, la escribís 282 00:16:02,059 --> 00:16:03,960 Si os sale en rojo, pues está reservada 283 00:16:03,960 --> 00:16:04,700 Esta no la uso 284 00:16:04,700 --> 00:16:10,919 Si sale con un colorín 285 00:16:10,919 --> 00:16:12,600 Pues tiene un significado 286 00:16:12,600 --> 00:16:13,879 Entonces cuidado con lo que haces 287 00:16:13,879 --> 00:16:16,080 Y ahora ya veremos 288 00:16:16,080 --> 00:16:18,399 De qué color nos pones las variables 289 00:16:18,399 --> 00:16:19,159 Y cosas por el estilo 290 00:16:19,159 --> 00:16:21,100 Entonces empezaremos a entender 291 00:16:21,100 --> 00:16:25,039 Estas son 292 00:16:25,039 --> 00:16:28,100 Las palabras reservadas 293 00:16:28,100 --> 00:16:29,919 O algunas de las palabras reservadas 294 00:16:29,919 --> 00:16:31,360 Que están dentro de Java 295 00:16:31,360 --> 00:16:33,720 Entonces si intentáis usar estas 296 00:16:33,720 --> 00:16:35,799 Pues os saldrán de un color rojo 297 00:16:35,799 --> 00:16:37,679 Y no os permitirá utilizarla 298 00:16:37,679 --> 00:16:39,299 Por ejemplo, para hacer el nombre de una variable 299 00:16:39,299 --> 00:16:40,340 O el nombre de un método 300 00:16:40,340 --> 00:16:43,320 O otras cosas, referencias 301 00:16:43,320 --> 00:16:44,759 Que nos puedan servir 302 00:16:44,759 --> 00:16:47,139 ¿Las tenéis que saber de memoria todas? 303 00:16:47,679 --> 00:16:49,120 No, tenéis que saber de memoria 304 00:16:49,120 --> 00:16:50,299 Las que usáis 305 00:16:50,299 --> 00:16:52,659 Synchronized, por ejemplo 306 00:16:52,659 --> 00:16:54,200 Se utiliza para 307 00:16:54,200 --> 00:16:57,799 Cosas avanzadas de programación 308 00:16:57,799 --> 00:16:58,519 Paralela 309 00:16:58,519 --> 00:17:01,139 Y hasta que no hagáis segundo de 310 00:17:01,139 --> 00:17:01,960 DUM 311 00:17:01,960 --> 00:17:04,400 Posiblemente no la vais a ver 312 00:17:04,400 --> 00:17:05,400 ¿Sí? 313 00:17:07,799 --> 00:17:08,359 Comentarios 314 00:17:08,359 --> 00:17:10,859 A veces, mientras yo hago un programa 315 00:17:10,859 --> 00:17:14,599 Quiero dejar comentarios a este programa 316 00:17:14,599 --> 00:17:16,099 O sea, decirle 317 00:17:16,099 --> 00:17:19,559 Describir lo que estoy haciendo 318 00:17:19,559 --> 00:17:21,920 Pero diciéndole al compilador 319 00:17:21,920 --> 00:17:25,000 Oye, compilador, lo que voy a escribir aquí no es Java 320 00:17:25,000 --> 00:17:26,759 Es lenguaje mío 321 00:17:26,759 --> 00:17:27,920 Esto, sáltatelo 322 00:17:27,920 --> 00:17:29,819 Esto de aquí no lo consideres 323 00:17:29,819 --> 00:17:57,230 Porque si yo voy aquí y escribo, este es un programa para hacer una ensalada de fruta, pues él se enfada, dice, no entiendo nada, hay un montón de cosas que has metido aquí, que no sé, el compilador se está enfadando, ¿vale? 324 00:17:57,230 --> 00:17:58,289 Porque esto no es Java 325 00:17:58,289 --> 00:18:02,829 Pero si yo le digo, no, mira, compilador, ignóralo 326 00:18:02,829 --> 00:18:04,549 Barra, barra 327 00:18:04,549 --> 00:18:07,769 Entonces, él dice, ah, vale, muy bien 328 00:18:07,769 --> 00:18:11,430 Cuando voy a compilar esta línea de aquí, me la salto 329 00:18:11,430 --> 00:18:14,049 No la considero 330 00:18:14,049 --> 00:18:18,250 Y entonces, ahora mi programa funciona perfectamente, sin errores 331 00:18:18,250 --> 00:18:21,490 Porque esto se lo ha saltado 332 00:18:21,490 --> 00:18:25,089 Y si es un comentario largo, de varias líneas 333 00:18:25,089 --> 00:18:26,549 Puedo utilizar esto 334 00:18:26,549 --> 00:18:43,529 Entre este símbolo y este símbolo 335 00:18:43,529 --> 00:18:47,490 Todo lo que escribo es considerado un comentario 336 00:18:47,490 --> 00:18:52,890 Entonces puedo, este es un sistema para hacer no sé qué, no sé cuánto 337 00:18:52,890 --> 00:18:54,589 ¿Para qué sirven los comentarios? 338 00:18:54,589 --> 00:19:01,089 A vosotros os sirven para tomar apuntes directamente sobre el programa 339 00:19:01,089 --> 00:19:05,150 ¿Queréis saber qué hace el System.out? 340 00:19:05,269 --> 00:19:06,769 Aquí os hacéis un comentario y dice 341 00:19:06,769 --> 00:19:11,690 Println escribe en una línea 342 00:19:11,690 --> 00:19:16,529 Escribís lo que os da la gana 343 00:19:16,529 --> 00:19:17,690 Esto puede servir 344 00:19:17,690 --> 00:19:22,589 En la vida real hay dos escuelas de pensamiento 345 00:19:22,589 --> 00:19:26,890 Una que dice que el código debería ir bien comentado siempre 346 00:19:26,890 --> 00:19:30,069 Yo hago un producto, hago un código 347 00:19:30,069 --> 00:19:35,970 Y considero que si otro compañero de mi empresa viene y lee mi código 348 00:19:35,970 --> 00:19:39,230 Tiene que entenderlo, entonces si yo le escribo allí, ¿qué hace? 349 00:19:39,410 --> 00:19:41,529 Cuidado, no se comenta línea por línea 350 00:19:41,529 --> 00:19:44,970 Porque yo lo sé que hace un System.Auto, sé que hace un IF 351 00:19:44,970 --> 00:19:49,730 Pero a lo mejor un trozo de código, pues le escribo antes una descripción 352 00:19:49,730 --> 00:19:52,789 Para hacer entender a quien va a leerlo, qué debería hacer 353 00:19:52,789 --> 00:19:56,089 Este es un código para buscar alumnos dentro de la base de datos 354 00:19:56,089 --> 00:19:57,750 Vale, fenomenal, y luego el código 355 00:19:57,750 --> 00:20:02,289 Si hay trozos de código un poco raros, un poco más complejos 356 00:20:02,289 --> 00:20:06,069 Pues ahí yo pongo otro comentario de aquí es donde hago el acceso a la base de datos 357 00:20:06,069 --> 00:20:07,910 Esta es donde construyo la query 358 00:20:07,910 --> 00:20:16,450 Ahora, la segunda escuela de pensamiento dice que el código no se debería nunca comentar 359 00:20:16,450 --> 00:20:19,009 No deberían existir comentarios 360 00:20:19,009 --> 00:20:22,509 Porque el código debería ser suficientemente limpio 361 00:20:22,509 --> 00:20:24,569 Es suficientemente sencillo 362 00:20:24,569 --> 00:20:26,329 es suficientemente bien hecho 363 00:20:26,329 --> 00:20:28,990 para que quien lo lea no se pierda en él 364 00:20:28,990 --> 00:20:32,920 ¿cuál de las dos 365 00:20:32,920 --> 00:20:33,700 escuelas es mejor? 366 00:20:34,319 --> 00:20:36,700 ni idea, vosotros entráis en una empresa 367 00:20:36,700 --> 00:20:38,660 y veis vuestro jefe que quiere 368 00:20:38,660 --> 00:20:40,319 si quiere comentarios o no 369 00:20:40,319 --> 00:20:44,900 técnicamente 370 00:20:44,900 --> 00:20:46,720 los comentarios 371 00:20:46,720 --> 00:20:49,420 las empresas 372 00:20:49,420 --> 00:20:50,119 más 373 00:20:50,119 --> 00:20:52,599 formal, más 374 00:20:52,599 --> 00:20:54,180 conservadoras 375 00:20:54,180 --> 00:20:56,519 quieren comentarios 376 00:20:56,519 --> 00:21:02,640 Las empresas más modernas quieren código bien hecho, no comentar 377 00:21:02,640 --> 00:21:08,099 Si tú llegas a tener que comentar algo, es que tu código es demasiado retorcido 378 00:21:08,099 --> 00:21:17,519 Busca una forma de hacerlo más sencillo o pilla un trozo de este código, sácalo fuera en otro módulo, otro método y cosas por el estilo 379 00:21:17,519 --> 00:21:21,220 Y que se te quede aquí bonito limpito y luego hay los módulos más pequeños 380 00:21:21,220 --> 00:21:22,039 Lo hablaremos 381 00:21:22,039 --> 00:21:27,299 ¿Ahora mismo vosotros sabéis programar bien? 382 00:21:27,480 --> 00:21:30,279 No, porque si sabéis programar bien no estaríais aquí 383 00:21:30,279 --> 00:21:32,059 Estaríais ganando millones de euros 384 00:21:32,059 --> 00:21:35,400 Entonces tenéis que esperar un rato para programar bien 385 00:21:35,400 --> 00:21:39,559 Por lo tanto a vosotros os puede servir como mecanismo para tomar apuntes 386 00:21:39,559 --> 00:21:44,160 Para apuntar lo que queréis hacer y luego no lo habéis sido capaz de hacer 387 00:21:44,160 --> 00:21:48,759 O para dejar una parte de vuestro programa más adelante 388 00:21:48,759 --> 00:21:50,960 Tú metes un comentario diciendo 389 00:21:50,960 --> 00:21:54,500 Mira, aquí pongo que el valor que me han dado es siempre 5 390 00:21:54,500 --> 00:22:01,559 Más adelante tendré que cambiar esto con un código que me pille el valor directamente desde el teclado 391 00:22:01,559 --> 00:22:09,039 Lo dejas allí como comentario diciendo, mira, no lo he hecho ahora porque voy a hacer la parte importante de este programa 392 00:22:09,039 --> 00:22:12,740 Después, cuando tengo tiempo, modifico esto y pongo el otro 393 00:22:12,740 --> 00:22:13,839 Por ejemplo 394 00:22:13,839 --> 00:22:15,920 Dudas 395 00:22:15,920 --> 00:22:19,519 Entonces, ya sabéis cómo poner un comentario 396 00:22:19,519 --> 00:22:21,579 Fijaos que como reconozco un comentario 397 00:22:21,579 --> 00:22:23,759 Porque sale en verdito 398 00:22:23,759 --> 00:22:25,940 Tened en cuenta también que 399 00:22:25,940 --> 00:22:29,339 Estos códigos de colores son los colores por defecto 400 00:22:29,339 --> 00:22:31,819 Vosotros trasteando por aquí 401 00:22:31,819 --> 00:22:35,019 Podéis encontrar formas para cambiar todos los colores 402 00:22:35,019 --> 00:22:39,559 Es que las palabras reservadas en vez de rojo sean amarillas 403 00:22:39,559 --> 00:22:42,539 Y que el comentario en vez de verde sea azul 404 00:22:42,539 --> 00:22:43,680 Lo podéis hacer 405 00:22:43,680 --> 00:22:45,799 Os aconsejo que no lo hagáis 406 00:22:45,799 --> 00:22:47,920 Al menos en los ordenadores de aquí 407 00:22:47,920 --> 00:22:50,960 Porque cuando luego en el examen nos cambia de ordenador 408 00:22:50,960 --> 00:22:53,099 De repente todos los colorines son distintos 409 00:22:53,099 --> 00:22:55,140 Entonces intentad por favor 410 00:22:55,140 --> 00:22:57,900 No hacer la vida imposible 411 00:22:57,900 --> 00:22:59,539 A vuestros compañeros 412 00:22:59,539 --> 00:23:02,160 ¿Dudas? 413 00:23:03,160 --> 00:23:03,940 ¿Más cosillas? 414 00:23:05,940 --> 00:23:06,599 ¿Comentarios? 415 00:23:06,680 --> 00:23:09,980 Aquí siempre los comentarios de una línea o de varias líneas 416 00:23:09,980 --> 00:23:12,539 No 417 00:23:12,539 --> 00:23:15,099 Mira 418 00:23:15,099 --> 00:23:20,200 Estoy escribiendo un comando 419 00:23:20,200 --> 00:23:21,299 Y cuando acaba el comando 420 00:23:21,299 --> 00:23:23,339 no lo puedo meter dentro de un comando 421 00:23:23,339 --> 00:23:25,279 ¿vale? porque a partir del barra barra 422 00:23:25,279 --> 00:23:26,299 todo es un comentario 423 00:23:26,299 --> 00:23:29,460 esta toda esta línea 424 00:23:29,460 --> 00:23:31,460 a partir de aquí todo el resto 425 00:23:31,460 --> 00:23:33,559 de la línea, mientras este aquí es desde aquí 426 00:23:33,559 --> 00:23:34,440 hasta aquí 427 00:23:34,440 --> 00:23:36,819 aún así yo comentarios 428 00:23:36,819 --> 00:23:39,339 incrustados no lo he visto nunca, en el medio 429 00:23:39,339 --> 00:23:41,000 de un, o sea, una instrucción 430 00:23:41,000 --> 00:23:43,319 y por encima comentas que hace ese trozo 431 00:23:43,319 --> 00:23:43,599 de código 432 00:23:43,599 --> 00:23:49,720 variables, vale, ok 433 00:23:49,720 --> 00:23:50,819 ahora empezamos 434 00:23:50,819 --> 00:23:55,539 la primera cosa importante de este curso 435 00:23:55,539 --> 00:24:00,059 que son las variables, las variables es un concepto relativamente sencillo 436 00:24:00,059 --> 00:24:03,859 que pero en algunos contextos, a algunos de vosotros 437 00:24:03,859 --> 00:24:07,819 le puede resultar un poquito raro 438 00:24:07,819 --> 00:24:11,500 y entonces tardará un rato en entenderlo, sobre todo porque 439 00:24:11,500 --> 00:24:15,940 como utilizaremos al principio las variables, será un modo sencillo, cuando empezaremos 440 00:24:15,940 --> 00:24:19,000 a combinarlas con otras cosas y a complicar un poco 441 00:24:19,000 --> 00:24:38,420 Se complica. ¿Qué es una variable? La variable es una representación simbólica de un dato. Es una zona de memoria a la que le asigno tres cosas. Un nombre, un valor y un tipo. 442 00:24:38,420 --> 00:24:44,940 Las variables son trocito de memoria RAM 443 00:24:44,940 --> 00:24:49,160 Que yo digo al sistema, resérvamela 444 00:24:49,160 --> 00:24:53,859 Porque yo aquí dentro voy a meter un tipo de datos 445 00:24:53,859 --> 00:24:56,259 Por ejemplo, aquí voy a meter enteros 446 00:24:56,259 --> 00:24:58,799 O aquí voy a meter letras 447 00:24:58,799 --> 00:25:00,579 O aquí voy a meter palabras 448 00:25:00,579 --> 00:25:03,980 O aquí voy a meter números pero con coma 449 00:25:03,980 --> 00:25:09,779 Allí dentro pondré una de estas cosas 450 00:25:09,779 --> 00:25:12,380 Si he dicho que pongo enteros, pues pondré un entero. 451 00:25:12,460 --> 00:25:13,440 Siete, su valor. 452 00:25:14,319 --> 00:25:16,759 Si he dicho que pongo una palabra, pondré hola. 453 00:25:17,440 --> 00:25:17,920 Es su valor. 454 00:25:18,660 --> 00:25:26,420 Si digo que pondré un booleano, que son valores de verdad, verdadero o falso, pues pondré o verdadero o falso. 455 00:25:27,859 --> 00:25:35,380 Y a esta celda de memoria que tiene un tipo y tiene un valor, la llamo de alguna forma. 456 00:25:35,819 --> 00:25:36,619 La llamo nombre. 457 00:25:36,619 --> 00:25:44,539 Entonces tengo un trozo de memoria que dentro tiene palabras, dentro tiene el valor Estefano, y la llamo nombre. 458 00:25:46,599 --> 00:25:53,759 Ahora, en mi programa, cuando uso la palabra nombre, me estoy refiriendo a ese trozo de memoria. 459 00:25:55,259 --> 00:25:56,240 ¿Se entiende? 460 00:25:57,259 --> 00:25:59,839 Es un cajón la variable. 461 00:26:00,640 --> 00:26:04,960 Yo tengo un cajón donde digo aquí dentro pongo solo números. 462 00:26:04,960 --> 00:26:06,059 Vale, fenomenal. 463 00:26:06,059 --> 00:26:08,880 Y este cajón lo llamo datos 464 00:26:08,880 --> 00:26:12,420 Entonces, cuando luego quiero ver qué hay dentro datos 465 00:26:12,420 --> 00:26:15,079 Pues abro el cajón con la pegatina datos 466 00:26:15,079 --> 00:26:17,380 Y miro dentro y me encuentro 7 467 00:26:17,380 --> 00:26:18,180 Vale, perfecto 468 00:26:18,180 --> 00:26:21,299 Dentro del cajón datos que puede contener números 469 00:26:21,299 --> 00:26:22,319 Tengo un 7 470 00:26:22,319 --> 00:26:24,339 ¿Sí? 471 00:26:29,819 --> 00:26:31,380 Tipos, unos cuantos 472 00:26:31,380 --> 00:26:32,559 Ahora, ahora lo veremos 473 00:26:32,559 --> 00:26:36,460 Estos son los básicos 474 00:26:36,460 --> 00:26:38,019 ¿Vale? 475 00:26:38,420 --> 00:26:39,859 Pero luego ya veremos más 476 00:26:39,859 --> 00:26:49,880 Entonces, por ejemplo, si yo creo la caja edad, ¿vale? 477 00:26:49,900 --> 00:26:54,319 Que contiene 18 y solo puede contener enteros, ¿vale? 478 00:26:55,000 --> 00:26:56,299 La creo de esta forma 479 00:26:56,299 --> 00:27:00,279 Esta de aquí, este comando de aquí me está diciendo 480 00:27:00,279 --> 00:27:03,460 Crea una caja, crea una variable que se llama edad 481 00:27:03,460 --> 00:27:08,759 El tipo de datos que puede entrar allí dentro son enteros 482 00:27:08,759 --> 00:27:10,720 Int, integer en inglés 483 00:27:10,720 --> 00:27:17,690 Y el valor que le ponga ahora dentro es 18 484 00:27:17,690 --> 00:27:19,529 Se acaba la instrucción 485 00:27:19,529 --> 00:27:28,069 A partir de esta línea, por debajo, si yo uso la palabra edad 486 00:27:28,069 --> 00:27:33,769 Pues edad será una referencia a esta caja que tiene dentro un 18 487 00:27:33,769 --> 00:27:37,849 Edad vale 18, hasta que no la modifique, edad vale 18 488 00:27:37,849 --> 00:27:41,410 Pero es una variable, o sea que su valor puede cambiar 489 00:27:41,410 --> 00:27:43,789 veremos como 490 00:27:43,789 --> 00:27:46,769 puedes cambiar su valor 491 00:27:46,769 --> 00:27:48,349 y poner 19 por ejemplo 492 00:27:48,349 --> 00:27:50,490 pero no puedes poner salmón 493 00:27:50,490 --> 00:27:52,569 porque salmón no es un entero 494 00:27:52,569 --> 00:27:54,549 entonces si yo ahora a edad 495 00:27:54,549 --> 00:27:56,730 le digo que vale 19 496 00:27:56,730 --> 00:27:58,250 pues perfecto 497 00:27:58,250 --> 00:28:01,430 es quitado el 18 que tenía antes 498 00:28:01,430 --> 00:28:03,690 le he puesto un 19 dentro 499 00:28:03,690 --> 00:28:05,230 y como es un entero 500 00:28:05,230 --> 00:28:07,210 que lo he declarado aquí que es un entero 501 00:28:07,210 --> 00:28:09,130 pues entonces 502 00:28:09,130 --> 00:28:10,869 todo perfecto 503 00:28:10,869 --> 00:28:15,990 Pero si ahora le digo una palabra, hola, salmón o verdadero, 504 00:28:16,849 --> 00:28:20,829 como verdadero o salmón no son enteros, se va a enfadar. 505 00:28:21,509 --> 00:28:23,769 Dice, no, no puedo guardarlo dentro del cajón, 506 00:28:23,849 --> 00:28:28,309 porque me habías dicho que el tipo de esta variable eran enteros. 507 00:28:28,309 --> 00:28:30,630 Entonces, solo puedes meter enteros aquí dentro. 508 00:28:31,029 --> 00:28:35,190 Puedes cambiar el entero que hay, pero no puedes poner algo que no es un entero. 509 00:28:38,160 --> 00:28:38,500 ¿Dudas? 510 00:28:38,500 --> 00:28:45,200 fijaos también en la diferencia entre int edad igual 18 y edad igual 19 511 00:28:45,200 --> 00:28:49,400 en la primera estoy declarando una nueva variable 512 00:28:49,400 --> 00:28:55,220 edad no existía y ahora ya he creado un cajón que se llama edad 513 00:28:55,220 --> 00:28:57,380 que contiene enteros y le he puesto 18 514 00:28:57,380 --> 00:29:00,240 la segunda vez cuando hago edad igual 19 515 00:29:00,240 --> 00:29:04,000 este edad ya existe, ya lo he declarado antes 516 00:29:04,000 --> 00:29:07,380 entonces no hace falta que te vuelva a decir icon enteros 517 00:29:07,380 --> 00:29:09,420 Porque ya sabemos de qué estamos hablando 518 00:29:09,420 --> 00:29:13,839 No puedo crear dos variables que tengan el mismo nombre 519 00:29:13,839 --> 00:29:16,859 Si no tendría dos cajones con escrito edad 520 00:29:16,859 --> 00:29:18,519 Y cuando te digo cuánto vale edad 521 00:29:18,519 --> 00:29:20,619 No sabría cuál de los dos cajones tengo que mirar 522 00:29:20,619 --> 00:29:23,220 ¿Dudas? 523 00:29:26,890 --> 00:29:27,829 No necesariamente 524 00:29:27,829 --> 00:29:29,089 Aconsejable 525 00:29:29,089 --> 00:29:31,569 Lo que se llama inicializar una variable 526 00:29:31,569 --> 00:29:33,829 Yo puedo dejar una variable no inicializada 527 00:29:33,829 --> 00:29:36,490 Pero explota a mí el sistema 528 00:29:36,490 --> 00:29:39,990 Si intento ir a leer una variable que no ha sido inicializada 529 00:29:39,990 --> 00:29:42,190 Por lo tanto, sí, se suele inicializar. 530 00:29:42,650 --> 00:29:47,950 De hecho, en algunos casos, el sistema te la inicializa en automático a un valor por defecto. 531 00:29:48,009 --> 00:29:49,609 Que, por ejemplo, para los enteros es cero. 532 00:29:52,750 --> 00:29:52,849 ¿Sí? 533 00:29:57,130 --> 00:29:57,410 Vale. 534 00:29:57,930 --> 00:30:00,309 ¿Cómo se dan los nombres a las variables? 535 00:30:00,910 --> 00:30:01,109 ¿Vale? 536 00:30:01,509 --> 00:30:10,910 Se componen de una serie o más de caracteres que son letras, mayúsculas y minúsculas, números, guión bajo o símbolo de dólar. 537 00:30:11,470 --> 00:30:11,690 ¿Vale? 538 00:30:11,730 --> 00:30:12,950 Pero no se suele utilizar en Java. 539 00:30:12,950 --> 00:30:15,509 Y a estos dos se suele utilizar para gozar en Java. 540 00:30:15,750 --> 00:30:28,869 ¿Vale? No puede comenzar por número. No puede hacer int, 1, edad y algo. Se enfada. Tiene que empezar por letra. Normalmente minúscula. 541 00:30:30,089 --> 00:30:40,990 No pueden coincidir con ninguna palabra reservada. Aquí viene el problema de antes. No puede hacer int static es igual a 10. Se enfada porque static es una variable reservada. 542 00:30:40,990 --> 00:30:44,109 Es case sensitive 543 00:30:44,109 --> 00:30:46,089 Es decir, que no es lo mismo 544 00:30:46,089 --> 00:30:47,529 Edad todo minúsculo 545 00:30:47,529 --> 00:30:48,950 Que edad todo mayúsculo 546 00:30:48,950 --> 00:30:51,349 Que edad con la E mayúscula 547 00:30:51,349 --> 00:30:52,910 Y el resto minúsculo 548 00:30:52,910 --> 00:30:53,829 ¿Sí? 549 00:30:55,230 --> 00:30:57,829 Concatenar los identificadores compuestos de varias palabras 550 00:30:57,829 --> 00:30:59,450 Poniendo una letra, una mayúscula 551 00:30:59,450 --> 00:31:01,849 Como fecha, D mayúscula D 552 00:31:01,849 --> 00:31:03,609 N mayúscula nacimiento 553 00:31:03,609 --> 00:31:05,809 En lugar de fecha de nacimiento 554 00:31:05,809 --> 00:31:07,710 Que se puede hacer, pero en Java 555 00:31:07,710 --> 00:31:10,390 Es más normal esto 556 00:31:10,390 --> 00:31:15,910 que este de aquí. ¿Sí? En la primera letra de un identificador de variable, un método 557 00:31:15,910 --> 00:31:24,109 es minúscula. Los identificadores de variables o métodos se ponen en minúscula. ¿Qué 558 00:31:24,109 --> 00:31:30,109 es un literal? Un literal es un valor concreto. Un valor concreto de un determinado tipo. 559 00:31:30,549 --> 00:31:42,210 O sea, tres, el entero tres, es un literal de tipo int. Gato, entre comillas, es un literal 560 00:31:42,210 --> 00:31:44,369 De tipo palabra 561 00:31:44,369 --> 00:31:47,670 El tipo palabra en Java es 562 00:31:47,670 --> 00:31:48,450 String 563 00:31:48,450 --> 00:31:51,630 Con la S mayúscula 564 00:31:51,630 --> 00:31:53,470 Que ya habéis visto por alguna 565 00:31:53,470 --> 00:31:57,180 La A 566 00:31:57,180 --> 00:31:59,339 Fijaos, no entre comillas 567 00:31:59,339 --> 00:32:01,160 Sino entre apóstrofes 568 00:32:01,160 --> 00:32:01,680 Esto, sí 569 00:32:01,680 --> 00:32:04,960 Es un literal de tipo carácter 570 00:32:04,960 --> 00:32:05,619 ¿Vale? 571 00:32:06,960 --> 00:32:09,759 Una palabra es una secuencia de carácteres 572 00:32:09,759 --> 00:32:10,700 ¿Vale? 573 00:32:10,839 --> 00:32:13,460 Entonces tengo dos tipos, que es un carácter solo 574 00:32:13,460 --> 00:32:14,960 que es el tipo char 575 00:32:14,960 --> 00:32:17,839 y una secuencia de carácteres 576 00:32:17,839 --> 00:32:18,799 que es el tipo string 577 00:32:18,799 --> 00:32:21,500 ahora tanto lo repasamos 578 00:32:21,500 --> 00:32:24,200 por ejemplo 9,993 579 00:32:24,200 --> 00:32:26,160 es un literal, es un valor concreto 580 00:32:26,160 --> 00:32:27,160 de tipo decimal 581 00:32:27,160 --> 00:32:28,880 con punto 582 00:32:28,880 --> 00:32:31,539 true 583 00:32:31,539 --> 00:32:34,119 es un literal de tipo booleano 584 00:32:34,119 --> 00:32:40,339 y estos son los tipos 585 00:32:40,339 --> 00:32:41,000 que tenemos 586 00:32:41,000 --> 00:32:42,660 tenemos 587 00:32:42,660 --> 00:32:44,539 booleano 588 00:32:44,539 --> 00:32:48,819 Sus valores son verdadero o falso, se usan para lógica 589 00:32:48,819 --> 00:32:53,599 Esto es donde se usan, son en los if, en los while 590 00:32:53,599 --> 00:32:57,940 ¿Os acordáis cuando hablamos de que había la posibilidad de hacer 591 00:32:57,940 --> 00:33:02,180 Si algo es verdadero, hago una determinada acción 592 00:33:02,180 --> 00:33:04,380 Y si no es verdadero, hago otra 593 00:33:04,380 --> 00:33:08,240 Pues para eso, verdadero o falso, uso tipos booleanos 594 00:33:08,240 --> 00:33:10,180 Lo veremos 595 00:33:10,180 --> 00:33:12,279 Tipo carácter, ¿vale? 596 00:33:12,420 --> 00:33:14,140 Un tipo carácter se llama tipo char 597 00:33:14,140 --> 00:33:19,700 Char es un carácter solo, una letra, un símbolo, un punto 598 00:33:19,700 --> 00:33:24,319 Y va entre apice, abóstrofe 599 00:33:24,319 --> 00:33:28,700 Luego está byte, short e int, el long 600 00:33:28,700 --> 00:33:32,279 Byte, short e int, el long, que son todos enteros 601 00:33:32,279 --> 00:33:35,500 Lo que pasa es que son rangos distintos 602 00:33:35,500 --> 00:33:40,960 Byte es un número que ocupa solo un byte de memoria, 8 bits 603 00:33:40,960 --> 00:33:44,720 Entonces puede hacer, con 8 bits 604 00:33:44,720 --> 00:33:49,039 Se pueden hacer 2 a la 8 distintos valores 605 00:33:49,039 --> 00:33:53,599 Eso quiere decir que puede hacer 256 valores distintos 606 00:33:53,599 --> 00:33:56,240 Y considerando que hay negativo y positivo 607 00:33:56,240 --> 00:34:01,240 Es un numerito que va desde menos 128 a más 127 608 00:34:01,240 --> 00:34:02,779 Este es un byte 609 00:34:02,779 --> 00:34:08,199 Es un entero entre menos 128 y 127 610 00:34:08,199 --> 00:34:14,599 El short es un entero pero que en memoria no ocupa un solo byte 611 00:34:14,599 --> 00:34:15,900 Pero ocupa dos bytes 612 00:34:15,900 --> 00:34:20,940 Y con dos bytes puedes hacer dos a la 16 distintos valores 613 00:34:20,940 --> 00:34:26,940 Que son 65.000 más o menos 614 00:34:26,940 --> 00:34:35,000 Que va desde menos 32.768 a más 32.767 615 00:34:35,000 --> 00:34:37,099 Y el int, lo que hemos visto 616 00:34:37,099 --> 00:34:39,659 Es un entero que ocupa 4 bytes 617 00:34:39,659 --> 00:34:40,940 Dos a la cuatro 618 00:34:40,940 --> 00:34:43,460 Dos a la cuatro son cuatro mil millones de valores 619 00:34:43,460 --> 00:34:44,119 Más o menos 620 00:34:44,119 --> 00:34:45,340 ¿Sí? 621 00:34:46,340 --> 00:34:49,440 No dos a la cuatro, dos a la treinta y dos 622 00:34:49,440 --> 00:34:51,340 ¿Vale? Porque son cuatro bytes 623 00:34:51,340 --> 00:34:53,239 ¿Sí? Cuatro por ocho 624 00:34:53,239 --> 00:34:55,400 Y entonces 625 00:34:55,400 --> 00:34:56,800 Tengo este rango de valor 626 00:34:56,800 --> 00:34:59,500 Y luego está el long que ocupa ocho bytes 627 00:34:59,500 --> 00:35:01,219 O sea, dos elevado a la ocho 628 00:35:01,219 --> 00:35:03,599 Perdón, dos elevado a la 629 00:35:03,599 --> 00:35:06,059 8 por 8, 64 630 00:35:06,059 --> 00:35:08,380 y entonces me puede hacer 631 00:35:08,380 --> 00:35:10,480 estos numerones grandes aquí 632 00:35:10,480 --> 00:35:12,739 ¿qué quiere decir esto? 633 00:35:12,820 --> 00:35:14,639 que cuando yo utilizo los enteros 634 00:35:14,639 --> 00:35:16,559 ¿vale? normalmente 635 00:35:16,559 --> 00:35:18,460 usaré los int, pero así 636 00:35:18,460 --> 00:35:20,340 mi problema es la memoria 637 00:35:20,340 --> 00:35:22,440 ¿vale? a lo mejor en vez de 638 00:35:22,440 --> 00:35:24,420 utilizar enteros, que cada entero que 639 00:35:24,420 --> 00:35:26,480 utilizo me ocupará 4 bytes de 640 00:35:26,480 --> 00:35:28,260 memoria, pues si son 641 00:35:28,260 --> 00:35:30,300 números pequeños, por ejemplo estoy 642 00:35:30,300 --> 00:35:32,340 calculando la edad de las 643 00:35:32,340 --> 00:35:40,760 personas. ¿Habrá personas que tienen 2 millones de años? No. Entonces, llegar hasta el valor 644 00:35:40,760 --> 00:35:48,059 2 millones a lo mejor no me interesa. Con que llegue a 127 es suficiente. Si yo calculo 645 00:35:48,059 --> 00:35:54,960 la edad como byte en vez de como int, estoy ahorrando 3 bytes por cada variable de ese 646 00:35:54,960 --> 00:36:01,019 tipo que utilizo. Entonces, gasto menos memoria. Imaginémonos que ahora en vez de estoy 647 00:36:01,019 --> 00:36:07,400 misurando las distancias astronómicas que son gigantescas en metros. Pues a lo mejor 648 00:36:07,400 --> 00:36:13,519 este número de aquí en metros es muy pequeño, no me llega. Entonces, en vez de utilizar 649 00:36:13,519 --> 00:36:22,659 int, utilizaré algo que puede contener más, como por ejemplo el long. Ocupa más memoria, 650 00:36:22,659 --> 00:36:31,579 pero me permite tamaños más grandes de enteros. ¿Dudas? Entonces, estos cuatro, byte, short, 651 00:36:31,579 --> 00:36:33,820 Intel long, sustancialmente 652 00:36:33,820 --> 00:36:35,059 Son números enteros 653 00:36:35,059 --> 00:36:37,380 El byte se usa también para otras cosas 654 00:36:37,380 --> 00:36:38,659 Pero por ahora lo dejamos aquí 655 00:36:38,659 --> 00:36:39,619 ¿Vale? 656 00:36:40,300 --> 00:36:43,800 Y si en vez no quiero números enteros, sino quiero números con coma 657 00:36:43,800 --> 00:36:44,800 Tengo float 658 00:36:44,800 --> 00:36:45,800 Y double 659 00:36:45,800 --> 00:36:48,079 Float es 660 00:36:48,079 --> 00:36:50,880 Número con decimal que ocupa 4 bytes 661 00:36:50,880 --> 00:36:52,940 Y double es lo mismo 662 00:36:52,940 --> 00:36:54,539 Pero que ocupa 8 bytes 663 00:36:54,539 --> 00:36:56,900 Entonces puede hacer números más grandes 664 00:36:56,900 --> 00:36:58,219 Y más precisos 665 00:36:58,219 --> 00:37:00,099 ¿Sí? 666 00:37:00,099 --> 00:37:02,599 Vale, pruebas 667 00:37:02,599 --> 00:37:05,929 Vamos aquí 668 00:37:05,929 --> 00:37:09,599 Y en un ejercicito 669 00:37:09,599 --> 00:37:11,119 O sea, en un 670 00:37:11,119 --> 00:37:12,820 Cualquiera de estos 671 00:37:12,820 --> 00:37:14,599 Vamos a crear una variable 672 00:37:14,599 --> 00:37:16,500 Creamos la variable 673 00:37:16,500 --> 00:37:18,099 Nombre 674 00:37:18,099 --> 00:37:21,340 ¿Cómo se llama la variable nombre? 675 00:37:21,940 --> 00:37:22,500 Nombre 676 00:37:22,500 --> 00:37:25,860 ¿Sí? ¿De qué tipo es? 677 00:37:28,030 --> 00:37:28,670 String 678 00:37:28,670 --> 00:37:31,769 ¿Y qué le pongo dentro? 679 00:37:34,480 --> 00:37:34,940 Stéfano 680 00:37:34,940 --> 00:38:02,840 ¡Vale! He creado una variable. Esta variable tiene tipo palabras, tiene dentro el literal Stefano y se llama nombre. Le he dicho al sistema, créame un trozo de memoria donde dentro pones los carácteres S, T, E, F, A, N, O y solo puede contener strings allí. 681 00:38:02,840 --> 00:38:07,989 Creamos un número de teléfono 682 00:38:07,989 --> 00:38:16,969 Int 683 00:38:16,969 --> 00:38:18,650 Tel 684 00:38:18,650 --> 00:38:20,929 Es igual a que 685 00:38:20,929 --> 00:38:24,969 9, 1, 0, 0, 0, 0 686 00:38:24,969 --> 00:38:38,099 Creamos una variable 687 00:38:38,099 --> 00:38:39,420 Pública 688 00:38:39,420 --> 00:38:41,940 Que representa 689 00:38:41,940 --> 00:38:43,659 No lo sé 690 00:38:43,659 --> 00:38:45,480 Cuantos empleados públicos hay 691 00:38:45,480 --> 00:38:46,320 Vale 692 00:38:46,320 --> 00:38:48,460 Son entero 693 00:38:48,460 --> 00:38:51,179 Public, el nombre de mi variable 694 00:38:51,179 --> 00:38:52,739 Es igual 695 00:38:52,739 --> 00:38:55,860 a 100.000 empleados públicos. 696 00:38:56,440 --> 00:38:57,780 ¿Por qué me enfado? 697 00:39:00,679 --> 00:39:03,860 Porque public no la puedo usar como nombre de variable. 698 00:39:04,639 --> 00:39:06,079 Es una palabra reservada. 699 00:39:07,059 --> 00:39:08,039 Lo puedo llamar público. 700 00:39:10,360 --> 00:39:15,920 O empleados públicos. 701 00:39:17,380 --> 00:39:18,780 Con la P mayúscula. 702 00:39:24,949 --> 00:39:25,309 ¿Dudas? 703 00:39:25,309 --> 00:39:30,809 Int 704 00:39:30,809 --> 00:39:33,170 Números 705 00:39:33,170 --> 00:39:35,969 De estrellas 706 00:39:35,969 --> 00:39:39,449 ¿Cuántas estrellas hay? 707 00:39:41,539 --> 00:39:42,219 Muchas 708 00:39:42,219 --> 00:39:47,340 Me enfado 709 00:39:47,340 --> 00:39:49,139 ¿Por qué me enfado? 710 00:39:51,750 --> 00:39:54,230 Porque este señor de aquí no es un entero 711 00:39:54,230 --> 00:39:55,670 ¿Por qué no es un entero? 712 00:39:56,250 --> 00:39:58,909 Porque hemos dicho que los enteros 713 00:39:58,909 --> 00:40:02,050 Llegan hasta este valor de aquí 714 00:40:02,050 --> 00:40:04,590 2.000 millones 715 00:40:04,590 --> 00:40:05,250 Aprox 716 00:40:05,250 --> 00:40:07,789 Y yo le he metido un número más grande 717 00:40:07,789 --> 00:40:09,550 Entonces, ¿cómo hago? 718 00:40:10,929 --> 00:40:12,070 Pues le digo 719 00:40:12,070 --> 00:40:13,929 Que esto es un long 720 00:40:13,929 --> 00:40:17,780 Pero él sigue enfadándose 721 00:40:17,780 --> 00:40:18,860 Diciendo, oye, mira, no 722 00:40:18,860 --> 00:40:21,199 Porque tú me estás dando esto como entero 723 00:40:21,199 --> 00:40:22,920 Y esto no es un entero 724 00:40:22,920 --> 00:40:25,760 Ah, perdona, es un long 725 00:40:25,760 --> 00:40:34,159 Se enfada, a mí me ha llegado grande igualmente 726 00:40:34,159 --> 00:40:37,010 Quitamos los 1-0 727 00:40:37,010 --> 00:40:39,429 Ahí, ya está, suficientemente 728 00:40:39,429 --> 00:40:51,480 Esta L al final, esta es una L, me está diciendo que este número de aquí no lo quiero considerar como entero 729 00:40:51,480 --> 00:40:54,340 Pero lo quiero considerar como un long 730 00:40:54,340 --> 00:40:58,079 Y entonces luego lo puedo guardar en un long 731 00:40:58,079 --> 00:41:09,739 Este número de aquí es más grande que este número de aquí 732 00:41:09,739 --> 00:41:15,639 Y por lo tanto no es un long 733 00:41:15,639 --> 00:41:17,500 ¿Y qué hago entonces? 734 00:41:19,960 --> 00:41:20,519 Doble 735 00:41:20,519 --> 00:41:29,000 ¿Por qué? Porque si os habéis fijado en la transparencia 736 00:41:29,000 --> 00:41:33,619 Cuando voy a trabajar con Float Double 737 00:41:33,619 --> 00:41:36,920 La representación que se hace 738 00:41:36,920 --> 00:41:40,699 Es una representación matemática con e elevado a la 739 00:41:40,699 --> 00:41:45,559 Y entonces el Double no solo me permite 740 00:41:45,559 --> 00:41:48,820 Punto y que sean números muy precisos 741 00:41:48,820 --> 00:41:51,559 Sino que me permite también números muy grandes 742 00:41:51,559 --> 00:41:57,619 Ahora nosotros con estos números muy grandes no vamos a trabajar 743 00:41:57,619 --> 00:42:01,320 Pero es una forma de empezar a trabajar con los tipos 744 00:42:01,320 --> 00:42:03,480 Cada literal tiene un tipo 745 00:42:03,480 --> 00:42:07,340 Nosotros tenemos que ser capaces de reconocer qué tipo es 746 00:42:07,340 --> 00:42:08,559 Tres 747 00:42:08,559 --> 00:42:14,059 A ver, ¿qué tipo tiene esto? 748 00:42:18,139 --> 00:42:18,539 Int 749 00:42:18,539 --> 00:42:23,760 Esto, string 750 00:42:23,760 --> 00:42:28,340 Esto, char 751 00:42:28,340 --> 00:42:35,800 Dependiendo de lo que estoy utilizando 752 00:42:35,800 --> 00:42:37,059 Es una cosa y otra 753 00:42:37,059 --> 00:42:40,619 ¿Y qué puedo hacer con estas cosas? 754 00:42:40,920 --> 00:42:42,420 Y probablemente acabamos 755 00:42:42,420 --> 00:42:45,380 Por ejemplo, yo he escrito aquí mi nombre 756 00:42:45,380 --> 00:42:47,840 Y ahora lo que puedo hacer es 757 00:42:47,840 --> 00:42:51,920 System.out.println 758 00:42:51,920 --> 00:42:54,519 Nombre 759 00:42:54,519 --> 00:43:00,519 Comento esto que tanto no se utiliza 760 00:43:00,519 --> 00:43:04,840 He creado nombre y he puesto nombre 761 00:43:04,840 --> 00:43:08,500 Fijaos que antes, él se enfadaba 762 00:43:08,500 --> 00:43:12,179 Decía, nombre no sé qué es, no me lo puedo poner así 763 00:43:12,179 --> 00:43:18,400 Pero ahora, yo he creado, he definido qué es nombre 764 00:43:18,400 --> 00:43:22,539 Entonces, cuando tú lo utilizas aquí, lo que estás diciendo es