1 00:00:00,180 --> 00:00:06,719 Vale, entonces, estamos haciendo algunos ejercicios sobre variables. 2 00:00:07,320 --> 00:00:10,160 Vamos a ver si lo podemos hacer así. 3 00:00:19,320 --> 00:00:24,239 Vale, entonces, vamos a hacer este ejercicio. 4 00:00:24,760 --> 00:00:26,480 Miradme, señores. 5 00:00:28,140 --> 00:00:29,079 Paso número A. 6 00:00:29,859 --> 00:00:31,699 String, palabra 1. 7 00:00:31,739 --> 00:00:34,100 es igual, comillas, comillas 8 00:00:34,100 --> 00:00:36,179 punto y coma. ¿Qué es esto? 9 00:00:44,020 --> 00:00:45,700 Se puede hacer esta cosa aquí 10 00:00:45,700 --> 00:00:52,619 Esto es 11 00:00:52,619 --> 00:00:54,700 una cadena de caracteres 12 00:00:54,700 --> 00:00:56,359 sin caracteres 13 00:00:56,359 --> 00:00:58,479 Es la cadena vacía 14 00:00:58,479 --> 00:01:00,659 Es un string vacío 15 00:01:00,659 --> 00:01:02,640 Cuidado por quien 16 00:01:02,640 --> 00:01:05,060 sepa algo de programación orientada a objetos 17 00:01:05,060 --> 00:01:05,920 No es null 18 00:01:05,920 --> 00:01:09,040 Son cosas distintas 19 00:01:09,040 --> 00:01:11,099 ¿Vale? Este de aquí es 20 00:01:11,099 --> 00:01:13,879 un valor, es un literal 21 00:01:13,879 --> 00:01:16,159 no es un literal, es un literal 22 00:01:16,159 --> 00:01:17,939 que sustancialmente me está 23 00:01:17,939 --> 00:01:19,400 diciendo, pilla una cadena 24 00:01:19,400 --> 00:01:21,760 que no tiene caracteres dentro 25 00:01:21,760 --> 00:01:24,079 esa es mi cadena, ponla dentro 26 00:01:24,079 --> 00:01:25,159 de p1 27 00:01:25,159 --> 00:01:27,840 ¿vale? perfecto, entonces yo tengo 28 00:01:27,840 --> 00:01:29,959 la variable p1, que es de tipo 29 00:01:29,959 --> 00:01:31,659 string, y aquí dentro 30 00:01:31,659 --> 00:01:33,159 he puesto, nada 31 00:01:33,159 --> 00:01:34,859 ¿estamos todos de acuerdo hasta aquí? 32 00:01:36,180 --> 00:01:37,840 bien, entonces vamos 33 00:01:37,840 --> 00:01:38,359 adelante 34 00:01:38,359 --> 00:01:42,819 ¿Qué hace esta cosa aquí? 35 00:01:45,939 --> 00:01:46,719 Crea otra 36 00:01:46,719 --> 00:01:49,780 variable distinta de esta 37 00:01:49,780 --> 00:01:51,060 otro trozo de memoria 38 00:01:51,060 --> 00:01:53,680 en este trozo de memoria pone 39 00:01:53,680 --> 00:01:55,180 que se llama 40 00:01:55,180 --> 00:01:57,260 p, la palabra 2 41 00:01:57,260 --> 00:01:59,299 es igual a 42 00:01:59,299 --> 00:02:01,680 la, o sea que dentro está 43 00:02:01,680 --> 00:02:03,439 el carácter l seguido del carácter a 44 00:02:03,439 --> 00:02:05,140 y nada más, y puede tener 45 00:02:05,140 --> 00:02:07,579 solo literales de tipo string 46 00:02:07,579 --> 00:02:09,580 la, así, es un 47 00:02:09,580 --> 00:02:22,639 literal tipo string? Sí, hablo tanto, todo bien. Vale. Ok. Entonces, ahora me dice, dentro 48 00:02:22,639 --> 00:02:35,699 de P1, ¿vale? Vas a poner el literal HO, H-O, seguido del contenido de P1, seguido del contenido 49 00:02:35,699 --> 00:03:07,139 de P2. ¿Qué sale? Hola. ¿Y dónde se guarda? En P1. Entonces se machaca lo que está en P1, que era nada, pero el valor actual se pierde. Este valor aquí es nada, este valor de aquí es la, por lo tanto, oh, concatenado a nada, concatenado a la, sale hola, hola, hola, bla, bla, bla, bla. 50 00:03:08,159 --> 00:03:29,210 silencio. Vale, muy bien. Entonces, ¿qué pasa ahora? Modifico B2, poniendo allí dentro, 51 00:03:29,210 --> 00:03:39,830 R1, o sea que dentro tengo hola mundo. ¿Estamos todos de acuerdo? ¿Quién opina y está de 52 00:03:39,830 --> 00:03:45,250 acuerdo a este punto para ver quién se ha perdido? Que aquí dentro ahora en B2 es hola 53 00:03:45,250 --> 00:03:49,719 mundo. ¿Quién está convencido? 54 00:03:51,060 --> 00:03:51,520 ¿Pero los demás 55 00:03:51,520 --> 00:03:52,060 qué piensan? 56 00:03:52,340 --> 00:03:54,300 No se puede porque no tienen las comillas. 57 00:03:56,460 --> 00:03:56,860 Entonces, 58 00:03:57,379 --> 00:03:58,979 no es una variable declarada. 59 00:03:59,960 --> 00:04:01,240 Efectivamente. Esto 60 00:04:01,240 --> 00:04:02,879 falta las comillas, ¿vale? 61 00:04:03,280 --> 00:04:05,120 Al faltar las comillas, 62 00:04:05,340 --> 00:04:06,620 mundo no es 63 00:04:06,620 --> 00:04:08,080 una variable. 64 00:04:09,180 --> 00:04:10,580 No es un entero. 65 00:04:11,219 --> 00:04:12,319 Un literal. 66 00:04:12,319 --> 00:04:12,520 Un literal. 67 00:04:13,819 --> 00:04:21,250 Si no es un literal, 68 00:04:21,370 --> 00:04:21,750 ¿qué es eso? 69 00:04:23,980 --> 00:04:26,839 Es una variable, como aquí uso p1, ¿vale? 70 00:04:27,319 --> 00:04:30,259 Solo que mundo no está declarada en ningún lado. 71 00:04:30,339 --> 00:04:32,439 Yo he puesto string mundo es igual a algo. 72 00:04:33,139 --> 00:04:37,839 Por lo tanto, cuando él va a buscar esto, va a su tabla de variables 73 00:04:37,839 --> 00:04:42,019 y busca allí si hay un identificador que se llama mundo. 74 00:04:42,660 --> 00:04:46,819 Encontrará el identificador p1 que va a esta zona de memoria y allí habrá algo. 75 00:04:47,360 --> 00:04:52,379 Identificará el segundo y dirá, voy aquí y aquí en la memoria tengo otra cosa. 76 00:04:52,379 --> 00:04:58,259 Cuando va a un cierto momento a buscar mundo, no lo encuentra por ningún lado. 77 00:04:58,600 --> 00:05:08,180 Y entonces dirá un error en el que dice algo como, no puedo resolver este identificador. 78 00:05:08,680 --> 00:05:10,160 Este identificador no existe. 79 00:05:10,519 --> 00:05:12,060 No sé a qué te refieres. 80 00:05:12,439 --> 00:05:15,519 No hay ninguna zona de memoria con este nombre. 81 00:05:16,100 --> 00:05:18,420 Por lo tanto, no puedo ir allí y sacar el contenido. 82 00:05:19,399 --> 00:05:19,860 ¿Entiendes? 83 00:05:20,639 --> 00:05:21,120 Muy bien. 84 00:05:22,379 --> 00:05:29,199 Entonces esto explota. Cuidado, ¿eh? Con estos errores, porque os pasará, ¿vale? 85 00:05:29,319 --> 00:05:34,040 Ahora, con el identificador, con el ID, es más fácil porque si lo escribo así, el ID ya me lo marca. 86 00:05:34,360 --> 00:05:38,060 Me lo marca en rojo diciendo, oye, mira, esto no sé qué es, no lo has declarado. 87 00:05:38,360 --> 00:05:40,600 Entonces allí ya te deberías dar cuenta. 88 00:05:41,519 --> 00:05:45,009 Vale, sigamos. 89 00:05:47,569 --> 00:05:48,829 Hagámoslo así también. 90 00:05:50,509 --> 00:05:50,949 Así. 91 00:05:50,949 --> 00:06:16,970 Esta cosa aquí es un literal de int. 92 00:06:16,970 --> 00:06:18,250 ¿Está de acuerdo esto de aquí? 93 00:06:19,009 --> 00:06:19,529 Vale. 94 00:06:20,790 --> 00:06:21,730 ¿Esta cosa de aquí? 95 00:06:29,629 --> 00:06:30,470 Es string. 96 00:06:33,209 --> 00:06:34,550 ¿Por qué no es string? 97 00:06:34,550 --> 00:06:36,889 Porque no es de comillas 98 00:06:36,889 --> 00:06:38,250 Por lo tanto no es trigo 99 00:06:38,250 --> 00:06:39,529 ¿Y qué es eso? 100 00:06:41,959 --> 00:06:44,319 Eso es el problema que decíamos antes 101 00:06:44,319 --> 00:06:46,980 Hemos dicho que 3 es un número entero 102 00:06:46,980 --> 00:06:49,259 Pero también es un número con coma 103 00:06:49,259 --> 00:06:51,879 Entonces, ¿cómo diferencio 104 00:06:51,879 --> 00:06:54,220 Cuando estoy hablando 3 como entero 105 00:06:54,220 --> 00:06:57,379 O 3 como 3.000000? 106 00:06:57,920 --> 00:06:58,060 ¿Vale? 107 00:06:58,300 --> 00:06:59,019 ¿Qué es con esto? 108 00:07:00,360 --> 00:07:03,420 Si yo pongo 3 o un número a secas 109 00:07:03,420 --> 00:07:04,899 Eso normalmente es un entero 110 00:07:04,899 --> 00:07:08,060 si yo pongo el número con una f al final 111 00:07:08,060 --> 00:07:09,339 ese es un float 112 00:07:09,339 --> 00:07:12,839 entonces este es el número 3 113 00:07:12,839 --> 00:07:15,240 pero entendido 114 00:07:15,240 --> 00:07:16,779 como literal de float 115 00:07:16,779 --> 00:07:18,660 no entendido como literal de 116 00:07:18,660 --> 00:07:19,680 entero 117 00:07:19,680 --> 00:07:23,319 y si quiero 3 118 00:07:23,319 --> 00:07:24,540 como double, como are 119 00:07:24,540 --> 00:07:30,079 y este 120 00:07:30,079 --> 00:07:31,259 de aquí, que literal es 121 00:07:31,259 --> 00:07:32,779 3 122 00:07:32,779 --> 00:07:35,660 y si pongo 123 00:07:35,660 --> 00:07:36,879 comilla, 3 comillas 124 00:07:36,879 --> 00:07:39,439 o apóstrofe 3 125 00:07:39,439 --> 00:07:41,180 o apóstrofe char 126 00:07:41,180 --> 00:07:43,339 ¿sí? 127 00:07:43,600 --> 00:07:44,720 entonces siempre es 3 128 00:07:44,720 --> 00:07:46,639 pero no es que 3 129 00:07:46,639 --> 00:07:49,199 ¿qué tipo es 3? no lo sé, depende de 130 00:07:49,199 --> 00:07:50,920 qué estás considerando tú como 3 131 00:07:50,920 --> 00:07:52,560 3 como número es entero 132 00:07:52,560 --> 00:07:54,920 3 double, o sea 3D 133 00:07:54,920 --> 00:07:56,379 es como el 134 00:07:56,379 --> 00:07:58,100 double, de tipo 135 00:07:58,100 --> 00:07:59,920 de precisión doble 136 00:07:59,920 --> 00:08:02,779 3 entre comillas será un string 137 00:08:02,779 --> 00:08:03,920 o sea, tengo que ver 138 00:08:03,920 --> 00:08:06,639 qué estás utilizando, qué es ese 3 139 00:08:06,639 --> 00:08:10,959 Porque a lo mejor a veces hay números que no son números 140 00:08:10,959 --> 00:08:13,180 O sea, los números int 141 00:08:13,180 --> 00:08:15,579 Son números entendidos como 142 00:08:15,579 --> 00:08:19,180 Números que se pueden sumar, dividir, multiplicar 143 00:08:19,180 --> 00:08:19,699 ¿Vale? 144 00:08:20,019 --> 00:08:21,279 Entonces si yo, no sé 145 00:08:21,279 --> 00:08:23,939 Un precio, una edad 146 00:08:23,939 --> 00:08:25,699 Si luego le sumo uno para cumplir años 147 00:08:25,699 --> 00:08:26,540 Y cosas por el estilo 148 00:08:26,540 --> 00:08:28,920 Pero hay otras secuencias de números 149 00:08:28,920 --> 00:08:30,459 Que no son números 150 00:08:30,459 --> 00:08:31,740 El DN 151 00:08:31,740 --> 00:08:34,740 Vosotros sumáis entre ellos dos DN 152 00:08:34,740 --> 00:08:37,590 Tiene sentido 153 00:08:37,590 --> 00:08:39,710 hacer el DNI de un alumno 154 00:08:39,710 --> 00:08:41,269 más el DNI de otro alumno 155 00:08:41,269 --> 00:08:43,549 he entendido cómo sumar número por número 156 00:08:43,549 --> 00:08:45,190 para tener otro número, no os da nada 157 00:08:45,190 --> 00:08:47,690 los números del DNI son identificadores 158 00:08:47,690 --> 00:08:49,710 son string, no son int 159 00:08:49,710 --> 00:08:51,590 no obstante 160 00:08:51,590 --> 00:08:52,269 luego se da el número 161 00:08:52,269 --> 00:08:54,909 ¿entendéis lo que quiero decir? 162 00:08:56,169 --> 00:08:57,529 un número de teléfono 163 00:08:57,529 --> 00:08:59,230 es un número, es un int 164 00:08:59,230 --> 00:09:01,590 si, tengo que operar 165 00:09:02,149 --> 00:09:03,850 sobre ese número 166 00:09:03,850 --> 00:09:05,750 yo pillo mi número de teléfono, lo divido por dos 167 00:09:05,750 --> 00:09:07,129 yo tengo el número de, no sé 168 00:09:07,129 --> 00:09:08,490 un amigo mío, no 169 00:09:08,490 --> 00:09:11,269 entonces, no son enteros en realidad 170 00:09:11,269 --> 00:09:12,429 ¿se entiende? 171 00:09:15,000 --> 00:09:16,740 vale, sigamos por ahí 172 00:09:16,740 --> 00:09:23,360 el operador más 173 00:09:23,360 --> 00:09:25,580 ya lo hemos visto, vale, hemos visto que 174 00:09:25,580 --> 00:09:27,019 el operador más es 175 00:09:27,019 --> 00:09:29,600 sobrecargado, es decir que 176 00:09:29,600 --> 00:09:31,919 dependiendo de con quien lo uso 177 00:09:31,919 --> 00:09:34,019 es una suma 178 00:09:34,019 --> 00:09:35,299 u otra, vale 179 00:09:35,299 --> 00:09:37,179 si yo sumo 180 00:09:37,179 --> 00:09:40,320 un operador más entre enteros 181 00:09:40,320 --> 00:09:42,059 el resultado 182 00:09:42,059 --> 00:09:43,580 que me da es un entero 183 00:09:43,580 --> 00:09:45,580 3 más 5 es 8 184 00:09:45,580 --> 00:09:47,279 como entero, int 185 00:09:47,279 --> 00:09:50,120 pero ¿qué pasa si yo sumo 186 00:09:50,120 --> 00:09:52,100 un entero con un double? 187 00:09:52,980 --> 00:09:54,460 3 más 188 00:09:54,460 --> 00:09:56,039 3,5 189 00:09:56,039 --> 00:09:58,659 el resultado tiene que ser 190 00:09:58,659 --> 00:10:00,419 double 191 00:10:00,419 --> 00:10:02,360 porque saldría 6,5 192 00:10:02,360 --> 00:10:03,899 no puede ser un int el resultado 193 00:10:03,899 --> 00:10:04,980 justo 194 00:10:04,980 --> 00:10:08,500 si lo uso entre string 195 00:10:08,500 --> 00:10:10,600 pues el resultado es un string 196 00:10:10,600 --> 00:10:12,480 entonces el más ya no es 197 00:10:12,480 --> 00:10:14,679 el operador aritmético de suma 198 00:10:14,679 --> 00:10:15,620 de esto más esto, 199 00:10:15,980 --> 00:10:18,659 se transforma en el operador de concatenación. 200 00:10:19,679 --> 00:10:20,519 Añádeme esto 201 00:10:20,519 --> 00:10:22,679 y detrás le pegas este otro. 202 00:10:23,360 --> 00:10:24,360 ¿Vale? Entonces un string 203 00:10:24,360 --> 00:10:26,299 como hola más mundo da hola mundo. 204 00:10:26,639 --> 00:10:27,919 Entendido como literales. 205 00:10:28,700 --> 00:10:30,519 Si yo tengo un entero 206 00:10:30,519 --> 00:10:32,039 y le sumo un string, 207 00:10:32,200 --> 00:10:34,360 un string más entero, el resultado es siempre string. 208 00:10:34,480 --> 00:10:36,179 Siempre que esté coinvolta, 209 00:10:36,279 --> 00:10:38,100 o sea, incluida un string, 210 00:10:38,759 --> 00:10:40,720 el operador más se transforma 211 00:10:40,720 --> 00:10:41,559 en concatenación. 212 00:10:41,559 --> 00:10:52,559 ¡Cuidado! Porque a veces pueden ser cosas raras, sobre todo con precedencia de operadores. 213 00:10:52,559 --> 00:10:56,559 Ahora creo que hay algún ejemplo, si no lo hacemos ahora mismo. 214 00:10:56,559 --> 00:11:00,559 Más entre números en la suma, cuando usamos un string o también un char, 215 00:11:00,559 --> 00:11:06,559 puedo sumar un char, lo que hago es, si trastornan un calcadera, el resultado es un string. 216 00:11:06,559 --> 00:11:11,159 ejemplos 217 00:11:11,159 --> 00:11:13,759 3,4 da 7 como int 218 00:11:13,759 --> 00:11:15,899 3 más 4,0 219 00:11:15,899 --> 00:11:17,340 da 7 pero como double 220 00:11:17,340 --> 00:11:19,659 3 más 221 00:11:19,659 --> 00:11:21,799 4f da 7 pero como 222 00:11:21,799 --> 00:11:22,940 float, lo veis 223 00:11:22,940 --> 00:11:25,360 tened en cuenta que 224 00:11:25,360 --> 00:11:27,779 si hago un número 225 00:11:27,779 --> 00:11:29,799 entero sin poner 226 00:11:29,799 --> 00:11:31,580 nada, él asume que 227 00:11:31,580 --> 00:11:32,379 sea int 228 00:11:32,379 --> 00:11:35,879 y si hago un número con coma 229 00:11:35,879 --> 00:11:37,820 4,0 sin ponerle 230 00:11:37,820 --> 00:11:47,980 nada, él asume que es un double. ¿Sí? No un float, un double. 231 00:11:47,980 --> 00:12:09,250 hay errores, hay errores aquí. ¿En este aquí hay errores? Esta línea. No. 232 00:12:09,250 --> 00:12:15,970 Tres enteros más seis enteros, nueve enteros, lo pongo en un índice. Bien. Double w es 233 00:12:15,970 --> 00:12:17,330 es igual a 8 más 4D. 234 00:12:19,879 --> 00:12:21,340 0 más double, 235 00:12:21,559 --> 00:12:22,940 el resultado es un double. 236 00:12:23,360 --> 00:12:25,860 Sería 12, pero como double. 237 00:12:26,360 --> 00:12:27,320 Y lo guardo en un double. 238 00:12:29,860 --> 00:12:31,240 Float esto es igual a 10 239 00:12:31,240 --> 00:12:32,320 más 1.0. 240 00:12:36,570 --> 00:12:38,309 ¿Error o no? Sí. 241 00:12:39,129 --> 00:12:40,470 Porque 1.0 242 00:12:40,470 --> 00:12:42,450 sin decirle nada, lo considera un 243 00:12:42,450 --> 00:12:43,490 double. 244 00:12:44,129 --> 00:12:45,610 Entonces 1.0 es double. 245 00:12:46,149 --> 00:12:47,970 Int más double, el resultado será 246 00:12:47,970 --> 00:12:49,289 11.0 como 247 00:12:49,289 --> 00:12:52,409 double. ¿Cuánto ocupa el double? 248 00:12:52,909 --> 00:12:55,909 ¿Cuántos bytes eran en un grado? 249 00:12:55,909 --> 00:12:57,909 8 bytes. 250 00:12:57,909 --> 00:13:03,909 Y lo estoy metiendo en una caja que contiene máximo 4. 251 00:13:03,909 --> 00:13:06,909 Entonces tenemos un problema. 252 00:13:06,909 --> 00:13:08,909 Pierdo precisión. 253 00:13:08,909 --> 00:13:13,909 Tengo un número que se escribe así y lo quiero poner en una caja grande así. 254 00:13:13,909 --> 00:13:15,909 No cabe. 255 00:13:15,909 --> 00:13:17,909 ¿Entiendes? 256 00:13:17,909 --> 00:13:19,909 ¿Tú das? 257 00:13:19,909 --> 00:13:21,909 Vamos a ver aquí. 258 00:13:21,909 --> 00:13:23,669 int i es igual a 1 259 00:13:26,210 --> 00:13:28,570 double di es igual a 1.1 260 00:13:28,570 --> 00:13:30,669 int i es igual a i más di 261 00:13:42,779 --> 00:13:45,980 entonces se debería enfadar, vamos a ver si se enfada o no 262 00:13:45,980 --> 00:13:48,580 vale, pero estoy haciendo un entero 263 00:13:48,580 --> 00:13:51,500 más un double, el resultado es un double, lo estás metiendo 264 00:13:51,500 --> 00:13:52,759 en un entero 265 00:13:53,240 --> 00:13:56,279 vale, mismo problema de antes 266 00:13:56,279 --> 00:13:59,220 aparte que tiene un formato distinto 267 00:13:59,220 --> 00:14:02,220 dentro, de todas formas un double sería 8 bytes 268 00:14:02,220 --> 00:14:04,659 y un int son 4, entonces no puede 269 00:14:04,659 --> 00:14:09,960 Otra cosa es que tú lo fuerces, y veremos, lo que se llama un cast explícito. 270 00:14:09,960 --> 00:14:19,320 Que tú le digas, bueno, tú tienes un double, tira la parte decimal, píllame solo la parte entera, y esa parte entera, guárdala en un entero. 271 00:14:19,320 --> 00:14:22,659 Eso se puede hacer. Pero lo tengo que decir yo, especial. 272 00:14:22,659 --> 00:14:30,129 ¿Y double de 2 es igual a i más d? ¿Está bien o no? 273 00:14:30,129 --> 00:14:31,889 si 274 00:14:31,889 --> 00:14:34,490 esto bien porque entero 275 00:14:34,490 --> 00:14:36,149 más double me da un double 276 00:14:36,149 --> 00:14:37,289 lo guardo dentro de un double 277 00:14:37,289 --> 00:14:40,350 ¿cuánto vale 2? ¿cuánto vale de 2? 278 00:14:40,350 --> 00:14:40,730 vale 279 00:14:40,730 --> 00:14:43,070 si 280 00:14:43,070 --> 00:14:45,669 lo debería probar 281 00:14:45,669 --> 00:14:48,429 si esto funcionara sería solo la parte 282 00:14:48,429 --> 00:14:49,769 entera, esto te daría 2 283 00:14:49,769 --> 00:14:52,690 ¿vale? y si esto funciona te da 2,1 284 00:14:52,690 --> 00:14:54,250 ¿vale? pero yo creo que aquí 285 00:14:54,250 --> 00:14:55,950 te debería dar al menos un error 286 00:14:55,950 --> 00:14:57,929 vale 287 00:14:57,929 --> 00:14:59,470 ¿cómo con cargar? 288 00:14:59,470 --> 00:15:03,450 O sea, más como operador de concadenar, ¿vale? 289 00:15:04,330 --> 00:15:06,009 Hola más mundo da hola mundo. 290 00:15:06,149 --> 00:15:06,909 ¿Veis que aquí lo he subido? 291 00:15:08,690 --> 00:15:12,230 Edad más 19 da edad igual a 19. 292 00:15:12,629 --> 00:15:12,909 ¿Veis? 293 00:15:13,090 --> 00:15:13,929 Este es un literal. 294 00:15:14,509 --> 00:15:15,730 Edad igual es un literal. 295 00:15:16,590 --> 00:15:18,690 Le sumo 19, que es un int. 296 00:15:19,230 --> 00:15:23,649 Pues él como que me transforma el int en un string y me lo pega detrás. 297 00:15:23,990 --> 00:15:25,370 Y me sale edad igual 19. 298 00:15:26,669 --> 00:15:27,070 ¿Se entiende? 299 00:15:27,070 --> 00:15:30,129 Hola más 300 00:15:30,129 --> 00:15:32,190 un char que es un espacio 301 00:15:32,190 --> 00:15:34,210 más mundo, pues me da 302 00:15:34,210 --> 00:15:36,250 hola mundo como literal 303 00:15:36,250 --> 00:15:36,809 de string. 304 00:15:38,190 --> 00:15:38,950 ¿Sí? 305 00:15:39,830 --> 00:15:40,629 Ejercicio. 306 00:15:41,970 --> 00:15:44,049 String nombre Antonio, string apellido 307 00:15:44,049 --> 00:15:46,210 Sanz, string nombre 308 00:15:46,210 --> 00:15:48,409 completo es igual nombre más apellido. 309 00:15:50,710 --> 00:15:51,669 System.auto 310 00:15:51,669 --> 00:15:53,769 con el punto interleende, nombre completo 311 00:15:53,769 --> 00:15:54,850 que escribe en pantalla. 312 00:16:05,679 --> 00:16:06,039 Que escribe. 313 00:16:09,960 --> 00:16:11,139 Antonio Sanz, ¿cómo? 314 00:16:12,019 --> 00:16:14,059 Sin espacio, todo junto. 315 00:16:15,000 --> 00:16:16,799 Si lo sabéis, ¿por qué no levantar las manos? 316 00:16:17,659 --> 00:16:18,100 ¿Tenéis miedo? 317 00:16:20,159 --> 00:16:24,100 Antonio Sanz, se juntan, no hay ningún espacio en el medio, 318 00:16:24,100 --> 00:16:26,580 por lo tanto, nombre comprensible, Antonio Sanz, todo junto. 319 00:16:26,899 --> 00:16:27,519 ¿Vale? Como aquí. 320 00:16:29,000 --> 00:16:31,019 En nombre Lidia, en tijos dos, 321 00:16:31,179 --> 00:16:33,559 existen punto, punto, punto, printel en el nombre, 322 00:16:34,200 --> 00:16:36,759 más comillas, espacio, tiene espacio, 323 00:16:36,919 --> 00:16:39,080 comillas, más hijos, más espacio, 324 00:16:39,080 --> 00:16:41,360 hijos, más punto espacio 325 00:16:41,360 --> 00:16:42,179 que sale 326 00:16:42,179 --> 00:16:53,279 Lidia tiene dos hijos 327 00:16:53,279 --> 00:16:56,299 esto se transforma en Lidia 328 00:16:56,299 --> 00:16:57,980 le pego detrás esto 329 00:16:57,980 --> 00:17:00,500 le pego detrás el 2, le pego detrás hijos 330 00:17:00,500 --> 00:17:01,759 esto 331 00:17:01,759 --> 00:17:04,759 es lo que tendréis que aprender a hacer 332 00:17:04,759 --> 00:17:06,440 para al final 333 00:17:06,440 --> 00:17:08,519 de vuestro programa dar la solución 334 00:17:08,519 --> 00:17:10,579 tú has pillado la base del 335 00:17:10,579 --> 00:17:12,460 triángulo, has pillado la altura del triángulo 336 00:17:12,460 --> 00:17:14,680 has calculado el área del triángulo y ahora dices 337 00:17:14,680 --> 00:17:16,640 el triángulo de base 338 00:17:16,640 --> 00:17:17,740 pillo la base 339 00:17:17,740 --> 00:17:30,019 Y altura, pillo la altura. Tiene área, pillo el área. ¿Sí? Así se va. ¿Dudas? Vale, fácil este 340 00:17:30,019 --> 00:17:38,059 vídeo. Vale, ejemplo, entonces, crea un programa que tenga tres variables, calle, num y código 341 00:17:38,059 --> 00:17:43,660 postal, ¿vale? Y que te escriba en pantalla la dirección resultante. O sea, tu dirección es, 342 00:17:43,660 --> 00:17:56,960 calle no sé qué no sé cuánto número 7 con el postal 28 08 probadlo 343 00:18:19,990 --> 00:18:28,990 Vale, entonces, tengo un proyecto, lo puedo hacer aquí mismo, creándome una nueva, en 344 00:18:28,990 --> 00:18:34,450 ejercicios, una nueva clase, vale, o puedo crearme un nuevo proyecto si prefiero, o lo 345 00:18:34,450 --> 00:18:34,890 que queráis. 346 00:18:35,789 --> 00:18:46,670 Yo aquí, botón derecho, nuevo, clase, lo llamo Ejer1, o Ejer, ¿qué es esto de variables? 347 00:18:46,670 --> 00:18:49,009 Ejer variables 1. 348 00:18:49,990 --> 00:19:08,619 Tengo esta cosa aquí, que me la escribe él, y para la primera cincuenta veces yo escribo public static void main string address. 349 00:19:08,619 --> 00:19:11,619 Y hará un momento en que esto ya no lo escribiré más. 350 00:19:11,619 --> 00:19:19,619 Entonces el ejercicio me dice, crea tres variables con calle, número y código postal. 351 00:19:19,619 --> 00:19:24,619 Entonces, calle. ¿Qué es calle? 352 00:19:24,619 --> 00:19:29,619 String. Calle es igual a 353 00:19:29,619 --> 00:19:34,619 calle mayor. 354 00:19:34,619 --> 00:19:39,619 Sabes que si no pongo el punto de coma me lo aplauden. Si lo pusiera sin 355 00:19:39,619 --> 00:19:44,619 comillas también me marca que hay algo raro. 356 00:19:44,619 --> 00:20:03,900 entonces aquí o a lo mejor lo mayor número y número es igual a 12 357 00:20:03,900 --> 00:20:08,359 y finalmente código postal que es código postal 358 00:20:08,359 --> 00:20:12,480 puede ser un entero podría ser también un string porque al fin y al cabo repito no 359 00:20:12,480 --> 00:20:20,079 sumo los enteros, tampoco sumo los números típicos de los puertos, pero bueno, int código 360 00:20:20,079 --> 00:20:27,859 postal es igual a 28001. Sí, entonces ahora tengo mis tres variables creadas, un string 361 00:20:27,859 --> 00:20:35,880 y dos int. Ahora tengo que escribir, ¿cómo se escribe en pantalla? System.out.println, 362 00:20:35,880 --> 00:20:56,990 y aquí dentro escribo tu dirección es dos puntos. Le pongo calle y le pego detrás la calle. Luego le 363 00:20:56,990 --> 00:21:15,609 le pego detrás coma, número, más, y le pego detrás pp, y le pego detrás pp. 364 00:21:15,609 --> 00:21:24,200 Por el mismo costal, ¿vale? 365 00:21:24,380 --> 00:21:27,380 Entonces, ¿veis que hago esta cosa de concadenar la cuadra? 366 00:21:27,500 --> 00:21:29,720 El ejercicio este aquí es para ver esto, ¿vale? 367 00:21:30,019 --> 00:21:34,720 Este es un literal, al que le pego detrás el contenido de esta variable, 368 00:21:34,720 --> 00:21:38,259 al que le pego detrás este literal de aquí, al que le pido... 369 00:21:38,259 --> 00:21:38,519 ¿Sí? 370 00:21:40,700 --> 00:21:45,500 Entonces, si lo lanzo, me sale la consola. 371 00:21:48,980 --> 00:21:49,359 ¿Qué dice? 372 00:21:49,480 --> 00:21:52,519 Tu dirección es calle, contenido de la palabra mayor, 373 00:21:53,019 --> 00:21:56,779 número 12, código postal, 28, 30 segundos. 374 00:22:06,589 --> 00:22:08,890 Para que os lo veáis bien, como lo dice. 375 00:22:10,589 --> 00:22:11,190 Perfecto. 376 00:22:21,740 --> 00:22:22,119 Hecho. 377 00:22:24,119 --> 00:22:24,720 Hecho. 378 00:22:28,910 --> 00:22:50,299 Como siempre, divide tímpeda. Si de golpe todo no sale, empezad escribiendo la calle, luego el número, luego el código postal. 379 00:22:50,299 --> 00:22:52,579 Una posible solución. 380 00:22:54,200 --> 00:23:01,160 System.out.println. Tu dirección. Dos puntos. 381 00:23:01,880 --> 00:23:02,740 Y acabo la frase. 382 00:23:02,740 --> 00:23:13,960 system.out.println calle, dos punto más calle, punto com. 383 00:23:16,640 --> 00:23:37,880 Num, número, es igual a num, esto es código, es igual a cp. En vez de hacerlo todo en una sola frase, pues lo estoy haciendo en cada línea. 384 00:23:51,519 --> 00:23:56,519 Esta es la primera solución, esta es la segunda. 385 00:23:56,519 --> 00:24:03,839 Esto te está escribiendo en cada línea una cosa distinta, esto te lo está escribiendo todo en la misma línea. 386 00:24:03,839 --> 00:24:08,839 ¿Vale? Esta es la primera solución, esta es la segunda solución. 387 00:24:08,839 --> 00:24:16,119 ¿Sí? 388 00:24:16,119 --> 00:24:21,119 Como bonus. 389 00:24:21,119 --> 00:24:26,079 Tercera solución. 390 00:24:26,079 --> 00:24:34,980 Macra N, Macra N, Macra N. 391 00:24:40,480 --> 00:24:49,019 Bueno, he escrito en un solo comando, pero yéndose a una nueva línea. 392 00:24:51,799 --> 00:24:52,500 Falta código. 393 00:24:57,640 --> 00:25:08,220 Está esta cosa rara aquí, que si tú la escribes en un string, esta cosa aquí quiere decir vete a una nueva línea. 394 00:25:09,059 --> 00:25:13,559 Cada vez que tú encontrarás un barra n así, quiere decir vete a una nueva línea. 395 00:25:14,599 --> 00:25:17,039 ¿En qué os puede ayudar? 396 00:25:21,720 --> 00:25:22,660 Sí, por cierto. 397 00:25:23,539 --> 00:25:24,579 No entiendo. 398 00:25:25,339 --> 00:25:26,759 ¿Qué es el error? 399 00:25:27,059 --> 00:25:27,980 ¿Qué es el error? 400 00:25:27,980 --> 00:25:46,460 La norma es de concatenación. 401 00:25:47,019 --> 00:25:55,759 Con cadena esto, le pegas detrás esto, que le pegas detrás esto, que le pegas detrás esto, que le pegas detrás esto. 402 00:25:56,079 --> 00:25:56,759 Y así, así, así. 403 00:25:56,759 --> 00:26:00,920 Aquí no lo hago porque solo pego esto con detrás de esto y acabo la línea. 404 00:26:01,859 --> 00:26:04,980 Por eso es que en el CP no tiene un más después porque no hace más nada más. 405 00:26:05,019 --> 00:26:09,299 CP es la última cosa que pego, no le pego nada detrás, por lo tanto no le pongo un más detrás. 406 00:26:10,980 --> 00:26:11,140 ¿Sí? 407 00:26:12,880 --> 00:26:13,279 ¿Dudas? 408 00:26:15,859 --> 00:26:16,880 ¿Lo habéis podido hacer? 409 00:26:21,619 --> 00:26:22,880 A ver, he pensado en un error. 410 00:26:28,319 --> 00:26:28,720 Sigo. 411 00:26:29,319 --> 00:26:29,700 A esto. 412 00:26:30,460 --> 00:26:31,559 Pero van de todas las cosas. 413 00:26:34,240 --> 00:26:50,920 Ahora no, porque quiero acabar la sesión, pero está en la aula virtual, hay un par de días para bajarse antes de comenzar y luego ir a la sesión. 414 00:26:50,920 --> 00:26:51,920 Gracias. 415 00:27:20,920 --> 00:27:29,680 porque lo que 416 00:27:29,680 --> 00:27:31,759 lo que 417 00:27:31,759 --> 00:27:31,839 lo que 418 00:27:31,839 --> 00:27:31,859 lo que 419 00:27:31,859 --> 00:27:31,880 lo que 420 00:27:31,880 --> 00:27:31,900 lo que 421 00:27:31,900 --> 00:27:31,920 lo que 422 00:27:31,920 --> 00:27:31,960 lo que 423 00:27:31,960 --> 00:27:31,980 lo que 424 00:27:31,980 --> 00:27:32,000 lo que 425 00:27:32,000 --> 00:27:32,019 lo que 426 00:27:32,019 --> 00:27:32,039 lo que 427 00:27:32,039 --> 00:27:32,059 lo que 428 00:27:32,059 --> 00:27:32,079 lo que 429 00:27:32,079 --> 00:27:32,099 lo que 430 00:27:32,099 --> 00:27:32,119 lo que 431 00:27:32,119 --> 00:27:32,160 lo que 432 00:27:32,160 --> 00:27:32,180 lo que 433 00:27:32,180 --> 00:27:32,200 lo que 434 00:27:32,200 --> 00:27:32,240 lo que 435 00:27:32,240 --> 00:27:32,259 lo que 436 00:27:32,259 --> 00:27:32,279 lo que 437 00:27:32,279 --> 00:27:32,299 lo que 438 00:27:32,299 --> 00:27:32,319 lo que 439 00:27:32,319 --> 00:27:32,359 lo que 440 00:27:32,359 --> 00:27:32,380 lo que 441 00:27:32,380 --> 00:27:32,400 lo que 442 00:27:32,400 --> 00:27:32,440 lo que 443 00:27:32,440 --> 00:27:32,460 lo que 444 00:27:32,460 --> 00:27:32,480 lo que 445 00:27:32,480 --> 00:27:32,519 lo que 446 00:27:32,519 --> 00:27:32,539 lo que 447 00:27:32,539 --> 00:27:32,559 lo que 448 00:27:32,559 --> 00:27:32,839 lo que 449 00:27:32,839 --> 00:27:32,859 lo que 450 00:27:32,859 --> 00:27:32,880 lo que 451 00:27:32,880 --> 00:27:32,900 lo que 452 00:27:32,900 --> 00:27:32,920 lo que 453 00:27:32,920 --> 00:27:32,940 lo que 454 00:27:32,940 --> 00:27:32,960 lo que 455 00:27:32,960 --> 00:27:33,000 lo que 456 00:27:33,000 --> 00:27:33,019 lo que 457 00:27:33,019 --> 00:27:33,039 lo que 458 00:27:33,039 --> 00:27:33,079 lo que 459 00:27:33,079 --> 00:27:33,099 lo que 460 00:27:33,099 --> 00:27:34,279 lo que 461 00:27:34,279 --> 00:27:34,299 lo que 462 00:27:34,299 --> 00:27:34,319 lo que 463 00:27:34,319 --> 00:27:34,359 lo que 464 00:27:34,359 --> 00:27:34,380 lo que 465 00:27:34,380 --> 00:27:34,440 lo que 466 00:27:34,440 --> 00:27:34,460 lo que 467 00:27:34,460 --> 00:27:34,480 lo que 468 00:27:34,480 --> 00:27:34,779 lo que 469 00:27:34,779 --> 00:27:34,799 lo que 470 00:27:34,799 --> 00:28:02,799 Aquí hay una primera solución, luego está la segunda que es esta, que da todo en la misma línea, 471 00:28:02,799 --> 00:28:08,799 Y luego está la tercera, que por cada barra n, si te fijas, cuando llega a la barra n, se va a otra línea. 472 00:28:08,799 --> 00:28:15,799 Es un carácter de escape para indicar, dentro de un string, cuando llegas aquí, vete a una nueva línea. 473 00:28:15,799 --> 00:28:18,799 Lo volveremos a ver, ¿eh? 474 00:28:18,799 --> 00:28:22,799 Vale. 475 00:28:22,799 --> 00:28:25,799 ¡Sigo! 476 00:28:25,799 --> 00:28:29,900 Aquí tenéis la solución. 477 00:28:34,039 --> 00:28:41,019 Nos faltan 10 minutos, quiero ver si conseguimos llegar al final porque así faltan pocas cosas y luego están los ejercicios. 478 00:28:41,140 --> 00:28:42,400 Así mañana hacemos los ejercicios. 479 00:28:44,059 --> 00:28:50,900 Entonces, operadores aritméticos, ¿qué operaciones numéricas se pueden hacer? 480 00:28:50,900 --> 00:28:53,859 Está el más que la suma, por favor. 481 00:28:55,799 --> 00:28:58,240 Más es la suma, menos es la resta. 482 00:28:59,400 --> 00:29:01,279 Multiplicación, división. 483 00:29:01,480 --> 00:29:03,460 Cuidado con la división, ¿vale? 484 00:29:03,460 --> 00:29:11,759 Porque la división es la única de estas que me puede transformar enteros en návol. 485 00:29:12,180 --> 00:29:12,380 ¿Vale? 486 00:29:12,759 --> 00:29:14,019 5 dividido 2. 487 00:29:15,119 --> 00:29:15,420 Cuidado. 488 00:29:17,559 --> 00:29:23,859 Módulo es un operador que normalmente no conocéis, 489 00:29:23,859 --> 00:29:26,680 Que es el resto de la división 490 00:29:26,680 --> 00:29:29,460 Lo vimos cuando hicimos los algoritmos 491 00:29:29,460 --> 00:29:33,220 Dijimos, ¿existe este operador que me da el resto de la división? 492 00:29:33,299 --> 00:29:34,299 Pues este, ¿vale? 493 00:29:34,779 --> 00:29:36,779 Entonces si yo hago 10 módulo 3 494 00:29:36,779 --> 00:29:39,240 Es como si hiciera grupos de 3 495 00:29:39,240 --> 00:29:41,259 1, 2, 3, 1, 2, 3, 1, 2, 3 496 00:29:41,259 --> 00:29:42,000 Se llegaba a 9 497 00:29:42,000 --> 00:29:44,859 Cuando empiezo el siguiente grupo, 1 498 00:29:44,859 --> 00:29:46,660 Y me paro porque llegaba a 10 499 00:29:46,660 --> 00:29:48,599 Pues este 1 es el resultado 500 00:29:48,599 --> 00:29:49,940 ¿Ok? 501 00:29:50,019 --> 00:29:51,359 Como si hubiese dividido 502 00:29:51,359 --> 00:29:53,720 10 dividido 3 503 00:29:53,720 --> 00:30:02,660 da 3 y sobra 1 justo pues ese sobrante la del resto de la de la división es el 504 00:30:02,660 --> 00:30:07,099 resultado de esto de este y estos son los operadores aritméticos que vamos a 505 00:30:07,099 --> 00:30:10,339 utilizar por ahora los ejercicios que vamos a hacer 506 00:30:10,339 --> 00:30:13,079 dudas 507 00:30:14,539 --> 00:30:20,440 estos ejercicios los dejamos a mañana o ahora cuando acabo esta parte 508 00:30:20,440 --> 00:30:33,700 Dos conceptos más y se acabó. Primero es la salida básica. La salida básica la conocéis, ¿vale? El output, standard output, es el system.auto.println con una string aquí dentro. 509 00:30:34,640 --> 00:30:41,180 Esta es la salida básica porque permite desde mi programa hacer salir datos, escribirlos en pantalla. 510 00:30:41,180 --> 00:30:43,880 ¿Sí? Entonces, si este puto átomo 511 00:30:43,880 --> 00:30:45,839 tiene la n hola, escribe hola 512 00:30:45,839 --> 00:30:48,220 puedo escribir una variable 513 00:30:48,220 --> 00:30:50,019 puedo escribir una variable sumada a otra 514 00:30:50,019 --> 00:30:51,920 puedo escribir una variable con 515 00:30:51,920 --> 00:30:53,940 que una sea un entero, con un 516 00:30:53,940 --> 00:30:55,619 literal entero, puedo hacer 517 00:30:55,619 --> 00:30:58,279 todas las cosas que hemos hecho ahora y que hemos hecho en este ejercicio 518 00:30:58,279 --> 00:30:59,000 ¿Sí? 519 00:31:00,279 --> 00:31:01,779 Lo que en vez nos 520 00:31:01,779 --> 00:31:04,099 interesaría y que nos abre un mundo 521 00:31:04,099 --> 00:31:06,359 es la entrada básica 522 00:31:06,359 --> 00:31:07,859 ¿Sí? 523 00:31:07,980 --> 00:31:09,839 Es decir, ¿cómo puedo yo 524 00:31:09,839 --> 00:31:11,940 escribir datos, pero 525 00:31:11,940 --> 00:31:14,059 no en el código, sino 526 00:31:14,059 --> 00:31:15,539 lanzar un programa 527 00:31:15,539 --> 00:31:17,839 y que una vez lanzado el programa, el programa 528 00:31:17,839 --> 00:31:19,539 me pida, oye mira 529 00:31:19,539 --> 00:31:22,119 me das el lado del triángulo 530 00:31:22,119 --> 00:31:23,960 y tú pones tres, y él te 531 00:31:23,960 --> 00:31:26,019 calcula el perímetro del triángulo a partir 532 00:31:26,019 --> 00:31:28,059 del dato que tú has 533 00:31:28,059 --> 00:31:30,220 metido en tiempo de ejecución 534 00:31:30,220 --> 00:31:32,500 no en tiempo de programación 535 00:31:32,500 --> 00:31:33,640 ¿se entiende? 536 00:31:35,160 --> 00:31:36,140 entonces para hacer 537 00:31:36,140 --> 00:31:36,680 esto 538 00:31:36,680 --> 00:31:39,680 tengo que escribir 539 00:31:39,680 --> 00:31:42,059 cosas raras en mi programa 540 00:31:42,059 --> 00:31:43,940 ¿vale? primero 541 00:31:43,940 --> 00:31:45,299 arriba del todo 542 00:31:45,299 --> 00:31:48,220 tengo que escribir import java 543 00:31:48,220 --> 00:31:49,920 punto útil punto asterisco 544 00:31:49,920 --> 00:31:52,000 tengo que escribir así 545 00:31:52,000 --> 00:31:54,079 ¿vale? y luego 546 00:31:54,079 --> 00:31:55,420 dentro del main 547 00:31:55,420 --> 00:31:57,180 esto es arriba del todo 548 00:31:57,180 --> 00:31:59,980 quizás después de package 549 00:31:59,980 --> 00:32:01,859 pone package no sé qué 550 00:32:01,859 --> 00:32:03,000 después de package import 551 00:32:03,000 --> 00:32:04,299 mejor que sea antes o después 552 00:32:04,299 --> 00:32:08,079 en el main, la primera línea 553 00:32:08,079 --> 00:32:10,059 del main, escribo esta cosa 554 00:32:10,059 --> 00:32:11,799 aquí. ¿Qué es? No lo sé. 555 00:32:11,980 --> 00:32:13,880 Sirve para activar la 556 00:32:13,880 --> 00:32:15,359 posibilidad de leer desde clave. 557 00:32:16,200 --> 00:32:18,240 Lo escribo así. Si no os acordáis, 558 00:32:18,519 --> 00:32:19,680 lo vais a mirar. ¿Vale? 559 00:32:20,160 --> 00:32:21,940 Falta aprenderlo de memoria. Después que lo habéis 560 00:32:21,940 --> 00:32:23,920 escrito diez veces, os lo 561 00:32:23,920 --> 00:32:25,619 acordáis. ¿Vale? Pero 562 00:32:25,619 --> 00:32:28,160 si no os acordáis, 563 00:32:28,299 --> 00:32:28,859 os lo digo yo. 564 00:32:29,839 --> 00:32:32,140 Ahora, una vez que yo he activado esto, 565 00:32:32,660 --> 00:32:33,900 si quiero leer 566 00:32:33,900 --> 00:32:36,299 un nombre, una cadena, 567 00:32:36,819 --> 00:32:38,059 ¿vale? Una palabra. 568 00:32:38,079 --> 00:32:42,079 puedo usar scan.next 569 00:32:42,079 --> 00:32:43,740 scan.next 570 00:32:43,740 --> 00:32:44,700 esta cosa de aquí 571 00:32:44,700 --> 00:32:46,619 para el programa 572 00:32:46,619 --> 00:32:49,960 espera que tú pongas 573 00:32:49,960 --> 00:32:51,380 una palabra con el teclado 574 00:32:51,380 --> 00:32:52,559 y des al intro 575 00:32:52,559 --> 00:32:54,180 a este punto sigue 576 00:32:54,180 --> 00:32:56,720 y esta palabra que tú has tecleado 577 00:32:56,720 --> 00:32:59,500 se guarda en una variable 578 00:32:59,500 --> 00:33:06,430 esto es un comando para decir 579 00:33:06,430 --> 00:33:08,529 párate hasta que 580 00:33:08,529 --> 00:33:10,069 el usuario no haya escrito 581 00:33:10,069 --> 00:33:11,210 Algo he dado tinto. 582 00:33:12,069 --> 00:33:12,190 ¿Sí? 583 00:33:12,509 --> 00:33:13,970 Esto es para leer palabras. 584 00:33:14,769 --> 00:33:16,410 Si me quiero leer un entero, 585 00:33:17,230 --> 00:33:20,289 puedo usar next int, ¿vale? 586 00:33:20,549 --> 00:33:21,950 scan.nextint 587 00:33:21,950 --> 00:33:24,490 y guardarlo en una variable de tipo entero. 588 00:33:24,990 --> 00:33:26,769 Esto es un int, ¿vale? 589 00:33:27,170 --> 00:33:30,269 Esto lo lee y lo que te devuelve es un int, 590 00:33:30,410 --> 00:33:31,109 no un string. 591 00:33:31,789 --> 00:33:32,690 Esto debe ser un string. 592 00:33:33,410 --> 00:33:33,789 ¿Entiende? 593 00:33:34,349 --> 00:33:36,369 Esto crea un string y lo guarda en cadena. 594 00:33:36,490 --> 00:33:38,470 Esto crea un int y lo guarda en número. 595 00:33:38,470 --> 00:33:41,250 Y si quiero un número decimal 596 00:33:41,250 --> 00:33:42,589 Tengo next down 597 00:33:42,589 --> 00:33:43,690 ¿Vale? 598 00:33:45,230 --> 00:33:47,569 Cuidado en utilizar espacios en los datos tecleados 599 00:33:47,569 --> 00:33:49,190 Por ahora los espacios no se usan 600 00:33:49,190 --> 00:33:51,470 ¿Vale? Si quiero leer una palabra, una palabra sola 601 00:33:51,470 --> 00:33:52,769 No hay palabra, espacio, palabra 602 00:33:52,769 --> 00:33:55,509 Pido el nombre, pediré nombre, apellido 1, apellido 2 603 00:33:55,509 --> 00:33:57,470 No, dame el nombre completo con espacio 604 00:33:57,470 --> 00:33:59,210 Si no funciona mal, por ahora 605 00:33:59,210 --> 00:34:00,410 ¿Sí? 606 00:34:01,849 --> 00:34:03,750 Y creo que aquí hay un ejemplo 607 00:34:03,750 --> 00:34:05,369 Vamos a hacer un ejemplo juntos 608 00:34:05,369 --> 00:34:07,269 Y se acabó, mañana ejercicio 609 00:34:07,269 --> 00:34:07,869 ¿Vale? 610 00:34:08,469 --> 00:34:19,190 Por ejemplo, tenemos esto, que lo que hacía aquí era poner una dirección y me decía la dirección, ¿vale? 611 00:34:20,190 --> 00:34:31,460 Dejamos, aumento todo esto, así que solo me da una solución, la última que había preparado, ¿vale? 612 00:34:31,860 --> 00:34:32,840 Esta cosa aquí. 613 00:34:33,340 --> 00:34:37,340 Ahora, si yo tengo que tratar a otra persona, ¿vale? 614 00:34:37,340 --> 00:34:39,380 Que no es suya esta dirección. 615 00:34:39,380 --> 00:34:42,559 en este momento para cambiar la dirección 616 00:34:42,559 --> 00:34:44,380 yo tengo que cambiar el código 617 00:34:44,380 --> 00:34:45,219 del programa 618 00:34:45,219 --> 00:34:47,519 eso no es bueno 619 00:34:47,519 --> 00:34:50,019 porque quiere decir que cada vez que viene una nueva persona 620 00:34:50,019 --> 00:34:52,480 necesito un informático que me cambie 621 00:34:52,480 --> 00:34:53,219 el programa 622 00:34:53,219 --> 00:34:54,900 eso no es viable 623 00:34:54,900 --> 00:34:57,780 entonces intentamos hacer un programa 624 00:34:57,780 --> 00:35:00,880 que solicite al usuario 625 00:35:00,880 --> 00:35:01,920 su calle 626 00:35:01,920 --> 00:35:04,219 su número y su código postal 627 00:35:04,219 --> 00:35:05,880 y al final le escriba 628 00:35:05,880 --> 00:35:07,159 tu dirección es 629 00:35:07,159 --> 00:35:08,980 y un resumen de lo que ha puesto 630 00:35:08,980 --> 00:35:13,159 entonces para hacer esto tengo que activar la lectura de teclado 631 00:35:13,159 --> 00:35:13,920 ¿cómo lo hago? 632 00:35:14,440 --> 00:35:16,679 pues primero tengo que importar 633 00:35:16,679 --> 00:35:22,320 java.util.asterisco 634 00:35:22,320 --> 00:35:23,739 entonces hace aquí 635 00:35:23,739 --> 00:35:26,940 tengo que escribir esto 636 00:35:26,940 --> 00:35:28,840 esto te lo estoy diciendo 637 00:35:28,840 --> 00:35:32,780 y mira, quiero usar esta librería de aquí 638 00:35:32,780 --> 00:35:34,519 que es una librería que no he escrito yo 639 00:35:34,519 --> 00:35:35,639 ha escrito otra persona 640 00:35:35,639 --> 00:35:38,179 y aquí dentro hay cosas que me interesan 641 00:35:38,179 --> 00:35:48,159 la quiero usar. Vale, perfecto. No lo entiendo, pero está ahí. Y luego aquí hago ScannerScan es igual a NewScanner 642 00:35:48,159 --> 00:36:10,130 de System.in. Hemos visto nosotros algo parecido a System.in. Algo que me llama System.in. System.out 643 00:36:10,130 --> 00:36:11,630 es para la salida 644 00:36:11,630 --> 00:36:14,469 system.in 645 00:36:14,469 --> 00:36:16,550 es para la entrada 646 00:36:16,550 --> 00:36:18,070 la salida es la pantalla 647 00:36:18,070 --> 00:36:19,909 la entrada es el teclado 648 00:36:19,909 --> 00:36:21,090 ¿si? 649 00:36:21,510 --> 00:36:24,150 esto me está creando un algo 650 00:36:24,150 --> 00:36:26,289 es un objeto, pero no lo sabemos 651 00:36:26,289 --> 00:36:27,730 que está 652 00:36:27,730 --> 00:36:30,690 asociado con la entrada de mi programa 653 00:36:30,690 --> 00:36:31,949 ¿vale? 654 00:36:32,510 --> 00:36:33,269 entonces ahora 655 00:36:33,269 --> 00:36:35,489 cuando hago string calle 656 00:36:35,489 --> 00:36:37,469 pues en vez de ponerle mayor 657 00:36:37,469 --> 00:36:39,210 le digo, me lees una palabra 658 00:36:39,210 --> 00:36:40,590 scan.next 659 00:36:40,590 --> 00:36:45,250 Esto parará el programa 660 00:36:45,250 --> 00:36:46,690 ¿Vale? 661 00:36:47,190 --> 00:36:49,730 A la espera que el usuario escriba algo 662 00:36:49,730 --> 00:36:52,860 Vamos a ver si funciona 663 00:36:52,860 --> 00:36:54,139 Lanzo 664 00:36:54,139 --> 00:36:56,500 No pasa nada 665 00:36:56,500 --> 00:37:00,969 El programa ha llegado aquí 666 00:37:00,969 --> 00:37:02,130 Y se ha parado 667 00:37:02,130 --> 00:37:05,250 ¿Cómo veo que este programa sigue funcionando? 668 00:37:05,929 --> 00:37:07,409 Este cuadradito rojo 669 00:37:07,409 --> 00:37:09,710 Este cuadradito rojo 670 00:37:09,710 --> 00:37:13,230 Me está diciendo que el programa sigue activo 671 00:37:13,230 --> 00:37:19,440 Lo veis aquí, porque está esperando que yo le ponga algo. 672 00:37:19,860 --> 00:37:23,119 Por ejemplo, le pongo algo y le doy intro. 673 00:37:23,840 --> 00:37:30,159 Y ahora veis que me dice, tu dirección es calle algo, número 12, código este de aquí. 674 00:37:32,690 --> 00:37:42,869 Ahora, cada vez que usáis una de estas, antes deberíais poner un out. 675 00:37:42,869 --> 00:37:45,539 hay 676 00:37:45,539 --> 00:37:49,639 system.auto.println 677 00:37:49,639 --> 00:37:51,480 que diga al usuario 678 00:37:51,480 --> 00:37:52,360 que tiene que hacer 679 00:37:52,360 --> 00:37:55,119 dame el nombre 680 00:37:55,119 --> 00:37:56,440 de tu calle 681 00:37:56,440 --> 00:38:05,409 entonces cuando lo lanzo 682 00:38:05,409 --> 00:38:07,869 y me dice dame el nombre de tu calle 683 00:38:07,869 --> 00:38:08,710 y se para 684 00:38:08,710 --> 00:38:11,070 a la espera que yo ponga 685 00:38:11,070 --> 00:38:12,590 calle cocodrilo 686 00:38:12,590 --> 00:38:16,280 y ahora me viene 687 00:38:16,280 --> 00:38:18,760 tu dirección es calle cocodrilo 688 00:38:18,760 --> 00:38:19,519 número 12 689 00:38:19,519 --> 00:38:21,980 si quisiera 690 00:38:21,980 --> 00:38:23,599 completar, dame 691 00:38:23,599 --> 00:38:24,880 un segundo 692 00:38:24,880 --> 00:38:27,420 aquí esto sería unos 693 00:38:27,420 --> 00:38:29,960 scan.nexint 694 00:38:29,960 --> 00:38:33,019 y esto sería 695 00:38:33,019 --> 00:38:34,719 otros scan.nexint 696 00:38:34,719 --> 00:38:36,880 diciendo antes 697 00:38:36,880 --> 00:38:38,539 que quiero hacer 698 00:38:38,539 --> 00:38:42,510 dame el nombre de tu calle 699 00:38:42,510 --> 00:38:44,050 dame el número 700 00:38:44,050 --> 00:38:46,550 dame el 701 00:38:46,550 --> 00:38:48,190 código pista 702 00:38:48,190 --> 00:38:50,769 entonces como funcionaría 703 00:38:50,769 --> 00:38:53,150 dame el 704 00:38:53,150 --> 00:39:02,389 nombre de tu calle, escribo calle hemos dicho Cocodrilo, ahora dice dame el número, 18, 705 00:39:02,389 --> 00:39:11,190 dame el código postal, 28022 y ahora me escribe tu dirección es calle Cocodrilo, número 706 00:39:11,190 --> 00:39:20,599 18, código al que le he pasado. Solo para que quede grabado.