Saltar navegación

20260917 Variables_4 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 17 de septiembre de 2026 por Raquel G.

2 visualizaciones

Descargar la transcripción

estábamos diciendo cositas que podríamos haber puesto mal, ¿vale? 00:00:01
Pues el nombre de identificador, importante. 00:00:06
Cuando uno le dice, muéstrame por consola el contenido de algo, 00:00:09
ese algo tiene que existir y estar declarado previamente, ¿vale? 00:00:13
A ver, cosas también que podemos ir incorporando desde ahora. 00:00:18
Si tú le dices al system.outprint del n o a otra sentencia 00:00:23
desde que vayamos incorporando, 00:00:27
le dices altura así, a palo seco, 00:00:29
tal cual la hemos escrito, 00:00:33
él sabe que tiene que ir a buscar 00:00:34
una variable que se llame altura 00:00:36
para mostrar su contenido, 00:00:39
que es lo que hemos hecho hasta ahora, ¿verdad? 00:00:42
Eso está claro. 00:00:43
Pero, ¿y si yo quiero que por consola 00:00:45
me muestre directamente la palabra altura, tal cual? 00:00:47
O sea, no quiero que me muestre el contenido 00:00:52
de la variable que se llama altura, 00:00:54
Si no quiero que me muestre directamente 00:00:56
La palabra altura 00:00:59
Porque me apetece a mí que mi programa 00:01:01
Me muestre la palabra altura 00:01:03
Así de partida podríamos decir 00:01:04
Uy, tengo aquí una ambigüedad, una confusión 00:01:07
¿Cómo sé 00:01:09
Cuando referirme a la variable 00:01:11
Que se llama altura y por tanto 00:01:13
Su contenido 00:01:15
O cómo sé cuando me estoy 00:01:16
Refiriendo al texto literal 00:01:19
Altura 00:01:21
Que es el que yo quiero mostrar 00:01:22
Tiene que haber alguna forma de distinguir 00:01:24
tiene que haber alguna forma de distinguirlo 00:01:26
no puede ser que exista esa ambigüedad 00:01:28
si os ocurre o os suena 00:01:30
claro 00:01:32
si yo no pongo comillas 00:01:35
aquí no hay ninguna duda 00:01:36
me estoy refiriendo a una variable 00:01:38
que se llama altura 00:01:40
la busco y si está declarada 00:01:41
y tiene su valor 00:01:45
lo muestro 00:01:46
que yo quiero mostrar directamente 00:01:47
el texto altura 00:01:50
pues 00:01:51
lo tengo que poner 00:01:59
entre comillas dobles 00:02:04
vale 00:02:06
entre poner el 00:02:07
un segundín, entre poner el LN 00:02:12
y no ponerlo, esto significa 00:02:13
que una vez que lo ha mostrado 00:02:15
te va a saltar a línea siguiente 00:02:17
para que lo siguiente que muestres 00:02:19
lo haga debajo 00:02:21
y si no pones el LN 00:02:22
y pones el print a palo seco 00:02:26
pues lo siguiente que muestres 00:02:27
no te lo muestra en la siguiente línea 00:02:29
podéis usar las dos, la que os dé la gana 00:02:31
en función de si queréis que salte a la línea siguiente 00:02:33
para el siguiente sistema autónomo, ¿vale? 00:02:36
Dime. 00:02:38
Eso también se puede poner en barra invertida. 00:02:38
Sí, sí, sí. 00:02:42
Barra invertida N es el carácter salto de línea. 00:02:44
Si tú lo pones entre comillas doble, 00:02:46
le estás diciendo, muéstrame por pantalla un salto de línea. 00:02:48
¿Vale? 00:02:52
Pero bueno, en este caso es más cómodo 00:02:52
que tú uses por defecto el... 00:02:53
¿Vale? 00:02:55
Pues entonces, hay una diferencia... 00:02:57
Ay, perdona, dime. 00:02:59
Que cuando creas el marquete, 00:02:59
luego tienes que crear la clase, ¿no? 00:03:02
claro, creas el paquete 00:03:03
dentro del paquete new class 00:03:05
new class 00:03:06
vale, pues entonces, primera cosa 00:03:09
que ya también se nos queda en la cabeza 00:03:13
y no nos olvidamos 00:03:15
algo entre comillas dobles 00:03:16
es ese texto literal 00:03:18
eso es lo que se llama una cadena de texto 00:03:20
es ese texto literal, tal cual 00:03:23
sin las comillas 00:03:24
es una variable 00:03:26
que se llame así 00:03:29
¿vale? 00:03:30
Si yo ejecuto ahora este programa, si yo lo ejecuto ahora, pues me hace lo que preveía que me iba a hacer. 00:03:35
Primero me ha mostrado el texto literal altura, el texto literal, y luego me ha mostrado el contenido de la variable altura, ¿vale? 00:03:44
Y como veis, me lo ha mostrado una línea separada, porque este es el println, que significa, 00:03:54
Sáltame a la siguiente línea 00:04:01
Después de haber mostrado 00:04:02
Si yo no hubiera puesto 00:04:04
El LN 00:04:07
Me lo habría sacado todo seguido 00:04:08
¿Veis? 00:04:12
Me lo habría sacado todo seguido 00:04:16
System Print me muestra el texto altura 00:04:17
Al no tener el LN 00:04:20
No me ha saltado a la línea siguiente 00:04:22
Con lo cual el siguiente System Print 00:04:24
Que me muestra el 13 00:04:27
Me lo muestra completamente pegado 00:04:30
¿Vale? 00:04:32
Muy feo. 00:04:35
Con esto lo dejo más bonito, vale. 00:04:37
Bueno, esto es solo para que incorporemos ya esta sentencia para mostrar cosas. 00:04:41
Porque si no la tenemos desde ya, ¿cómo vemos el resultado de nuestros códigos? 00:04:45
No podemos verlo de ninguna manera porque no sabemos ni mandar a fichero, ni a bases de datos, ni nada. 00:04:49
Entonces nuestra única forma ahora mismo de ver el resultado de nuestros programas es la sentencia system.out.println. 00:04:55
¿por qué se escribe tan rara con estos 00:05:02
puntos y de esta manera? 00:05:05
de nuevo es algo que todavía no podemos entender 00:05:07
porque tiene estrictamente 00:05:09
que ver con la programación orientada a objetos 00:05:11
entonces ahora mismo 00:05:13
quedémonos 00:05:15
con que para mostrar por consola yo escribo 00:05:17
esto y se acabó 00:05:19
bueno 00:05:21
¿qué más cosas podría yo haber hecho 00:05:24
que me generaran un error 00:05:27
de compilación y que me dijera 00:05:29
el precompilador 00:05:31
Construí esto, esto no, esto no me lo trago. Pues imaginaos que a mí se me ha quedado el dedo ahí pegado en el 3. Esto es un número entero. ¿Por qué te quejas? ¿No? Dice, ¿por qué te quejas si es un número entero? ¿O es que este no es un número entero? Claro que lo es. 00:05:33
pero es muy grande 00:05:54
efectivamente, dice, sí, claro que es un número entero 00:05:55
pero perdona 00:05:58
yo tengo 32 bits 00:05:59
esto no cabe, 32 bits 00:06:01
lo siento, no puedo 00:06:03
guardarme ahí, pues por eso ha saltado 00:06:05
¿vale? 00:06:08
mensaje, esta vez tiene sentido 00:06:16
¿vale? o sea, las cosas que estamos 00:06:18
haciendo ahora, como son muy básicas 00:06:21
el compilador acierta 00:06:22
con las cosas que nos dice, tiene sentido 00:06:24
me dice, perdóname, pero esto 00:06:26
está fuera de los rangos 00:06:28
que yo puedo manejar con int, ¿vale? 00:06:31
Está fuera de los rangos, ¿vale? 00:06:33
Llegará un momento en que el rojo 00:06:45
desaparecerá. 00:06:47
Ahí era. 00:06:54
Este ya no. 00:06:56
Esto ya sí se puede codificar en 32 bits. 00:06:58
Esto sí, 00:07:02
por ejemplo. Este sí cabe 00:07:02
en 32 bits, ¿vale? 00:07:04
Tenemos que sabernos 00:07:09
de memoria, cuáles 00:07:10
son los valores máximos 00:07:12
que caben en un int, en un long 00:07:14
en un... hombre pues no hace falta 00:07:16
porque uno los puede consultar 00:07:18
rápidamente 00:07:20
¿vale? 00:07:21
hay una forma rápida de verlo aquí en java 00:07:24
pero bueno, no quiero ahora mezclar unas cosas con 00:07:26
otras, pero si vosotros 00:07:28
hacéis 2 elevado a 31 00:07:30
pues es el mayor número que 00:07:32
puedes hacer en 32 bits 00:07:34
porque claro, como uno de los bits es para el signo 00:07:35
con 32 bits, si 1 es para el signo 00:07:38
positivo o negativo 00:07:42
solo te valen para valor absoluto 00:07:43
los 31 restantes, con lo cual 00:07:45
2 elevado a 31 es lo más 00:07:47
que vas a poder codificar en 00:07:49
en un int 00:07:51
lo que de ese número 00:07:53
bueno 00:07:55
ahora mismo 00:07:57
que más errores nos podrían haber salido 00:08:00
que mal podríamos haber escrito aquí mal 00:08:01
pues hombre, por supuesto, imaginaos que yo 00:08:03
a altura voy y le digo 00:08:06
altura, esto 00:08:07
me dice, pero ¿qué le estás 00:08:10
asignando tu altura? 00:08:12
¿qué altura es int? que solo puedes 00:08:13
un número entero que quepa en 32 bits 00:08:16
¿esto qué es? 00:08:18
entonces cada vez que una sentencia 00:08:20
de asignación, tú intentes 00:08:22
asignar algo 00:08:24
que no es 00:08:25
lo que está capacitado para recibir 00:08:27
siempre te va a dar ese error 00:08:30
¿esto qué es? un texto literal 00:08:31
ya sabemos ahora 00:08:34
que algo entre comillas dobles es un texto tal cual literal. 00:08:35
Pues un texto literal no es un número. 00:08:40
No tiene ningún sentido que yo un texto literal lo ponga en una variable número. 00:08:42
Aquí solo puedo poner números. 00:08:47
Bueno, pues ahora sí, vamos a seguir viendo los tipos de datos ya para completar. 00:08:49
Hemos visto, vale, a ver un momentito. 00:09:04
vale 00:09:30
adiós 00:09:31
vale, pues entonces 00:09:38
¿qué más datos podemos necesitar 00:09:40
guardar nosotros? números enteros 00:09:44
siempre básico, números enteros siempre hay que guardar 00:09:46
ya sabemos cómo guardarlos 00:09:48
¿vale? lógicamente nos faltan 00:09:49
matices sobre muchas cosas, pero esos ya 00:09:52
irán apareciendo, lo básico para 00:09:54
guardar un número entero ya lo sabemos 00:09:56
vale, pero con los números enteros 00:09:57
no lo 00:10:00
Pero no lo tenemos todo resuelto. También usamos a menudo los números decimales, ¿verdad? Los números reales con coma de toda la vida. Bueno, pues ¿cuál es el tipo de dato para guardar números decimales? Tenemos dos posibilidades en realidad. Tenemos dos. 00:10:01
Una es el tipo float y otra es el tipo double, ¿vale? Ambos son para guardar números decimales. ¿En qué se diferencia uno de otro? 00:10:19
en la precisión 00:10:36
de la parte decimal 00:10:39
¿vale? el float 00:10:40
usa 32 bits 00:10:44
y una codificación 00:10:46
de punto flotante patatín 00:10:48
patatín 00:10:50
un tipo de codificación muy complicado 00:10:51
de entender, que ni vais a estudiar 00:10:54
en sistemas operativos ni nada 00:10:56
el dabble usa 64 bits 00:10:57
y una forma de codificar los decimales 00:10:59
¿en qué se traduce para nosotros? 00:11:02
que el dabble admite 00:11:05
mucha más precisión de decimales 00:11:06
un montón de 00:11:08
dígitos en la parte 00:11:09
decimal, entonces si necesitamos una precisión 00:11:12
más alta, el double 00:11:14
no necesitamos tanta precisión 00:11:15
el flow, y ya está 00:11:18
cualquiera de los dos se usa 00:11:19
con bastante 00:11:22
asiduidad 00:11:23
no es que haya uno que se use más que otro, tampoco 00:11:25
son los dos muy usados 00:11:27
la verdad es que 00:11:29
yo siempre uso double cuando 00:11:31
trabajo con números reales y bueno 00:11:34
es bastante habitual directamente usar 00:11:36
DAB, tiene más precisión 00:11:37
y ya está 00:11:39
y para completar los tipos de datos 00:11:40
antes de abrir el eclipse para hacer más ejemplos 00:11:43
¿qué más cosas puedo yo 00:11:47
almacenar en mis variables en RAM? 00:11:50
pues me permite 00:11:52
almacenar JAB 00:11:53
un único carácter también 00:11:54
un único carácter, punto pelota 00:11:58
en ese espacio en memoria que me hable 00:12:01
en la RAM 00:12:04
un único carácter 00:12:04
vale 00:12:09
entonces ese tipo para un único carácter 00:12:10
el A, el B 00:12:13
la interrogación, el carácter que sea 00:12:14
ese tipo es el tipo 00:12:16
char 00:12:19
vale 00:12:20
el tipo char vale, ahora lo vemos con 00:12:21
ejemplos porque igual es un poco más 00:12:26
confuso de entender a veces 00:12:28
para guardar un carácter 00:12:29
un carácter es cualquier cosa 00:12:32
que sea un carácter de los que escribimos 00:12:34
en un ordenador 00:12:36
C, B, el salto de línea 00:12:38
es un carácter también 00:12:41
la interrogación, el guión 00:12:42
todo eso son caracteres 00:12:44
pues yo puedo guardar 00:12:45
uno y solo uno 00:12:48
en las variables de tipo char 00:12:49
¿y falta algún tipo de dato? 00:12:51
pues sí, porque dijimos que eran ocho 00:12:56
y hemos visto siete 00:12:57
falta uno 00:13:00
que es el tipo boolean 00:13:02
Bueno, pues una variable de tipo Boolean 00:13:09
Solo puede guardarme dos posibles valores 00:13:15
Que son 00:13:20
¿Verdad o mentira? 00:13:22
Ya está 00:13:25
Lo que viene a ser 00:13:25
En inglés 00:13:27
True o false 00:13:30
Solo me puede guardar esas dos cosas 00:13:32
O una o la otra 00:13:37
No puede tener otra cosa diferente a true o false 00:13:38
Esa variable 00:13:41
no es como los números enteros 00:13:41
que pueden tener tropecientas cosas distintas 00:13:44
27, menos 12 00:13:47
14.000, pueden tener mil cosas diferentes 00:13:48
o no es como 00:13:51
la variable char, que puede tener un montón de cosas 00:13:53
a veces puede tener una A, a veces una C 00:13:55
a veces una J, esas posibilidades 00:13:56
no, el boolean 00:13:59
solo puede tener dos cosas 00:14:01
o tiene true o tiene false 00:14:03
ya está 00:14:05
para números 00:14:06
con parte de final 00:14:09
No, esos son números enteros 00:14:10
Claro, números enteros 00:14:14
¿Vale? 00:14:16
Números enteros 00:14:18
Vale, entonces 00:14:19
La variable boolean, como ya iremos viendo 00:14:22
Sirve para guardar 00:14:24
Lo que llamamos 00:14:28
Condiciones 00:14:30
Porque ¿qué es lo que puede ser verdad o mentira? 00:14:31
En el mundo 00:14:35
Las condiciones 00:14:35
Una condición 00:14:37
Solo tiene dos opciones. O se cumple o no se cumple. Las cosas no se cumplen a medias en informática y en programación. Una condición. Llueve. O llueve o no llueve. A medias no estamos. ¿Vale? Es martes. O es verdad o es mentira. Pero no estamos a medias. 00:14:39
O sea, las condiciones son cosas que o se cumplen o no se cumplen, no hay tutía, ¿vale? Eso es un portátil, ¿eso es verdad o es mentira? Depende, no sé, si es un portátil será verdad y si no lo es será mentira, ¿vale? Las condiciones, lo que llamamos condiciones, que todos sabemos lo que es una condición, un enunciado del tipo, mañana va a llover, esa pizarra es verde, tengo hambre, enunciados de ese tipo, se pueden o cumplir o no cumplir, ser verdad o ser mentira. 00:15:01
Luego una condición solo tiene dos posibilidades, ser verdad o ser mentira, punto pelota. Pues precisamente las variables boolean valen para guardar condiciones, porque las condiciones solo tienen dos posibilidades, o son verdad o son mentira. 00:15:30
y son muy útiles 00:15:47
porque en un programa 00:15:49
hay un montón de cosas 00:15:51
que se hacen en función de si una condición 00:15:53
se cumple o no se cumple 00:15:55
entonces el manejo de Boolean 00:15:57
es básico 00:15:59
porque las condiciones son básicas 00:16:00
en un programa 00:16:03
como iremos incorporando 00:16:04
lógicamente 00:16:07
ahora lo digo para que entendáis 00:16:08
por qué aparece eso, por qué aparece un tipo tan raro 00:16:11
para guardar verdad o mentira 00:16:13
¿por qué pinta guardar verdad o mentira? 00:16:15
para qué me interesa a mí guardar verdad o mentira 00:16:16
en una variable 00:16:19
pues me interesa porque verdad o mentira 00:16:19
son las dos posibilidades 00:16:22
que puede tener 00:16:24
en su interior una condición 00:16:26
o es verdad o es mentira 00:16:28
y como las condiciones son cosas 00:16:30
que usamos continuamente en nuestros 00:16:32
programas, pues guardemos 00:16:34
esas condiciones en variables boolean 00:16:36
que son las que pueden 00:16:38
tener dos valores 00:16:40
o te cumplas o no te cumplas 00:16:42
y ahí viene esa variable 00:16:43
Muy bien. Vale, pues ahora vamos a practicar un poco con ellas aquí para acabar de entenderlas. A ver, abrimos nuestro eclipse otra vez. Ahí. Vale. Vale, entonces variables enteras, pues un poquito su manejo. 00:16:45
Venga, pues ahora vamos a declarar, a ver, voy a poner aquí variables enteras, vale, variables decimales, vale, pues por ejemplo, declaro yo mi variable decimal, double, lo que, cualquier cosa, vale, double número, ya está, una declaración de variable perfectamente válida. 00:17:25
quiero asignarle un valor 00:18:09
la sentencia de asignación 00:18:12
ya sabemos exactamente como es 00:18:16
la variable en la que le quiero asignar 00:18:17
seguido del operador 00:18:20
de asignación 00:18:22
y el valor que yo quiera asignarle 00:18:22
el valor que yo quiera asignarle 00:18:25
valor compatible 00:18:27
con double 00:18:29
vale 00:18:31
esta asignación debe ser que es válida 00:18:34
porque el compilador 00:18:41
no se ha quejado, debe ser que es válida 00:18:44
¿Os parece que es válida? 00:18:46
Claro, y 65 no lo es 00:18:54
65,0 00:18:56
Todos los enteros son números decimales 00:18:57
Todos 00:19:01
Los números enteros son un subconjunto 00:19:01
De los números decimales 00:19:05
Entonces 00:19:06
Yo pongo 65 00:19:08
¿Y qué hace él? 00:19:10
Como ve que va a un double 00:19:13
En lugar de codificarlo como entero en binario 00:19:14
Lo codifica con su parte decimal 00:19:17
Siendo su parte decimal 00:19:20
coma cero, lo codifica como 00:19:21
dabel y dice, me has dado 00:19:23
65, como vas a un dabel 00:19:25
deduzco que es 65 coma cero 00:19:27
y te lo codifico como 00:19:29
decimal, con parte decimal coma cero 00:19:31
y te lo guardo aquí 00:19:33
luego esto es válido, ¿vale? lo que pasa es que 00:19:34
va a estar guardado 00:19:37
y codificado de una manera diferente 00:19:39
a cuando yo lo guardaba en altura 00:19:41
es decir, si yo hago esto 00:19:43
altura que era entero 00:19:45
en estas dos sentencias 00:19:47
en ambas 00:19:53
se ha guardado en la variable correspondiente 00:19:54
el 65 00:19:57
y ya está 00:19:58
pero en la de arriba el 65 00:20:00
se ha codificado en decimal 00:20:03
con el coma cero 00:20:04
y en el de abajo se ha codificado en binario 00:20:07
como entero 00:20:09
pero eso nos importa nada 00:20:10
que más nos da como lo codifique 00:20:13
él internamente 00:20:15
nos da igual, a nosotros nos importa 00:20:16
que en número está el 65 00:20:18
y en altura está el 65 00:20:20
¿vale? 00:20:22
internamente está codificado distinto 00:20:23
porque esta está en dabel y esta está en in 00:20:26
pero eso a los dos nos da un poco igual 00:20:28
vamos a mostrar ahora 00:20:30
las dos variables estas 00:20:33
voy a mostrar primero altura 00:20:35
y voy a mostrar luego 00:20:40
número 00:20:44
eso es un aviso, significa que la 00:20:55
en cuanto a que la variable todavía no la has usado 00:20:56
las 00:20:59
los subrayados amarillos 00:21:01
son como sugerencias de que 00:21:04
sintácticamente esté bien 00:21:06
pero no acabo de ver yo la utilidad 00:21:08
de esto, entonces te salía porque todavía 00:21:10
no habías usado la variable y te decía 00:21:12
creas una variable en cuanto la hayas usado 00:21:13
te desaparece el amarillo 00:21:16
¿vale? entonces 00:21:18
vamos a ejecutar 00:21:22
este programa ahora 00:21:24
nos debería mostrar 2.65 00:21:25
¿verdad? vamos a ejecutarlo 00:21:28
espera, voy a poner el n aquí 00:21:30
que si no queda muy mezclado 00:21:33
¿vale? 00:21:35
pues sí 00:21:41
me ha mostrado dos 65 00:21:42
pero fijaos lo que ha hecho 00:21:45
en el system.println altura 00:21:46
que es entero 00:21:49
me ha mostrado el 65 00:21:51
porque tiene un entero 65 00:21:53
sin embargo, cuando yo he mostrado 00:21:54
número, como número 00:21:57
lo ha guardado con su parte 00:21:59
decimal, porque lo ha guardado en double 00:22:01
y double tiene su parte decimal 00:22:03
pues lo ha guardado como 65,0 00:22:05
porque en los DABEL y en los LOAD 00:22:07
existe la parte decimal 00:22:10
entonces cuando yo lo he mostrado 00:22:12
ahora ya me ha mostrado el 65,0 00:22:15
porque lo ha guardado como decimal 00:22:18
con su parte decimal 00:22:20
¿vale? 00:22:21
pero bueno, efectos prácticos de operar 00:22:23
van a ser los números iguales 00:22:25
lógicamente 00:22:27
65,0 00:22:28
que yo quiero poner un número con parte decimal 00:22:30
Pues se lo pongo tranquilamente 00:22:37
Número igual a 75, y la coma famosa es punto 00:22:42
En nuestro caso 00:22:50
¿Vale? Cuando yo quiero ya especificar una parte decimal 00:22:52
Para un double o para un float 00:22:58
¿Vale? 00:23:00
Pongo el punto, lo pongo como 00:23:05
¿Vale? 00:23:06
bueno pues aquí esta es una asignación 00:23:08
que va, encaja en double perfectamente 00:23:11
lógicamente este numerito 00:23:13
en altura no encajaría 00:23:20
esto ya si que no 00:23:22
normal 00:23:30
el compilador me dice 00:23:31
esto es un número con parte decimal 00:23:33
yo no puedo guardar 00:23:36
en una variable que has declarado de tipo entero 00:23:38
algo que no sea 00:23:40
un número entero 00:23:42
porque no puedo, porque yo solo guardo 00:23:43
números enteros, este es un número 00:23:46
con parte decimal 00:23:48
no puede ir en altura 00:23:49
¿vale? ahí sí que se queja el compilador 00:23:51
como debe ser 00:23:54
aquí sin embargo 00:23:56
no se ha quejado 00:23:58
porque 65 00:23:59
es un entero pero 00:24:01
también es un decimal, porque 65 00:24:04
también se puede ver 00:24:06
como 65,0 00:24:08
también vale 00:24:10
entonces cuando a un double le asignas 00:24:10
un int, a un decimal 00:24:13
le asignas un entero, no hay ningún problema 00:24:15
la máquina virtual hace 00:24:17
lo que se llama 00:24:21
pero bueno, tampoco quiero olvidaros ahora con tecnología 00:24:22
la promoción automática 00:24:25
que es, me has dado 00:24:26
65 para guardar en un decimal 00:24:28
no tengo ningún problema 00:24:31
lo voy a guardar en un decimal 00:24:33
y me invento yo el coma cero 00:24:34
porque el coma cero no te molesta a ti para nada 00:24:37
ese coma cero 00:24:39
pero lo contrario no lo hace 00:24:40
porque le quitaría información 00:24:42
lo contrario, tú le das un decimal 00:24:45
para que lo guarden un entero 00:24:47
podría 00:24:49
Java haberse inventado que dijera 00:24:51
pues me como la parte decimal 00:24:53
y guardo el segundo 54 00:24:56
podría inventárselo 00:24:58
pero es que sería ya quitar 00:25:00
la información que tú has dado 00:25:01
a ti te puede importar mucho ese coma 8 00:25:03
no me lo quites 00:25:05
entonces, número entero a variable decimal 00:25:06
ningún problema 00:25:10
porque 00:25:11
el programa, la máquina virtual 00:25:12
te añade el coma cero directamente 00:25:15
número decimal 00:25:17
a variable entera, no puedes 00:25:19
porque tendría 00:25:21
que cargarse información 00:25:23
que es la parte decimal y eso no lo va a hacer 00:25:25
¿vale? 00:25:27
vale 00:25:33
esto lógicamente no se puede 00:25:34
a ver 00:25:39
boolean antes de ir a char 00:25:50
¿vale? 00:25:53
veremos más ejemplos 00:25:54
lógicamente de enteros, double, float 00:25:56
esto es un poquito para tener un vistazo 00:25:58
por encima de los tipos de variables 00:26:00
yo quiero una variable boolean 00:26:01
por ejemplo, pues venga 00:26:05
llueve 00:26:07
vale, perfectamente declarada 00:26:10
las variables boolean 00:26:12
como todas las variables 00:26:14
si tienen que tener nombres que expliquen 00:26:15
lo que contienen 00:26:18
pues es un nombre muy típico de una variable boolean 00:26:19
expresa una condición 00:26:22
expresa que llueve 00:26:23
¿Vale? Como los nombres habituales de las variables boolean, la condición que expresa. 00:26:24
Terminado, es azul, amarillo, condiciones que pueden ser verdad o mentira. 00:26:29
Vale, pues mi variable boolean ahí perfectamente. 00:26:35
¿Qué ocurre? Que a mi variable boolean yo solo le puedo asignar dos posibles valores, que son verdad o mentira. 00:26:39
¿Y cómo expreso esos dos posibles valores? 00:26:49
Pues los expreso con estas dos palabras reservadas. 00:26:53
Solo admite estas asignaciones, o true o false. 00:27:06
O algo que se evalúe como true o false, pero bueno, eso ya lo veremos. 00:27:11
Ya está, no puedo tener otra cosa. 00:27:15
No puedo darle un número, no puedo darle otra cosa. 00:27:17
O true o false. 00:27:19
O algo equivalente a true o false, como ya veremos. 00:27:21
No tienen más misterio. 00:27:28
Y ahora, por último, para este vistazo así muy global de tipos de variables, la variable char. 00:27:29
¿Qué puede tener la variable char? Un único carácter, nada más. Solo puede tener un carácter. 00:27:50
Entonces, vamos a hacerle asignaciones válidas. 00:28:03
Aquí se me ha puesto rojo cuando yo he intentado hacer esta asignación. 00:28:11
¿Por qué se os ocurre que se me ha puesto en rojo? 00:28:17
se me ha puesto en rojo porque 00:28:19
como yo he dicho antes 00:28:22
cuando tú escribes algo 00:28:24
en la asignación 00:28:26
sin entre comillas y sin nada 00:28:29
la máquina virtual 00:28:30
siempre va a entender 00:28:32
que es una variable que existe 00:28:34
entonces dice A 00:28:36
B, está aquí escrito 00:28:38
pues debe ser que hay alguna variable que se llama B 00:28:40
¿vale? 00:28:42
igual que aquí, cuando yo he escrito altura 00:28:44
él ha dicho A 00:28:46
va a ser que hay una variable que se llame altura 00:28:47
o A va a ser que hay una variable que se llama número 00:28:49
¿vale? 00:28:52
entonces dice A pues va a ser que hay una variable 00:28:54
que se llama B 00:28:56
va hacia arriba y dice 00:28:56
no hay ninguna variable declarada que se llame B 00:28:58
ninguna 00:29:01
claro, es que nosotros no queríamos eso 00:29:02
nos hemos equivocado escribiendo 00:29:06
lo que nosotros queríamos era 00:29:07
asignar directamente 00:29:09
el carácter literal tal cual B 00:29:11
era lo que queríamos asignar 00:29:14
El carácter literal tal cual, no una variable que se llame B. 00:29:16
Entonces, ¿qué poníamos cuando queremos asignar algo que sea literal eso, ese texto, y no una variable que sea B? 00:29:21
Poníamos comillas, dobles, pero no, porque ponemos comillas dobles cuando son muchos caracteres, cuando es un texto. 00:29:31
Cuando es un único carácter, comillas simple. 00:29:41
si ponéis comillas dobles 00:29:44
de hecho se va a quejar 00:29:47
vale 00:29:48
comilla 00:29:50
simple, la comilla está vertical 00:29:53
simple, ahora sí 00:29:55
entonces 00:29:57
cuando yo quiero expresar un char 00:30:13
es decir, un único carácter 00:30:16
un char, tiene que ser siempre 00:30:18
con la comilla simple 00:30:20
el texto entre comillas dobles 00:30:21
es otra cosa distinta 00:30:31
el texto entre comillas dobles 00:30:33
es una cosa que se llama string, cadena 00:30:35
que 00:30:37
ahora mismo todavía no la vamos a ver porque 00:30:37
es un tipo objeto, no es un tipo 00:30:41
primitivo, ¿vale? 00:30:43
Ahora mismo quedémonos en este repaso 00:30:44
por encima de que el char 00:30:47
es un carácter único 00:30:48
entrecomillado 00:30:51
entre las comillas simples y me vale cualquiera 00:30:51
Pues si lo has 00:30:55
escrito bien 00:31:04
no se te tendría que 00:31:05
seguir quejando 00:31:08
puedes tener algo anidado 00:31:09
por arriba, abajo, cualquier carácter. 00:31:12
Vale, pues 00:31:20
estos que hemos mencionado 00:31:21
entonces, 00:31:23
estos tipos que hemos mencionado con 00:31:25
unos ejemplos muy, muy, muy 00:31:27
básicos de asignación, 00:31:29
estos son los tipos 00:31:31
de Java, 00:31:33
los tipos que 00:31:35
se llaman primitivos, 00:31:37
que son 8 00:31:40
los que hemos dicho. 00:31:46
Short, el byte se me ha escapado. 00:31:50
short, byte, long 00:31:52
bueno, los he puesto en otro orden pero da igual 00:31:55
int 00:31:56
double 00:31:58
char 00:32:02
y boolean 00:32:04
ya está, son los tipos primitivos 00:32:09
no hay más 00:32:12
y me diréis, Jolín, pues sí que vamos 00:32:13
escasos, solamente puedo 00:32:16
guardar ese tipo de datos 00:32:18
pues en tipos primitivos sí 00:32:20
que son los únicos que hay 00:32:24
Pero, ¿y si yo quiero guardar, por ejemplo, un nombre? Un nombre es Álvaro González. Álvaro González es un nombre, no es un único chat, son muchos caracteres. Ni es un número tampoco, ni es un boolean. 00:32:25
y es un dato muy natural 00:32:46
en un lenguaje, en un programa 00:32:48
trabajar con cadenas, con nombres de cosas 00:32:50
con nombres de alumnos 00:32:53
pues ahí tengo un problema 00:32:54
con estos tipos primitivos 00:32:56
y si mi aplicación es una aplicación que trabaja 00:32:58
con facturas 00:33:01
y yo necesito guardar 00:33:02
pues 00:33:05
la cantidad 00:33:05
de la factura, los ítems 00:33:09
que son un montón de cosas 00:33:11
¿qué hago? es que eso no me cabe 00:33:13
aquí, si es que solamente puedo guardar 00:33:15
un número suelto 00:33:17
entero, decimal, un char 00:33:18
suelto y un true o false, es lo único que puedo 00:33:21
guardar, ¿qué hago entonces para hacer 00:33:23
programas en los que necesito datos más complejos? 00:33:25
pues 00:33:30
tendríamos que 00:33:30
construir, que no podemos hacerlo 00:33:33
todavía, pero lo digo 00:33:35
para que sepáis que lógicamente hay soluciones 00:33:36
de almacenamiento más allá de estos 00:33:39
tipos primitivos, porque si no estaríamos 00:33:41
bien escasitos 00:33:42
pues tendríamos que construir nosotros 00:33:44
y crear y declarar nosotros por código 00:33:47
una cosa que se llaman 00:33:50
los tipos objeto 00:33:52
que ahora mismo solamente 00:33:54
lo digo pues por complejitud 00:33:59
ahora no lo vamos a ver 00:34:01
obviamente 00:34:02
entonces los 00:34:03
tenemos los tipos primitivos 00:34:06
estos que hemos visto 00:34:08
que ya sabemos por encima como funciona 00:34:10
y los tipos objeto 00:34:12
y que son los tipos objeto 00:34:15
tipos que se hacen 00:34:16
A mano y se construyen 00:34:18
Combinando los primitivos 00:34:21
Para tener un tipo más complejo 00:34:22
¿Vale? 00:34:24
Que yo necesito 00:34:26
Guardar información 00:34:27
En la que necesito 00:34:29
Un montón de char y dos números 00:34:31
Pues me construyo 00:34:33
Un tipo objeto que tiene dentro 00:34:35
Un montón de char y dos números 00:34:37
Y le doy un nombre, mi tipo nuevo 00:34:38
Ya tengo un tipo para guardar 00:34:40
Unos datos más complejos 00:34:43
Pero bueno, ahora solo lo menciono 00:34:44
y ya lo veremos más adelante 00:34:47
vale, ahora mismo nos importa 00:34:50
trabajar y manejar 00:34:51
los tipos primitivos y ya está 00:34:53
vale 00:34:56
pues vamos a parar aquí 00:34:59
en lugar de cuando suene el timbre, para que no se haga 00:35:04
demasiado largo 00:35:07
antes de seguir con lo que os iba a contar 00:35:08
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
2
Fecha:
17 de septiembre de 2026 - 16:52
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
35′ 12″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
492.63 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid