230925-2 Tipos y operaciones aritméticas - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Vale, entonces voy a grabar, si decís algo es porque me dais permiso de ser grabado, vale
00:00:00
Estábamos diciendo esto, vale, de la idea de un literal
00:00:05
Un literal no es una cosa que solo vale, solo es de un tipo en abstracto, en absoluto, vale
00:00:12
El número 3 si yo lo puedo pensar o lo puedo necesitar en distintos tipos distintos
00:00:20
Y entonces puede que tenga que hacer algo
00:00:26
Para hacerlo interpretar de una forma o de otra, ¿vale?
00:00:29
Por ejemplo, si quiero el 3 en entero
00:00:32
Pongo el 3 directamente
00:00:34
Si quiero que sea un float
00:00:35
O que sea un double
00:00:37
O que sea un string
00:00:39
Pues tengo mecanismos
00:00:40
Java me ofrece mecanismos
00:00:42
Para decirle al Java mismo
00:00:44
Oye, este 3
00:00:46
Intérpratelo como un double
00:00:47
¿Vale?
00:00:49
Cuando lo vas a usar
00:00:50
Sé que parece un int
00:00:51
Pero tú piénsalo como un double
00:00:53
¿Vale?
00:00:55
Entonces, por ejemplo, si escribo 3D
00:00:55
O 247D
00:00:57
¿Vale? Si añado una D al final
00:00:59
Ese es un double
00:01:01
Otra opción
00:01:03
Es que yo le pongo un punto cero
00:01:04
Si al 3
00:01:07
En vez de poner 3, pongo 3.0
00:01:09
En automático
00:01:12
Él entiende que no es
00:01:14
Un entero
00:01:15
Porque ya es un número con coma
00:01:16
¿Vale?
00:01:19
Y en ese caso, por defecto, me lo trataría
00:01:21
Como double
00:01:24
3.0 es double
00:01:24
Si yo lo quisiera float
00:01:26
Entonces debería poner life al final
00:01:28
¿Sí?
00:01:30
Vale
00:01:33
¿Por qué esto es importante?
00:01:34
Pensamos a la suma
00:01:39
Pensamos al operador más
00:01:42
¿Vale? Operador más aritmético
00:01:47
¿Vale?
00:01:50
El operador más aritmético
00:01:51
3 más 7 me da 10
00:01:52
Este 10, ¿qué tipo tiene?
00:01:54
O sea, una vez evaluada la operación
00:01:57
Yo tengo una operación escrita que es un más algo más algo
00:01:59
El resultado de esta operación, ¿qué tipo tiene?
00:02:03
El resultado de una operación depende de los operandos
00:02:07
De lo que uso para hacer la operación
00:02:13
Por ejemplo, si el primer operando es un entero
00:02:15
Y el segundo es un entero
00:02:20
El resultado será un entero
00:02:22
3 más 5 es 8
00:02:25
3 es entero
00:02:27
5 es entero
00:02:29
8 es entero
00:02:30
¿Qué pasa si en vez tengo
00:02:31
El primero que es un int
00:02:35
Y el segundo que es un double?
00:02:37
O sea, tengo 3 más 5
00:02:41
Pero el 3 es un 3 puro
00:02:43
Es un entero
00:02:46
Mientras el 5 es un 5 de
00:02:46
Pues como estoy sumando enteros y double
00:02:49
El resultado será un double
00:02:54
Si tengo string y le hago más string
00:02:58
Hemos visto antes que este más ya no es la operación aritmética de suma
00:03:10
Más es la operación de concadenar
00:03:18
Entonces el resultado de sumar un string y otro string
00:03:22
Es que obtengo un string
00:03:26
Hasta aquí
00:03:27
Ningún problema
00:03:31
Quizás la parte un poquito más rara es la última
00:03:33
Y si tengo un entero
00:03:38
Y le sumo con el más un string
00:03:40
Que obtengo un string
00:03:45
O sea, cuando uno de los dos operandos
00:03:52
Es una cadena de palabras
00:03:57
Como las operaciones aritméticas
00:03:59
Entre lo que sea y una palabra
00:04:03
No están definidas
00:04:05
En automático pillamos la concatenación
00:04:07
Entonces lo que hace
00:04:10
Es concatenar lo que está en este entero
00:04:12
Como caracteres, como si fuera un string
00:04:16
Y le pega detrás el otro string
00:04:19
Por ejemplo
00:04:22
Imaginaos
00:04:26
Esta operación
00:04:33
¿Qué resultado da?
00:04:35
Tipo
00:04:38
In
00:04:40
¿Todos de acuerdo?
00:04:41
Sí
00:04:44
5 más
00:04:44
45 de
00:04:47
¿Resultado?
00:04:49
50
00:04:52
Tipo
00:04:54
Doble
00:04:55
¿Se entiende, no?
00:04:57
3 más
00:05:01
3
00:05:03
Resultado
00:05:05
33
00:05:08
String
00:05:14
9
00:05:19
Más
00:05:27
18
00:05:31
918
00:05:33
String
00:05:39
4
00:05:40
Más
00:05:45
Pico
00:05:47
¿Entiendes?
00:05:48
Dudas
00:05:56
Pero
00:05:57
3
00:06:01
Más
00:06:03
5D
00:06:05
Probablemente
00:06:06
Porque esta D
00:06:16
No es un carácter
00:06:21
Es siempre un número
00:06:22
Entonces probablemente será esto
00:06:24
No lo he hecho
00:06:27
No se suele
00:06:29
Pero sí
00:06:30
Sí, concatenación
00:06:32
Vale
00:06:35
Esto sí
00:06:37
Esto
00:06:39
Sí
00:06:42
En la operación más
00:06:43
Cuando uno de los operadores
00:06:45
No es un número
00:06:47
Como es este caso
00:06:49
Se transforma de
00:06:51
Más que conoces de toda la vida
00:06:53
A operación de concadenar
00:06:55
¿Vale?
00:06:58
Entonces cuando yo te digo concadenar
00:06:59
Y te digo pilla el número 3
00:07:01
Y concadénale detrás el carácter 3
00:07:03
Lo que sale es el primer 3 con cadenada al segundo 3
00:07:06
Todo como una palabra
00:07:09
No lo suma
00:07:10
En este caso, pilla la palabra 9
00:07:12
Esta es una palabra
00:07:15
Y concadénale la palabra 18
00:07:16
Pues 9 con detrás 18
00:07:19
Esto
00:07:22
4 como palabra
00:07:25
Pégale detrás 5 como entero
00:07:28
Pues 4 con detrás
00:07:32
5 como entero
00:07:35
Y esta es una palabra
00:07:36
String
00:07:39
Y esto es lo mismo
00:07:40
3 más 5
00:07:41
Pensado como double
00:07:44
O sea, esto sería como si fuera 5.0
00:07:46
Es 5
00:07:49
Es un valor
00:07:50
Pero no es 5 entero
00:07:51
El 5 pensado como si fuera
00:07:53
Un número con coma
00:07:57
¿Sí?
00:07:58
Que siempre es 5
00:08:00
Por lo tanto sale esto
00:08:01
3 con detrás 5
00:08:03
La D se pierde porque esta D
00:08:04
No es así
00:08:07
Si fuera así entonces la D estaría
00:08:08
Porque con cadeno
00:08:11
Esta palabra con esta palabra
00:08:13
Pero cuando le quito las comas
00:08:15
Este valor de aquí
00:08:18
No es 5D
00:08:20
Es 5
00:08:22
Como double
00:08:24
Esto es como si fuera un comodín
00:08:26
Para decirte oye no lo trates como entero
00:08:28
Trátalo como double
00:08:30
Pero no existe
00:08:31
No porque
00:08:33
Aquí
00:08:38
Esta es una palabra
00:08:40
No puede hacer la suma
00:08:41
Ahora tú me haces así
00:08:42
Y entonces sí que funcionaría
00:08:43
¿Qué saldría con esto?
00:08:47
¿Ocho?
00:08:50
¿Cómo?
00:08:51
Pero como entero
00:08:55
Como doble
00:08:56
¿Por qué?
00:08:59
Porque es la suma entre un entero y un double
00:09:01
Y si sumo un entero y un double
00:09:03
El resultado es un double
00:09:05
¿Sí? ¿Me entiendes?
00:09:07
Pues entonces
00:09:13
El resultado sería
00:09:14
8.3 y un double
00:09:17
¿Dónde lo quieres
00:09:18
El string?
00:09:23
Echar 3 más 5
00:09:23
¿Esto? Ni idea
00:09:25
Posiblemente 35.3
00:09:31
No sé, ahora lo probamos
00:09:34
¿Vale? ¿Dudas?
00:09:35
Vale
00:09:44
Lo que entiendo yo es que
00:09:45
Haría esto, ¿vale? En un cierto sentido
00:09:47
Por debajo
00:09:49
Y entonces
00:09:50
Debería venir 35.3
00:09:54
Pero ahora lo probamos y veamos
00:09:56
Normalmente es que no me
00:09:58
Si pero si
00:09:59
Lo hace así
00:10:01
Duda sobre esto
00:10:03
Entonces
00:10:09
Ejemplos de
00:10:11
Más como suma
00:10:13
3 más 4 es 7 como int
00:10:15
3 más 4.0
00:10:17
Es 7 como double
00:10:19
3 más 4F es 7 como double
00:10:21
¿Sí?
00:10:24
Ejercicio para vosotros
00:10:29
¿Hay errores?
00:10:31
Como siempre, dejad jugar también los otros
00:10:43
Levantad la mano
00:10:46
Y me decís
00:10:47
¿Haciendo error?
00:10:48
O sea, está fuerte
00:10:50
Vale, primero
00:10:51
¿Hay errores?
00:11:21
3 es tipo
00:11:24
Int
00:11:26
6
00:11:27
Int más int
00:11:28
Int
00:11:30
Lo pongo dentro de
00:11:31
Ningún problema
00:11:32
Segundo
00:11:34
8 es
00:11:36
4D es
00:11:37
Double
00:11:39
Double más int
00:11:41
Double
00:11:42
Lo pongo dentro de un double
00:11:43
Un problema
00:11:45
10
00:11:46
Int
00:11:48
1.0
00:11:49
Double
00:11:51
Double más int
00:11:52
Double
00:11:54
Lo pongo dentro de un float
00:11:55
¿Cuál es el problema aquí?
00:11:56
Ajá
00:12:00
¿Cuál es el problema de guardar un double dentro de un número con coma?
00:12:01
Que es solo un float
00:12:07
Efectivamente, lo que estoy perdiendo es precisión
00:12:08
¿Vale?
00:12:21
Un double me ocupa 8 bits
00:12:23
Si yo digo ahora estos 8 bits de información
00:12:26
Ponmelo dentro de una variable que solo es 4 bytes
00:12:29
8 bytes, perdón
00:12:32
De información
00:12:33
Si digo, esta información de 8 bytes
00:12:34
¿Vale? Si todos estos 8 bytes
00:12:37
Quiero ponerlos dentro de una variable
00:12:39
Que tiene solo 4 bytes de espacio
00:12:41
Puede ser que
00:12:43
Algo de ese número se pierda
00:12:45
¿Vale?
00:12:47
En la conversión de aquí a aquí
00:12:49
Puede ser que esto sea un resultado
00:12:51
Mucho más preciso
00:12:53
Con respecto al float
00:12:54
Y por lo tanto cuando intento poner un double dentro de un float
00:12:56
No le gusta
00:12:59
Cuidado, un float dentro de un double
00:13:01
No te va a decir nada
00:13:03
Va a decir muy bien
00:13:04
Pero un double dentro de un float
00:13:06
Diga
00:13:08
Si tú pones un F aquí
00:13:10
Esto es float
00:13:17
Float más int
00:13:18
Dará float
00:13:20
Y por lo tanto puede ir tranquilamente en un float
00:13:21
Y lo conta como
00:13:23
11
00:13:26
Sería 11 como float
00:13:28
Por lo tanto 11.000000
00:13:35
Hasta que quepan ceros
00:13:38
En los 4 bytes que tiene
00:13:39
Porque por defecto
00:13:41
Cuando no pongo nada
00:13:50
Con decimales
00:13:51
Lo considera double
00:13:52
Java
00:13:53
En Java si yo pongo 1.37
00:13:55
Es un double, no es un flow
00:13:59
Y otro ejercicio
00:14:00
¿Cuánto valen
00:14:08
Y2 y D2?
00:14:16
¿Cuánto valen Y2?
00:15:05
2.1
00:15:09
2.1
00:15:09
¿Estás seguro?
00:15:12
Si empiezo a poner las comas en los enteros
00:15:24
Tengo un problema
00:15:26
A ver, y 2
00:15:27
Tiene dos opciones
00:15:31
Que no sabemos
00:15:33
Los probamos y vemos que pasa
00:15:34
O me da un error
00:15:36
Porque me dice, estás intentando poner en un entero
00:15:38
Un resultado que entero no es
00:15:41
O
00:15:43
Que algunas veces lo hace Java
00:15:45
En algunos tipos de datos
00:15:47
lo estudiaremos más adelante en detalle
00:15:48
me dice, vale, como tú estás
00:15:50
haciendo la operación con coma
00:15:52
y luego lo guardas en una cosa que es un entero
00:15:54
yo la parte con la coma
00:15:57
la tiro
00:15:58
pillo solo la parte entera
00:15:59
del número
00:16:02
entonces yo aquí me espero dos cosas
00:16:04
o que me diga error
00:16:07
que por lo que hemos dicho hasta ahora
00:16:08
aquí estaría bien decir, no, este es un error
00:16:10
porque no son el mismo
00:16:12
tipo, este tipo de aquí es
00:16:14
double y este es entero
00:16:16
por lo tanto no puedo guardar un double dentro
00:16:18
de un entero
00:16:20
o si quisiera
00:16:21
lanzarme a decir, a lo mejor
00:16:23
Java es inteligente y me ayuda
00:16:26
pues el resultado de esto sería 2
00:16:27
la parte entera
00:16:29
de la operación
00:16:32
sin embargo aquí
00:16:33
2.1
00:16:37
¿te redondea o te trunca?
00:16:39
trunca, si trunca, trunca
00:16:44
pues las veces que trunca se lleva algún
00:16:46
casta explícito, que es el
00:16:48
mecanismo con el que se pueden hacer estas cosas
00:16:50
de double a
00:16:52
entero, lo que hace es truncar la parte
00:16:54
entera
00:16:56
¿sabes dudas?
00:16:56
¿sí?
00:17:00
muy bien, más
00:17:06
como con cadenar, ¿vale?
00:17:08
entonces aquí tengo hola más
00:17:10
mundo que vale hola mundo, esta vez
00:17:12
lo he escrito bien, edad más
00:17:14
edad igual
00:17:16
más 19, me da
00:17:17
edad igual 19
00:17:20
Y hola más espacio
00:17:21
Fijaos que esto
00:17:24
Es un char
00:17:26
String hola más carácter
00:17:29
Char espacio más string mundo
00:17:35
Pues hola espacio mundo
00:17:39
Si esto en vez de un char fuera un string
00:17:41
¿Cambiaría algo?
00:17:46
No, vale
00:17:47
Pero se puede hacer también con char
00:17:49
Entonces ejercicio para vosotros
00:17:51
Que escribe en pantalla
00:17:53
Esta cosa de aquí
00:17:56
Que es pobre
00:17:58
Antonio Sanz
00:18:22
Sin espacio
00:18:26
¿Vale?
00:18:27
Pilla esto, le pega detrás esto
00:18:29
Todo junto
00:18:31
Y lo escribe
00:18:32
Antonio Sanz
00:18:33
Y esto
00:18:35
¿Qué espacios hay?
00:18:38
Esto escribe en pantalla
00:19:12
Lidia tiene dos hijos
00:19:14
Que sigue siendo verdad
00:19:15
Y no vamos a cambiarlo
00:19:18
¿Cuál? ¿Esto?
00:19:21
Esto pone Lidia
00:19:24
Tiene dos hijos
00:19:26
Fijaos que esto y esto son variables
00:19:34
Esta es la variable nombre
00:19:39
Y esta es la variable hijos
00:19:42
Solo que este es un entero
00:19:45
Y esta es una palabra
00:19:47
Entonces, píllame lo que está aquí dentro
00:19:48
Lidia
00:19:51
Pégale detrás espacio tiene espacio
00:19:52
Vale, Lidia tiene
00:19:55
Píllame lo que está aquí dentro, dos
00:19:56
Entonces Lidia tiene dos
00:19:59
Y luego pégale detrás hijos
00:20:01
Lidia tiene dos hijos
00:20:04
Tú das
00:20:05
mirad, veamos estos
00:20:07
y así empezamos a hacer ejercicios
00:20:25
y este ejemplo de aquí
00:20:27
que pensáis un poquito vosotros
00:20:28
operadores aritméticos, ¿vale?
00:20:30
simplemente existe la suma
00:20:32
que suma
00:20:35
la resta
00:20:37
multiplicación
00:20:38
división
00:20:41
y módulo
00:20:43
Lo único que no sabéis es el módulo
00:20:45
Que por ahora lo hemos visto
00:20:49
Hace dos sesiones
00:20:50
¿Sí?
00:20:52
El módulo es
00:20:54
El resto de la división entera
00:20:55
¿Sí?
00:20:58
Cinco dividido dos
00:21:00
Me da dos
00:21:02
Con resto de uno
00:21:03
Pues ese uno sería el módulo
00:21:05
¿Sí?
00:21:07
Siete dividido tres
00:21:10
Me da dos
00:21:12
No, ocho dividido tres
00:21:13
me da 2
00:21:15
con el resto de 2
00:21:16
pues el módulo, o sea 8 módulo 2
00:21:18
o módulo 3 he dicho
00:21:21
me daría 2
00:21:23
¿entendéis?
00:21:23
entonces estos son
00:21:26
los varios
00:21:30
fijaos, 10 módulo 3
00:21:32
¿qué resultado da?
00:21:34
pues sería
00:21:37
10 dividido 3 sería 3
00:21:38
y sobra 1
00:21:40
pues este 1 es el resultado
00:21:42
Fijaos también
00:21:44
Y aquí os lo suelto así
00:21:49
Luego posiblemente lo veremos también
00:21:51
Que el único sitio donde puedo tener problemas
00:21:52
Es la división
00:21:56
¿Vale?
00:21:57
Sobre todo la división entre int
00:21:58
Porque 5 int
00:22:00
Dividido 2 int
00:22:03
¿Cuánto me da?
00:22:05
2
00:22:08
Si la división es entre enteros
00:22:09
Se hace la división entera
00:22:13
Se pilla solo la parte entera
00:22:15
Entonces estos dos van de la mano
00:22:17
Cuando hablamos de int
00:22:20
Porque esto me permite saber
00:22:21
El resto de la división
00:22:23
Esto me permite saber el resultado de la división
00:22:25
Y esto el resto eventual que tengo
00:22:27
Si hago
00:22:30
4D dividido 2
00:22:35
O 5D dividido 2
00:22:37
Pues ya no estoy en el mundo
00:22:40
De los enteros, ya estoy en el doble
00:22:42
Entonces el resultado será un doble
00:22:43
Y entonces tendré 2,5
00:22:45
Dudas
00:22:48
Vale
00:22:50
Entonces si yo solo esta base
00:22:53
Paro la grabación
00:22:55
- Autor/es:
- Stefano Chiesa
- Subido por:
- Stefano C.
- Licencia:
- Reconocimiento
- Visualizaciones:
- 10
- Fecha:
- 26 de septiembre de 2023 - 20:22
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 22′ 58″
- Relación de aspecto:
- 4:3 Hasta 2009 fue el estándar utilizado en la televisión PAL; muchas pantallas de ordenador y televisores usan este estándar, erróneamente llamado cuadrado, cuando en la realidad es rectangular o wide.
- Resolución:
- 960x720 píxeles
- Tamaño:
- 35.82 MBytes