Saltar navegación

Java Básico 2 - 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 22 de septiembre de 2025 por Stefano C.

7 visualizaciones

Descargar la transcripción

Vale, entonces, voy a grabar esta clase, por lo tanto, si habláis, me dais el consentimiento a grabar vuestra voz. 00:00:00
Dicho esto, vamos a ver hoy un concepto muy importante de la programación. 00:00:08
Este concepto es relativamente sencillo, ¿vale? No es un concepto muy complejo. 00:00:15
Pero, para aquellos de vosotros que no han programado nunca, puede que sea un poco novedoso. 00:00:21
Y la forma básica, así, cuando esto se complica un poquito y se empiezan a hacer un uso un poquito más avanzado de variables, o se empiezan a poner, spoiler del futuro, objetos dentro de las variables, vosotros empezáis a sufrir y perder el concepto de variable, ¿vale? 00:00:28
Entonces, intentad escuchar y aprender. 00:00:49
Y en cualquier momento, por favor, si no entendéis o no es claro lo que se está diciendo, 00:00:53
paradme y yo, encantado, me invento otro ejemplo o intento deciros lo de atrás. 00:00:58
Entonces, ¿qué es una variable? 00:01:05
La variable son representaciones simbólicas de los datos. 00:01:08
Son una zona de memoria a la que asignamos un nombre, un valor y un tipo. 00:01:13
Es decir que en vez de tener el número 5 o el número 72, yo tendré una representación simbólica de este número. 00:01:17
Que no sé exactamente qué número es porque puede variar. 00:01:33
Imaginaos un programa que pide al usuario cuántos años tienes y el usuario pone un número. 00:01:38
yo no sé qué número va a poner 00:01:45
yo como programador 00:01:48
sé que me dará un número 00:01:49
pero no sé qué número me va a poner 00:01:51
entonces, para poder usar 00:01:53
ese número después 00:01:55
y imprimir, muy bien, tienes 00:01:57
tu número, años 00:01:59
pues yo necesito este número 00:02:01
llamarlo de alguna forma 00:02:03
porque no es el número 7, no es el número 24 00:02:05
no es 00:02:08
es un número 00:02:09
entonces le tengo que dar un nombre 00:02:10
una representación simbólica. Entonces, por ejemplo, lo llamaré edad. A este punto yo le diré al usuario 00:02:13
dame tu número, dame tu edad, el valor que me da él, veremos cómo, de alguna forma mágica, lo guardaré 00:02:21
en esta variable, en esta zona de memoria, en esta representación de este dato, y a partir de ahora 00:02:28
en mi programa, cada vez que yo usaré 00:02:37
la palabra, o sea, 00:02:39
el identificador, edad, 00:02:40
no me estoy refiriendo a un número concreto, 00:02:43
pero sí me estoy refiriendo a aquel número 00:02:45
que el usuario me ha dado. 00:02:47
¿Sí? Es, 00:02:51
en un cierto sentido, sí parecido 00:02:52
a la X 00:02:54
de las funciones que habéis visto 00:02:55
alguna vez en matemática, 00:02:58
en bachillerato, barra, no sé si cuarta es la S, 00:03:00
cuando haces F de X es igual 00:03:02
a X más 5. 00:03:04
¿Vale? ¿Cuánto vale X? 00:03:06
lo sé 00:03:08
es un valor 00:03:10
que luego ya asociaré 00:03:12
y por x es igual a 1 00:03:14
pues mi función vale 6 00:03:16
porque 1 más 5 es 6 00:03:17
por x es 3 00:03:19
mi función valdrá 8 00:03:20
porque 5 más 3 es 8 00:03:22
pero como yo no sé 00:03:24
qué número me vas a pedir 00:03:26
pues entonces pongo x 00:03:27
x es una representación simbólica 00:03:28
de ese dato 00:03:31
¿se entiende? 00:03:31
vale 00:03:35
ahora 00:03:35
más informáticamente 00:03:36
la variable es un trozo de memoria nosotros tenemos la ram vale tenemos dos memorias en 00:03:38
el ordenador la rama y el disco duro disco duro sirve para almacenar las cosas que cuando apagó 00:03:46
el ordenador el orden siendo sigan allí mientras la rama es una cosa que cuando apago el ordenador 00:03:51
se borra entera y cuando la diciendo copio allí los datos porque la rama es más rápida entonces 00:03:56
cuando voy a utilizar la RAM, mi ordenador 00:04:02
funciona mejor. 00:04:04
Entonces, nosotros 00:04:06
hasta 00:04:08
mayo 00:04:08
no vamos a usar la memoria secundaria, 00:04:10
no vamos a usar la memoria 00:04:14
de disco. 00:04:16
Aparte que para guardar los puntos Java. 00:04:18
No accederemos a fiches. 00:04:20
Sin embargo, sí vamos a usar la memoria 00:04:24
principal, la memoria RAM, que es 00:04:26
donde se guardan 00:04:28
estas variables. Cuando yo arranco 00:04:29
el programa y le doy el botón verde del eclipse el eclipse me hace dos cosas primero me lanza una 00:04:32
instancia de la java virtual machine intérprete que será un proceso que funciona y luego a este 00:04:38
proceso le pasa como parámetro mi clase vale mi punto clas para que se ejecute si este proceso 00:04:45
tendrá un espacio de memoria y en esta memoria es donde yo creo mis variables dudas hasta aquí 00:04:53
entonces una variable es un trocito de memoria grande lo que tiene que ser grande dependiendo 00:05:02
del tipo de variable que es será más grande o más pequeño hay variables que ocupan muy poco 00:05:09
y variables que ocupan mucho ahora yo tengo la memoria quiero crear una variable entonces el 00:05:15
sistema lo que me hace es este trocito de memoria un trocito vale lo voy a reservar para ti para que 00:05:23
sea para que tú puedas escribir allí dentro valores ahora pero para ello poder identificar 00:05:31
para poder usar este trozo de memoria le tengo que dar un nombre entonces tengo que elegir un 00:05:40
identificador mal para decir cada vez que yo utilizaré este identificador me estoy refiriendo 00:05:46
a lo que está dentro de ese trocito de memoria que tú me has reservado en nuestro caso de la 00:05:53
por ejemplo, ya lo he dicho antes, edad, ¿vale? 00:06:00
Si yo he llamado este trozo de memoria edad, cada vez que usaré edad, 00:06:03
lo que te estoy diciendo es vete a un trozo de memoria que se llame edad, 00:06:07
que yo haya llamado edad o que yo haya definido como identificador edad, 00:06:11
y mírame qué hay allí dentro. 00:06:15
¿Y qué hay allí dentro? 00:06:17
Pues habrá un valor, ¿sí? 00:06:18
Un valor actual de esa variable, que increíblemente puede variar. 00:06:21
Por eso se llama variable. 00:06:29
Si yo tengo mi edad y de repente cumplo años, el valor que se contenía allí se le puede sumar uno y volver a guardarlo en ese trozo de memoria. 00:06:31
A partir de ahora, cada vez que yo voy a buscar esta edad, esta inferioridad, voy a ese trocito de memoria y encontraré un valor distinto. 00:06:44
La tercera cosa que caracteriza una variable es el tipo. 00:06:56
Cuando yo digo, oye, mira, resérvame un trozo de memoria, y este trozo de memoria lo voy a llamar edad, le tengo que decir también al sistema qué puedo guardar allí dentro. 00:07:01
No sólo lo que guardo, sino qué puedo guardar. 00:07:15
Por ejemplo, si es una edad, le diré que este trozo de memoria puede contener enteros, porque la edad es un entero. 00:07:20
Si fuera la circunferencia de un círculo, pues entonces a lo mejor en vez de enterros le diría puedes guardar números decimales, o sea que puedan tener la coma. 00:07:29
Si en vez de eso fuera un trozo de memoria donde le voy a poner una palabra, le voy a poner mi nombre, por ejemplo, pues le diría, oye, mira, aquí dentro se guardarán carácteres, se guardarán palabras, no se guardarán números. 00:07:44
Pero en cualquier caso, cuando creo una variable, le tengo que decir estas tres cosas. 00:07:59
Cómo se llama esta variable, su nombre, su identificador, 00:08:05
qué tipo de datos puedo tener en esta variable, 00:08:09
si son enteros, si son con comas, si son strings, si son caracteres, si son lo que sea. 00:08:13
Ahora veremos los tipos de datos. 00:08:21
y después le puedo poner dentro un valor que tiene que ser del tipo que he declarado. 00:08:22
No puedo decir, mira, aquí dentro voy a poner números y ahora ¿qué me puedo poner dentro? 00:08:34
Pues pongo un gato. 00:08:39
Pues no, gato no es un número. 00:08:40
Me enfado si tú intentas poner una palabra donde van solo números. 00:08:42
¿Dudas? 00:08:48
Entonces una variable es un cajón. 00:08:49
con una etiqueta delante 00:08:51
que me dice 00:08:54
cómo se llama ese cajón 00:08:55
que sólo puede 00:08:57
contener un tipo de 00:09:00
elemento 00:09:01
y con dentro uno de estos elementos 00:09:03
es un cajón 00:09:06
con escrito fuera edad 00:09:07
que si yo lo abro, sólo dentro puedo poner números 00:09:09
y dentro habrá un número 00:09:12
siete 00:09:13
¿verdad? 00:09:14
¿dudas? 00:09:17
vale, siempre hemos entendido el concepto 00:09:20
que imagina una caja con escrito un intuidor para diferenciarla de otra caja, 00:09:22
el nombre, que contiene algo, el valor, 00:09:26
y que solo puede contener un cierto tipo de cosas, que es el tipo. 00:09:29
Si yo tengo la caja para bolígrafos, no puedo poner dentro un teclado, 00:09:33
solo puedo poner un bolígrafo. 00:09:40
La caja tendrá un nombre, que será mi bolígrafo, 00:09:43
y yo cuando lo abro, dentro guardo mi bolígrafo 1, 00:09:47
vale un valor de eso y lo cierro solo porque es una caja pequeña no cabe ni un teclado ni 00:09:50
un ratón ni un ordenador pero tendré otra caja que se llama la caja ordenador o mi ordenador 00:09:58
se llama que puede contener ordenadores por dentro poder poner un ordenador se entiende 00:10:04
¿Cómo se hace esto en Java? 00:10:10
¿Vale? 00:10:14
Aquí lo tenéis. 00:10:15
int edad es igual a 18.com 00:10:18
¿Vale? 00:10:22
¿Qué es esto? 00:10:23
Sí. 00:10:24
¿En qué apartado? 00:10:26
Nosotros lo hemos visto. 00:10:30
Donde están los atributos, allí lo puede declarar. 00:10:34
Pero nosotros ahora hacemos todo dentro del mail. 00:10:36
Por ahora. 00:10:40
¿Vale? 00:10:41
Porque estamos en programación falsamente 00:10:42
estructurada, ¿vale? 00:10:44
Entonces, es como si todo el resto me lo olvido, 00:10:46
no sé, no existe, 00:10:48
y obtengo la llave del 00:10:50
main que acaba aquí, 00:10:52
pues allí dentro es donde hago todo. 00:10:54
¿Quiero declarar una variable? La declaro allí dentro. 00:10:56
¿Sí? 00:10:59
Entonces, int edad es igual a 00:11:00
18.coma me está diciendo, 00:11:02
oye sistema, créame 00:11:04
un espacio de memoria. 00:11:06
¿Cómo se llama este espacio de memoria? 00:11:08
No. 00:11:14
Sí, va. 00:11:14
La idea es la memoria principal, pero 00:11:17
yo le estoy diciendo, sistema, quiero crear 00:11:18
una variable, ¿vale? Esta variable 00:11:20
me creará, me reservará un trozo 00:11:23
de memoria. Este 00:11:25
trozo de memoria reservado, 00:11:26
¿cómo se llama? Con esto, 00:11:29
¿eh? Edad, ¿vale? 00:11:31
Este es el identificador, es el 00:11:35
nombre. Int edad, 00:11:37
edad, me está definiendo que este 00:11:39
trozo de memoria ahora se llama 00:11:40
edad. Cada vez que usaré 00:11:43
dada a partir de ahora no me estoy refiriendo a no sé qué más ese trozo de memoria porque lo 00:11:45
ha decidido lo ha declarado qué tipo de datos puedo poner dentro de edad enteros sería este 00:11:50
int. En inglés, integer o integer, no sé, ¿vale? Integer, como he conocido yo, no puedo decir integer, nunca he olvidado o nunca he buscado la pronunciación correcta, pero int me está diciendo que aquí dentro solo pueden ir números. 00:12:02
No puedo poner palabras, no puedo poner números con coma, 00:12:21
no puedo poner valores verdadero y falso, que serían booleanos. 00:12:26
He declarado que este trozo solo puede contener el término. 00:12:31
¿Y qué contiene ahora mismo? 00:12:35
Si yo abro la caja y miro, ¿qué hay dentro? 00:12:38
18. 00:12:42
¿Se entiende? 00:12:45
Puedes cambiar su valor y poner 19, por ejemplo, 00:12:50
Pero no puedes poner salmón 00:12:53
Salmón, no lo aceptaría 00:12:55
Porque salmón no es una palabra, no es un número 00:12:57
¿Sí? 00:12:59
Fijaos que aquí yo digo 00:13:00
Edad es igual a 19 punto y coma 00:13:02
Este ok 00:13:04
Edad es igual a salmón 00:13:05
Me daría error 00:13:07
¿Qué diferencia hay entre esta línea de abajo 00:13:08
Edad igual a 19 punto y coma 00:13:12
Y esta línea de arriba 00:13:14
Int edad igual a 18 00:13:15
No está en int 00:13:17
No está en la mano que sí 00:13:19
Como he dicho 00:13:24
¿Y qué cambia en esto? ¿Por qué una vez está lento y otra vez no? 00:13:25
¿Qué pensáis que... 00:13:31
... 00:13:33
... 00:13:35
... 00:13:37
¿Alguien lo quiere decir de otra forma? 00:13:39
Aquí estoy creando la variable. Aquí estoy declarando la variable. 00:13:43
La variable no existía y aquí te estoy diciendo voy a crear un nuevo espacio de memoria 00:13:51
sólo puede contener entero que se llama edad y ponle dentro 18 ahora a partir de 00:13:56
ahora en mi programa ese trozo ya existe si yo lo quiero modificar no hace falta 00:14:03
que de verdad decir entidad porque él sabe ya que edad puede contener sólo 00:14:10
enteros se lo he dicho cuando la he declarado ahora la estoy solo usando la 00:14:15
estoy modificando cuando la modificó la uso directamente digo hoy vida edad es 00:14:20
es igual a 19, ¿vale? 00:14:28
Esto quiere decir, destruye lo que hay dentro, 00:14:29
pilla este nuevo valor 19 00:14:33
y guárdalo en esa caja. 00:14:34
Recuerda que en la variable está un solo valor. 00:14:36
Entonces, o está el 18 o está el 19. 00:14:39
Antes estaba el 18, 00:14:41
en el momento en que le digo, 00:14:42
no, ahora es igual a 19, 00:14:43
pues lo que tienes que hacer es poner el 19 dentro. 00:14:45
¿Sí? 00:14:49
Este operador de aquí igual 00:14:50
no es el igual que conocéis vosotros. 00:14:52
3 es igual a 3, es verdad 00:14:55
Este de aquí es un operador de asignación 00:14:58
Me está diciendo 00:15:02
Lo que hay a la derecha 00:15:03
Guárdalo dentro de lo que hay a la izquierda 00:15:05
A la izquierda va un identificador de variable 00:15:09
A la derecha va un valor 00:15:13
Que sea del tipo correcto 00:15:15
¿Dudas hasta aquí? 00:15:17
Muy bien, sabéis que es una variable 00:15:22
¿Vale? ¿Sí? Y si en vez de un no, de un, de un, de un, ah, no, perdón. Aquí vamos a ver cómo se da un nombre a una variable. ¿Vale? ¿Qué puedo hacer para dar un nombre a una variable? ¿Vale? Se compone de uno más caracteres de los siguientes. Letras de A a la Z o A mayúscula Z. ¿Vale? Números de 0 a 9, guión bajo se puede usar y símbolo de dólar. ¿Sí? Todo esto son caracteres admitidos para una, el nombre de una variable. 00:15:23
pero por ejemplo el punto no, no puedo llamar edad de punto mía, o mi punto edad, no lo puedo hacer, 00:15:53
pero sí puedo hacer mi guión bajo edad, ¿sí? Personalmente, he olvidado esto, ¿sí? 00:16:02
Yo usaré solo letras y números, ¿sí? 00:16:14
No puede comenzar por número 00:16:19
Como he dicho antes 00:16:22
Los identificadores en Java no empiezan por número 00:16:23
Puedo llamar edad de 3 00:16:25
Pero no puedo llamar 3 edad 00:16:27
¿Ok? 00:16:29
No pueden coincidir con ninguna palabra reservada 00:16:31
No puedo llamar una palabra 00:16:33
Int public es igual a 18 00:16:35
No funciona 00:16:37
¿Ok? 00:16:38
Son case sensitive o sensibles a mayúscula 00:16:41
O sea, edad con la e mayúscula 00:16:43
No es la misma variable 00:16:46
que edad con la e minúscula. 00:16:47
Cuidado. 00:16:50
Concajará los 00:16:53
identificadores compuestos de varias palabras 00:16:53
poniendo en mayúscula la primera letra 00:16:56
de cada palabra, en lugar de utilizar 00:16:58
bien, bajo, solo, tal, cosa. 00:16:59
Fecha de nacimiento, 00:17:01
la d de d es 00:17:03
mayúscula, la n de nacimiento es 00:17:05
mayúscula, y cosas por el estilo. 00:17:07
La primera letra de un 00:17:09
identificador de variable, o de 00:17:11
método, será minúscula. 00:17:13
¿Es necesario? No. 00:17:17
¿Todos los programadores de Java hacen así? Sí. 00:17:20
Eso me permite, dado un identificador, saber si es una variable, si es un método o si es una clase. 00:17:25
Si empieza por mayúscula es una clase, si empieza por minúscula es una variable o un método. 00:17:33
¿Se entiende? 00:17:39
Literal. ¿Qué es el concepto de literal? 00:17:44
Literal es un valor concreto, ¿vale? Es un valor. 00:17:46
Si yo te digo un literal de los enteros, pues 3 es un literal de entero. 00:17:50
27 es un literal de entero. 00:17:55
45 es un literal de entero. 00:17:57
Si yo quiero literales de coma flotante, ¿vale? 00:17:59
Que se llaman flot, ¿vale? 00:18:03
Que son números con la coma, pues 3,7 es un literal de flot. 00:18:04
25,9 es un literal de flot. 00:18:10
39 es un literal de flot. 00:18:14
Que ya te he entrado a cómo hacer. ¿Sí? ¿Eh? 00:18:16
Pillamos dos tipos. Entero, ¿vale? Entonces, el entero, cuando yo te digo int, es... 00:18:24
Tú aquí dentro puedes poner el conjunto de todos los números enteros del mundo. 00:18:30
Cada uno de esos es un literal. Es algo que puedes usar para meterlo ahí dentro. 00:18:35
No sé qué has dicho, no me he enterado. Que estoy hablando... 00:18:40
Entonces, por ejemplo, 5 es un número entero, por lo tanto es un íntegro. 00:18:43
Lo puedes usar como íntegro. 00:18:48
27 es un número entero. 00:18:51
27,4 no lo puedes usar porque no es un literal de entero. 00:18:53
¿Me entiendes? 00:19:00
Es otra cosa, pero no es un entero. 00:19:01
Porque 27,4, el coma 4 me hace pensar que no es un íntegro. 00:19:03
Por lo tanto, no me da. 00:19:07
Ahora, otro tipo de datos. 00:19:08
Lo veremos, pero para introducirlo, para que se suene. 00:19:10
Float. 00:19:13
Float es coma flotante, o sea que es un número que puede tener una coma que se mueve, ¿vale? 00:19:14
Es un número con coma, es un número decimal, ¿sí? 00:19:19
Entonces, 27,4 es un número con coma, por lo tanto puede ir dentro de un float, ¿sí? 00:19:22
39,5 también es un literal de los float, por lo tanto puede ir dentro del float, es un número decimal. 00:19:30
Ahora, 91, así, a seca, ¿es un número decimal? 00:19:37
Sí. 00:19:45
Es 91,000000. 00:19:47
Entonces, el 0000 a la derecha no los pones. 00:19:51
Pero 91 es un número con coma. 00:19:55
Lo puedes ver como número con coma. 00:19:58
Entonces, si uso los números float, que son los números que admiten decimales, 00:20:00
también puedo admitir 91. 00:20:05
Todos los enteros son números con coma. 00:20:06
Solo que hay una coma precisa, coma C. 00:20:12
Entonces sí lo puedo usar. 00:20:16
Tipo palabra, ¿vale? 00:20:21
Será string, con una S mayúscula. 00:20:23
Dentro de string yo puedo poner gato, puedo poner cocodrilo, puedo poner mi nombre, puedo poner el Quijote. 00:20:26
Me da igual. 00:20:36
¿Sí? Siempre que sean delimitados, de comillas a comillas, ¿vale? 00:20:38
Un literal del tipo string son todas las palabras, el conjunto de palabras que se te ocurren. 00:20:42
Son una cadena de carácteres, una serie de carácteres, uno tras otro. 00:20:50
¿Sí? 00:20:56
Este de aquí, con una camilla sola, es también un literal de un tipo que se llama carácter. 00:20:59
El tipo carácter es un solo símbolo. 00:21:08
Puede ser una letra, puede ser un número, puede ser un punto, puede ser un asterisco, 00:21:11
pero un solo símbolo. 00:21:15
La cadena de caracteres es una secuencia de este tipo de aquí. 00:21:19
Si tengo uno solo, es un char, C-H-A-R, tipo char. 00:21:23
Si en vez tengo muchos unos detrás de otros, será una cadena de caracteres, o sea, un string. 00:21:27
Y esto es simplemente para decir que cada tipo de variable tiene un conjunto de valores admitidos. 00:21:32
Estos valores admitidos se llaman literales. 00:21:42
Entonces, ¿me podéis hacer un ejemplo de un literal de int? 00:21:47
Uno. 00:21:53
Otro ejemplo. 00:21:54
20. 00:21:55
Otro ejemplo. 00:21:56
Un ejemplo de literal de string. 00:21:57
Gato. 00:22:01
Gato. 00:22:02
¿Qué más? 00:22:03
Un ejemplo de literal de número decimal, lo habéis pillado, ¿no? 00:22:04
¿Y para entero? 00:22:17
Para entero, no. Para un ínter, no. Para un float o un double, sí. 00:22:22
De alguna forma, luego lo veremos. Ahora lo que me interesa es que entendáis el concepto de literal. 00:22:30
En un cierto sentido 00:22:36
Cuando declaro la variable 00:22:38
Int, o sea, tipo 00:22:41
Nombre 00:22:43
Es igual literal 00:22:44
¿Entendéis? 00:22:46
Sí, sí, a ver, lo repiteremos 00:22:50
Este es el tipo 00:22:52
Este es el nombre 00:22:53
Igual, y aquí va un literal 00:22:56
De este tipo 00:22:59
¿Sí? 00:22:59
Cuando hago edad es igual a 19 00:23:02
Esto tiene que ser un literal 00:23:04
De este tipo 00:23:06
del tipo de esta variable, ¿se entiende?, va. ¿Qué más?, ok. Literales se pueden 00:23:08
guardar en variable cuyo tipo lo permita, vale, si un variable, o sea cada literal 00:23:20
tendrá su tipo, 91 tendrá un tipo, 91,5 tendrá un tipo float, se puede 00:23:24
guardar en variables punto float, o sea de tipo float. Gato tendrá tipo string, pues se 00:23:30
puede guardar dentro de variables de tipo string. En realidad, 91 es tipo int, pero también es tipo flag. 00:23:36
Ok, entonces, ¿qué tipos de datos tenemos? Vamos a ver lo que se llaman los tipos de datos primitivos. 00:23:48
¿Vale? Son los más básicos. Nunca. En algunos lenguajes de programación sí. Te permite, por ejemplo, 00:23:55
Javascript, por ejemplo, Credo o Python. 00:24:10
En una lista tú puedes imaginar números, textos y tal, pero aquí no. 00:24:13
Tampoco en la lista. 00:24:19
O sea, el Java es un lenguaje de programación tipal. 00:24:22
O sea que todo tiene que tener su tipo. 00:24:26
Tú puedes hacer algunos truquillos para conseguir obtener una lista, un array, 00:24:30
o lo que sea, con valores 00:24:38
mezclados, pero normalmente 00:24:40
no es lo que quieres. Tú quieres mantener 00:24:42
todo separado. 00:24:44
Cuando aprendes a hacerlo, es todo 00:24:46
más ordenado. Claramente 00:24:48
aprecio de que tú tienes que saber qué estás 00:24:50
haciendo. Mientras en 00:24:52
otros lenguajes que son poco tipados, 00:24:54
pues el mismo 00:24:57
sistema infiere 00:24:58
qué tipo de datos están en las 00:25:00
variables. Y luego 00:25:02
de vez en cuando se equivoca. 00:25:04
Porque si tú dentro de la variable no sabes si tienes una palabra o un número, luego no podrás nunca sumar esa variable. 00:25:06
Porque a la vez que tienes un número que funciona, a la vez que tienes una palabra, no lo puedes hacer. 00:25:12
Gato plus 7, más 7. 00:25:18
Entonces, ¿vale? 00:25:21
¿Qué tipos de datos hay? 00:25:24
Entonces, hay el tipo booleano, desde el concepto de álgebra de Boole, que era un señor. 00:25:27
El álgebra de Boole es un álgebra que se basa sobre dos valores, verdadero y falso, cero y uno, si quisiéramos. 00:25:34
Entonces, son todas una matemática que se basa sobre preposiciones que cuando yo las resuelvo, en vez de tener un número, pues tengo un valor que es verdadero o falso. 00:25:47
La lógica. 00:26:01
Esto nos servirá a nosotros y como programadores lo tendremos que ver mucho porque, por ejemplo, todas las condiciones del if, del while, y cosas por el estilo, usarán estos tipos de valores. 00:26:04
¿Verdad? Y cuando yo decía, si una condición es verdadera, haz esto. Si es falsa, haz otra cosa. 00:26:14
Esto es porque el if recibe un booleano. 00:26:20
Pasa un booleano. 00:26:24
Si esta cosa de aquí, que más le quita aquí, se soluciona, se resuelve con un true, entonces se ejecuta este trozo de código. 00:26:24
si se resuelve con un false 00:26:32
entonces se ejecuta un trozo de código distinto 00:26:34
pero en general 00:26:37
lo veremos 00:26:38
el tipo booleano 00:26:39
es un tipo que admite solo dos valores 00:26:41
hay dos literales 00:26:44
en booleano, ninguno más 00:26:46
que son true y false 00:26:48
en Java 00:26:50
la palabra que me dice que es un booleano 00:26:53
es boolean 00:26:56
ocupa un byte 00:26:57
de espacio 00:27:00
o sea que cuando yo creo una variable boolean me crea un trocito de memoria grande un byte 00:27:01
vale 8 bits como mínimo vale false o máximo vale true y dos valores positivos dudas 00:27:08
carácter vale es un singolo carácter letra o número o símbolo vale en java se llama char 00:27:20
y ocupa dos bytes. Para almacenar un carácter, ocupo dos bytes de memoria. 00:27:31
Cuando creo una variable de tipo char, char letra es igual a un 00:27:39
literal de tipo char, pues lo que estoy ocupando es dos bytes de memoria dentro 00:27:47
de la RAM. 00:27:52
Los valores mínimos y máximos no me los sé. 00:27:55
Son carácteres. 00:27:59
A, B, C, K, asterisco, comilla, punto y coma. 00:28:00
Eso son símbolos. 00:28:05
Bytes. 00:28:09
Desde aquí, desde byte, hasta esto, hasta long, byte, short, interlong, son todos números enteros. 00:28:11
representan 00:28:22
todos números enteros 00:28:25
lo que cambia es el rango 00:28:27
de lo que puedo poner ahí dentro 00:28:29
si uso un byte 00:28:30
es de tamaño un solo byte 00:28:33
un byte son 8 bits 00:28:35
entonces el número 00:28:37
más pequeño que puede hacer 00:28:39
es menos 128 00:28:41
y el número más grande que puede hacer 00:28:43
es 127 00:28:45
¿sabéis algo de binario? 00:28:46
si yo tuviera 8 bits 00:28:49
¿Cuántos números distintos puedo hacer con 8 bits? 00:28:52
2 elevado a la 8 00:29:00
Que son 256 posibles valores 00:29:02
Si contáis desde menos 128 a más 127 00:29:07
Son 256 posibles valores 00:29:13
El primer bit 00:29:16
Si es 0 00:29:18
Si es 0 es positivo 00:29:20
Si es 1 es negativo 00:29:23
O sea, el primer bit me dice simplemente si es un número positivo o negativo. 00:29:24
Y luego me quedan otros 7 bits, que 2 a la 7 son 128, 00:29:29
posibles números para decir si es positivo o negativo. 00:29:34
Por eso, si pongo el primero a 1 y todo el resto a 1, me voy hasta menos 128. 00:29:39
Si pongo el primero a 1 y luego pongo todo a 1, me voy a 127. 00:29:44
Tened en cuenta que en los positivos se cuenta también el 0, por eso es un número. 00:29:50
¿Dudas? ¿Entiendes? Vale, si yo quiero números más grandes que estos, en vez de utilizar un byte que ocupa solo un byte, puedo usar un short, que es un número corto, un número pequeño, que en vez de ocupar un byte, ocupa dos bytes. 00:29:56
Ahora, en vez de tener 8 bits con el que puedo jugar, tengo 16 bits con el que puedo jugar. 00:30:17
Por lo tanto, puedo llegar hasta 2 a la 16 distintos números. 00:30:23
O sea, 65.536 posibles números distintos. 00:30:27
Que van desde menos la mitad de eso, o sea, menos 32.000, hasta más 32.000. 00:30:31
Números pequeños. 00:30:38
Si necesito números más grandes, puedo ir a int, que ocupa 4 bytes. 00:30:40
Entonces, ahora no tengo 16 bits con los que jugar, 00:30:46
pero tengo 32 bits con los que jugar. 00:30:49
Entonces, puedo llegar hasta 2 a las 32 posibles valores, ¿vale? 00:30:52
Que van desde menos punto, punto, punto, 00:30:56
2.000 millones hasta más 2.000 millones. 00:31:00
Son 4.000 millones más o menos de números posibles. 00:31:03
Y estos me sobran normalmente. 00:31:08
La mayoría de las veces que usamos un número entero 00:31:12
Este rango es más que aceptable 00:31:15
Edad 00:31:19
Es más aceptable 00:31:20
Tener desde menos 2.000 millones de años 00:31:22
A más 2.000 millones de años 00:31:25
2.000 millones de años 00:31:26
Sí, poca gente que conozco yo 00:31:28
Ha pasado los 2.000 millones de años 00:31:30
¿Sí? 00:31:32
De hecho para la edad hasta podría 00:31:33
Podría valer un byte 00:31:35
El 37 00:31:37
Llegar a ese 27 00:31:39
No imposible 00:31:42
Pero, si imaginaos un programa que está calculando las distancias entre planetas o entre estrellas, 00:31:44
entonces, en kilómetros, entonces a lo mejor este número de aquí ya se queda por título. 00:31:57
Entonces se necesita una variable que sea todavía más grande. 00:32:02
Esto ocupa 8 bytes en memoria, ¿vale? 00:32:06
Entonces 64 bits, si no me equivoco. 00:32:10
pues entonces puede hacer 00:32:12
números mucho, mucho más grandes. 00:32:14
Siempre enteros son. 00:32:17
Todo esto son enteros. 00:32:18
¿Vale? 00:32:20
Pero la idea es que 00:32:21
dependiendo del tipo de variable que pillo 00:32:22
ocupará más o menos en memoria. 00:32:25
¿Vale? 00:32:28
Y podrá contener números más grandes o más pequeños. 00:32:29
¿Dudas? 00:32:34
¿Para qué me sirve esto? 00:32:36
Porque depende de lo que hago yo. 00:32:38
¿Vale? 00:32:40
en nuestros ordenadores, en nuestros ejercicios 00:32:40
nosotros usaremos siempre int porque da igual 00:32:42
pero imaginaos que estáis en una situación 00:32:44
en el que el dispositivo 00:32:46
donde vais a programar tiene 00:32:48
muy poca memoria RAM 00:32:50
poquísima memoria RAM 00:32:51
y yo no voy a usar estos números RAM 00:32:54
entonces en vez de utilizar int 00:32:56
uso byte para que sea lo más 00:32:58
gaste lo menos recursos 00:33:00
posible 00:33:02
si yo hago un programa donde voy a 00:33:03
hacer distancias interestelares 00:33:06
y cosas por el estilo y necesito 00:33:08
un entero grande pues no puedo utilizar esto utilizar si yo estoy contando milisegundos o 00:33:10
nanosegundos en tiempos de reciente largos pues a lo mejor entre hoy y mañana en milisegundos pues 00:33:17
esta cosa aquí no me perdón no es suficiente necesito un número más grande se entiende 00:33:25
Tú das 00:33:32
Vale, ahora 00:33:34
Si en vez de los enteros 00:33:36
Quiero coma flotante 00:33:38
O sea, quiero decimales 00:33:40
Quiero poder tener números coma algo 00:33:41
Tengo dos opciones 00:33:44
Los float o los double 00:33:45
Los float 00:33:48
Ocupan 4 bytes 00:33:49
Y me permiten hacer números 00:33:51
Desde menos 3.4 00:33:54
Multiplicado de 10 a la 38 00:33:56
O sea, sí 00:33:58
Hasta 3.4 por 10 a la 38 00:33:59
son números bastante más grandes, son muchos números, o el double que tiene 8 bytes y puede hacer estas cosas aquí, que son mucho más. 00:34:02
Tened en cuenta que mientras aquí lo que escribo dentro es directamente el número, en Sloat double dentro de la variable no escribo directamente el número, 00:34:13
Pero hay una parte que es un exponente y una parte que es un número. 00:34:26
Y luego calcularé este número elevado a este exponente. 00:34:30
Por eso me permite hacer muchos más números por aquí. 00:34:34
¿Por qué se llama double? 00:34:38
Porque tiene el doble de precisión. 00:34:41
Este de afloat me permite una precisión buena. 00:34:44
El double me permite una precisión del doble. 00:34:48
Tened en cuenta que, mientras los enteros van directamente por el número que es, aquí tenemos dos problemas con los float y los double. Por un lado, el número máximo al que puedo llegar. Y el segundo problema es cuánto preciso puedo ser con un número. 00:34:52
Imaginaos un número que es 3,123,123,123,123,123,123,123,123,123,123,123,123,123 por un millón de veces. 00:35:10
Un millón de veces, 1, 2, 3. 00:35:22
Pues eso en un ordenador no lo puedo guardar. 00:35:24
Es demasiado preciso para que se pueda guardar en un ordenador. 00:35:27
¿Me explico lo que quiero decir? 00:35:32
lo puedo aproximar 00:35:34
a un número un poquito más grande 00:35:37
un poquito más pequeño que se pueda 00:35:39
representar 00:35:41
con un dado 00:35:42
pero estos son problemas 00:35:44
complejos que 00:35:49
conllevan a que cuando se hacen 00:35:51
por ejemplo el mundo de la física, el mundo de la biología 00:35:53
cuando se tienen que hacer mediciones muy 00:35:55
precisas con ordenadores, allí tengo problemas 00:35:57
pero por lo que hacemos nosotros 00:35:59
nos da igual 00:36:01
Entonces vamos a declarar variables 00:36:02
Tiro un poquito más adelante 00:36:07
Tanto luego estaré feo 00:36:09
5 minutos antes a lo mejor 00:36:11
Pero aquí si no tengo que bloquear el vídeo 00:36:13
Declaración de variables 00:36:15
Hay dos formas de declaración 00:36:17
Simple o con inicialización 00:36:19
Lo que hemos visto antes es esta aquí debajo 00:36:22
¿Cómo se hace una declaración simple? 00:36:24
Tipo 00:36:27
Nombre.com 00:36:27
intedad.com 00:36:30
¿Qué hace esto? 00:36:32
Me está creando un trozo de memoria 00:36:34
Dentro de este trozo de memoria solo puedo poner enteros 00:36:36
Este trozo de memoria se llama edad 00:36:39
Pero no he metido dentro nada 00:36:41
No lo he inicializado 00:36:43
Cuidado 00:36:46
Porque si ahora lo uso 00:36:48
Mi programa explota 00:36:49
En general es muy importante inicializar las variables 00:36:51
Darle un número inicial 00:36:59
En realidad, por ejemplo, en el caso del entero, 00:37:02
si yo no le doy ningún número, 00:37:05
él me lo inicializa en automático a hacer. 00:37:06
¿Vale? 00:37:09
Pero en teoría yo debería siempre ponerle un número. 00:37:09
O sea, que esta cosa de aquí, 00:37:13
veremos que a veces se puede utilizar, 00:37:15
veremos por qué, 00:37:17
pero en general nosotros usaremos esta ahora. 00:37:18
Sí. 00:37:22
Ah, o sea, el literal es el tipo de dato que equipas 00:37:23
al detectar una variable. 00:37:25
El literal es el valor... 00:37:27
El tipo de datos. 00:37:30
el valor que le das pillándolo del conjunto de todos los posibles valores 00:37:31
de ese tipo. Yo te digo, tu edad es 37, pues 37 es un número que entre 00:37:39
todos los números posibles que son int, he elegido este índice de edad. 00:37:50
Entonces, por ejemplo, int edad, estoy creando una variable que se llama edad, que tiene dentro 00:37:58
enteros pero no sé cuánto vale damos resultado estoy creando una variable que 00:38:03
se llama resultado al trozo de memoria grande cuánto 00:38:08
8 bytes y entonces hay un espacio de memoria de 8 bits va bytes guardado al 00:38:13
que me refiero con resultado cada vez que utilizaré la palabra resultado me 00:38:20
estoy refiriendo a lo que está dentro de esa caja de 8 bytes que guardaron la 00:38:24
memoria y dentro puede tener sólo 00:38:27
decimales decimales de decisión doble de precisión doble 00:38:35
decimal boolean hay espacio libre punto y coma 00:38:40
he creado un espacio de memoria grande cuanto 00:38:46
un byte que se llama hay espacio libre se llama así vale y dentro puede guardar 00:38:50
solo dos tipos de valores. ¿Cuáles valores? ¿Valero o falso? Porque es booleano. ¿Y qué hay dentro? 00:38:58
No lo sé, porque no lo he inicializado, pero normalmente booleano, si no lo inicializo, me pone false. 00:39:06
Edad, si no lo inicializo, me pone cero. Y double, si no lo inicializo, me pone cero también. 00:39:12
Pero inicializadlo, porque luego cuando llegue el futuro, veremos cuándo se usa esto. 00:39:18
Pero ahora sepáis que existe. Pero nosotros usamos esto, que es tipo nombre igual literal punto y coma. 00:39:26
Como por ejemplo, int numpáginas igual 200 punto y coma. 00:39:34
Entonces tengo una variable. ¿Cómo se llama la variable? 00:39:38
Numpáginas. ¿Qué contiene dentro? 00:39:43
Y 200 es un literal de qué? 00:39:46
De int. 00:39:48
Porque en esta caja solo puedo poner int. 00:39:53
¿Vale? 00:39:55
Solo valores 00:39:57
Que tienen tipo int 00:39:57
Y 200 00:39:59
Es un número entero 00:40:00
Y tiene tipo int 00:40:01
Lo puedo guardar 00:40:02
Boolean 00:40:03
Acabado 00:40:05
Es igual a 00:40:05
False.com 00:40:06
¿Cómo se llama 00:40:07
La variable? 00:40:09
¿Es acabado? 00:40:11
Porque es falso 00:40:14
¿Ve? 00:40:15
Probablemente 00:40:16
Esto será en mi programa 00:40:17
Que le he puesto 00:40:18
Acabado false 00:40:19
Y que hará lo que sea 00:40:20
Y cuando en un determinado momento 00:40:22
Habrá acabado 00:40:23
Pondrá acabado true 00:40:24
y entonces yo puedo ir a mirar acabado 00:40:25
y saber si se ha acabado o no 00:40:27
en un determinado momento. 00:40:29
¿Falso qué es? 00:40:33
¿Qué es? 00:40:35
Valor booleano. 00:40:37
Es decir, es un 00:40:38
literal 00:40:39
de tipo booleano. 00:40:41
¿Se entiende? 00:40:43
Easy. 00:40:45
Vale. 00:40:46
Declaración múltiple. 00:40:49
Declaro varias variables de golpe. 00:40:51
¿Vale? 00:40:53
Tanto con literal como sin literal. 00:40:54
¿Vale? 00:40:56
Int 00:40:57
¿Cuántas variables he creado? 00:40:57
Dos. 00:41:02
¿Cómo se llama la primera? 00:41:03
¿Cómo se llama la segunda? 00:41:05
¿Qué contienen? 00:41:07
Cero. 00:41:10
Cero probablemente. 00:41:11
¿Y qué pueden contener? 00:41:13
¿Qué tipo tienen? 00:41:14
Interos. 00:41:16
Int. 00:41:17
¿Me seguís? 00:41:19
¿Hay alguien que se ha perdido? 00:41:20
Si alguien se ha perdido, me lo diga, 00:41:22
que la próxima se la ha perdido a él 00:41:24
y lo razonamos juntos. 00:41:25
No tengáis miedo. ¿Habéis entendido todo? 00:41:27
Va. 00:41:31
Char, inicial, nombre, coma, inicial, apellido, punto y coma. 00:41:32
¿Cuántas palabras hay? 00:41:38
Dos. 00:41:43
¿Cómo se llama la primera? 00:41:44
¿La segunda? 00:41:48
¿Qué contienen? 00:41:50
Ni idea. 00:41:54
No sé cuál es el valor por defecto de un char. 00:41:55
Realmente es vacío. 00:41:58
Pero no lo sé. 00:42:00
Hay que probarlo. 00:42:01
que pueden contener un carácter, es decir, un símbolo, una letra, un valor, uno, uno, no dos. 00:42:01
Si fueran dos carácteres, ¿podría usar char? ¿Qué tendría que usar? 00:42:12
No lo hemos visto todavía, string. 00:42:21
O puedo inicializar múltiple o multioble, como lo he escrito aquí, pero con el literal, ¿vale? 00:42:25
entonces aquí cuánta hagamos esto cuántas para en lo de abajo cuántas variables se crean 00:42:33
si yo tengo este comando de aquí cuántas variables se crea 00:42:52
no no porque es una declaración este es un único comando es una declaración 00:43:22
múltiple es un coma no es un punto y como que se puede declarar la comerci 00:43:27
intervalle formatura algún te coma lo que está haciendo es creando las dos a 00:43:35
la vez misma cosa aquí está creando tres variables a la vez la primera como se 00:43:39
llama error la segunda la tercera 00:43:44
que contiene que pueden contener las 13 que pueden contener profundo es decir un 00:43:49
valor booleano su tipo es booleano de las 3 00:43:59
la primera tiene la segunda tiene la tercera tiene 00:44:05
que son literales de booleanos sí o no perfecto 00:44:11
Cambiar el valor a una variable, ya lo hemos visto, ¿vale? 00:44:19
Para cambiar el valor a una variable es nombre igual a valor. 00:44:21
Tiene una variable que tiene que haber existido antes. 00:44:25
O sea, antes declaro la variable y luego le cambio el valor. 00:44:28
No puedo cambiar el valor a una variable que no he creado. 00:44:30
La diferencia es que para crear la variable, aquí va el tipo, para cambiarla el tipo no está. 00:44:33
¿Sí? 00:44:41
Por ejemplo, si hago int edad es igual a 18, fenomenal. 00:44:42
He creado una variable que se llama edad, que puede tener dentro enteros. 00:44:45
y tiene el valor 18, para modificarla, edad igual a 19. 00:44:49
Te estoy diciendo, vete a la porción que se llama edad, 00:44:53
y allí dentro, tira lo que hay ahí dentro, 00:44:56
bórralo, y pon 19, que es un literal de índice. 00:44:59
¿Entiendes? 00:45:06
¿Entiendes la diferencia entre declaración y modificación? 00:45:07
Yo, antes de poder modificar algo, lo tengo que haber declarado. 00:45:13
Si no lo hago así, me va a decir, no sé quién es este. 00:45:16
Ponme 19 en edad. 00:45:22
No sé quién es edad. 00:45:24
No puedo resolver el símbolo edad, te voy a decir. 00:45:25
¿Qué es nuestro símbolo edad? 00:45:28
Lo más declarado que es, no sé qué identificador es, no puedo hacer nada. 00:45:31
Boolean, tienda abierta es igual a true, punto y coma. 00:45:36
¿Es una declaración o es un cambio de valor? 00:45:39
Declaración, estoy diciendo. 00:45:44
Creemos en una cosa, se mantiene abierta, dentro le pones true, 00:45:45
y puede tener dentro booleanos, o sea, true or false. 00:45:48
y ahora hago tienda abierta igual a false 00:45:50
hasta modificar 00:45:52
¿sí? 00:45:55
notas y cambios 00:45:57
no he declarado antes 00:45:58
boom, error 00:46:00
¿sí? 00:46:02
tipo string, ¿vale? 00:46:05
el tipo string es un tipo distinto 00:46:07
no es un tipo primitivo 00:46:10
los tipos primitivos son los que hemos visto hasta ahora 00:46:12
¿vale? 00:46:15
char, un carácter 00:46:16
es un tipo primitivo 00:46:18
string no es un tipo primitivo 00:46:19
¿Le veis una diferencia gráfica entre String y los otros? 00:46:22
La mayúscula. 00:46:31
String es con la S mayúscula. 00:46:33
¿Y cuándo un identificador empieza con una letra mayúscula? 00:46:35
¿Qué es? 00:46:38
¿Dónde ponemos nosotros nombres con la letra mayúscula? 00:46:46
Con la primera letra mayúscula. 00:46:49
En Java. 00:46:57
¿Dónde hemos usado nosotros identificadores cuya primera letra es mayúscula? 00:46:58
En el sistema. 00:47:04
No, no lo hemos hecho nosotros. 00:47:05
Lo hemos usado, 00:47:07
pero no lo hemos hecho nosotros. 00:47:07
No es un identificador 00:47:08
que hemos dado nosotros. 00:47:09
No es un nombre 00:47:10
que hemos dado nosotros. 00:47:11
Public class 00:47:14
y el nombre de la clase. 00:47:15
El nombre de la clase 00:47:18
va en mayúscula. 00:47:19
Y entonces, 00:47:20
stringer, 00:47:20
si tiene la S mayúscula, 00:47:21
¿qué es? 00:47:22
La clase. 00:47:23
¿Vale? 00:47:26
Vosotros, 00:47:27
cada vez que intentáis 00:47:27
el stringer 00:47:28
como si fuera un tipo, 00:47:29
en realidad ya estáis 00:47:31
trabajando con objetos, 00:47:32
pero no lo sabéis. 00:47:34
¿Vale? 00:47:36
Lo volveremos a ver, ¿vale? 00:47:36
Cuando en un futuro veremos que son los objetos 00:47:38
Y le vamos a acordar string, jaja 00:47:40
¿Vale? Pero por ahora 00:47:42
Por ahora nosotros usamos string como si fuera 00:47:43
Otro tipo primitivo, solo que los otros tipos 00:47:47
Primitivos son todos sin minúsculas 00:47:49
String es el único que va en mayúsculas 00:47:50
¿Vale? Entenderemos por qué en un futuro 00:47:52
Y lo que tiene string 00:47:55
Es una concatenación 00:47:57
Chart 00:48:00
Es un elemento, una cosa 00:48:01
un objeto que lo que hace 00:48:05
es concatenar dentro 00:48:07
un char detrás de otro char 00:48:09
detrás de otro char 00:48:10
como por ejemplo hola 00:48:11
hola es el carácter h 00:48:14
seguido del carácter a o 00:48:17
seguido del carácter l etc 00:48:19
si os 00:48:20
fijáis bien 00:48:23
cuando trabajo 00:48:24
con string uso 00:48:27
las comillas 00:48:28
las dobles, las que están en mayúscula 00:48:30
dos 00:48:33
sin embargo 00:48:33
cuando he hablado de char 00:48:36
he hecho un ejemplo de char 00:48:38
por algún lado, hay un ejemplito por aquí 00:48:40
no he usado 00:48:42
la comilla doble 00:48:44
he usado 00:48:46
una sola comilla, una apóstol 00:48:48
que es 00:48:50
al lado de cero 00:48:51
si yo escribo esto así 00:48:56
este es un char 00:48:59
si yo escribo doble comillas 00:49:01
a doble comillas 00:49:03
ese es un literal de, repito, este es un literal de, y si le pongo comillas a comillas, ese es un literal de, ¿entendéis? 00:49:05
Vale, entonces, por ejemplo, esta cosa aquí, 00:49:21
y, en el medio del camino de nuestra vida, en el trabajo de una selva oscura, que la debilitaría a las marritas, 00:49:26
ay, a decir cuál era la cosa dura de esta selva, el barrio de los transportes, que no pensé en el nuevo puro, 00:49:32
o cosas por el estilo, es el principio de 00:49:37
muy bien 00:49:39
muy bien, y todo esto 00:49:41
es una literal de 00:49:43
string 00:49:45
¿se entiende? 00:49:46
da igual el tamaño 00:49:50
no es que una palabra es un string 00:49:51
no, de comillas a comillas 00:49:53
todo lo que está ahí dentro es un literal 00:49:55
de string 00:49:57
¿dudas? vale, declaración 00:49:57
de variable de tipo string 00:50:03
string, nombre es 00:50:04
igual a Juan 00:50:07
String ciudad es igual a Toledo 00:50:07
String trampa es igual a tres 00:50:10
Hay una trampa aquí 00:50:13
Una trampa, todo correcto 00:50:15
¿Vale? 00:50:21
Cuidado, comilla, tres, comilla 00:50:22
Es un literal de 00:50:25
String 00:50:26
Si yo pongo string trampa es igual a tres 00:50:28
¿Es correcto o no? 00:50:33
No, ¿por qué no? 00:50:36
¿Y 3 qué es? 00:50:38
3 es un literal de int. 00:50:42
Pero no me vale para ponerlo dentro de string. 00:50:45
¿Entienden la diferencia? 00:50:48
Eso menos. 00:50:50
Estamos con las variables. 00:50:52
Muchas cosas, pero... 00:50:54
Vale, entonces, para verlo gráficamente. 00:50:56
¿Eh? 00:51:01
Misma cosa otra vez. 00:51:01
Muchas cosas, pero son siempre las mismas. 00:51:02
Int edad de guardia 16. 00:51:06
tengo un trozo de memoria con dentro 16 sólo puede contener enteros y se llama edad 00:51:07
20 días igual a 22, misma cosa, string nombre igual a stefano, stefano sin la e, sin ph, con una f sola 00:51:14
con la o al final, que lo sepáis, que luego os va a parecer, string a la mesa igual a octubre, es una variable que se llama 00:51:27
mes, que puede tener string dentro y tiene el valor octubre, literal octubre. 00:51:36
¿Se entiende? 00:51:41
Entonces, int resultado es igual a 22. Creo una nueva variable que es resultado 00:51:59
en 32. Ahora digo 00:52:05
result... 00:52:06
¡Ay! ¡Ay! 00:52:08
Ahora mejor. Entonces, 00:52:17
si el resultado 00:52:20
de 22 me crea esto, 00:52:21
resultado es igual a 17, ¿qué hace? 00:52:22
No crea una nueva variable, 00:52:31
es la misma variable, pero el valor 00:52:32
lo cambia en 17. 00:52:34
Vale. 00:52:38
Resultado es igual a 5 más 400. 00:52:38
¿Qué hace? ¿Y qué pone? 00:52:41
Hace resultado, 00:52:47
evalúa lo que está a la derecha del igual 00:52:48
entonces hace la operación 400 más 5 00:52:52
405 00:52:55
y este valor final 00:52:56
lo guarda dentro del resultado 00:52:58
por lo tanto dentro del resultado tengo 00:53:00
resultado es igual a 10 por 10 menos 200 00:53:02
lo calcula y lo pone 00:53:07
¿y cuánto sale? 00:53:14
menos 100 00:53:16
es un índice menos 100 00:53:17
¿sí? 00:53:19
menos 100 00:53:24
¿sí? 00:53:25
Siguiente 00:53:29
Entonces 00:53:37
Variable int res es igual a cero 00:53:41
Me crea esta variable 00:53:45
Int op es igual a dos 00:53:46
¿Qué hace? 00:53:49
Crea otra variable 00:53:51
Que dentro le pone dos 00:53:52
Res es igual a op más uno 00:53:54
Cambia en res 00:53:57
Y le pone ¿cuánto? 00:54:01
Lo que hay dentro de op 00:54:04
más 1. Dentro de OPT, ¿qué hay? 2. 2 más 1, 3. Lo repito, RES es 0. OPT es 2. Ahora me dice, dentro de RES, pone el resultado de esta operación. 00:54:08
¿Cuál es el resultado de la variación? 00:54:31
OP vale 2. 00:54:32
Esto vale 1, 2 más 1, 3. 00:54:35
Este 3 lo guardas dentro de RES. 00:54:39
Creo que aquí hay un pequeño paso hacia adelante del número de la variable. 00:54:45
¿Dudas? 00:54:49
Vale. 00:54:51
OP, esta, es igual a RES más RES por OP. 00:54:52
¿Cuánto pongo allí dentro? 00:55:02
aquí alguien me ha dicho 12 00:55:04
¿quién está de acuerdo con 12? 00:55:28
¿quién no está de acuerdo con 12? 00:55:30
¿y cuánto es para vosotros? 00:55:34
que hay de nuevo aquí que es un poquito raro 00:55:35
pero que hay que hay diferente por respeto a todo lo que hemos hecho ahora aquí en esta cosa 00:55:44
está haciendo la operación 00:56:02
solo con los números de las variables 00:56:06
yo creo que lo que pasa 00:56:07
es que en la diapositiva anterior 00:56:10
has neutralizado variables 00:56:12
y luego cuando has modificado 00:56:14
el valor de cada una 00:56:15
realmente lo estás modificando 00:56:17
y cambiándolo de nuevo 00:56:20
pero aquí en la siguiente diapositiva 00:56:21
estás utilizando el valor del último valor 00:56:23
que se ha quedado en la variable 00:56:26
aquí estoy utilizando 00:56:27
variables también a la derecha 00:56:29
del igual 00:56:32
antes la usaba solo a la izquierda 00:56:32
pero también 00:56:35
en esta última hago una cosa rara 00:56:36
que es 00:56:39
usar 00:56:40
la misma variable 00:56:43
a la izquierda 00:56:45
y a la derecha 00:56:47
esto es subtil 00:56:48
acordaos que cuando se hace una cosa así 00:56:52
siempre antes 00:56:55
se hace la operación 00:56:57
y una vez que he evaluado la operación 00:56:58
y tengo el resultado 00:57:01
a este punto 00:57:02
lo guardo, porque no es tan obvio 00:57:04
porque si yo estoy usando op aquí 00:57:08
y aquí op, no es que le estoy 00:57:10
dando un valor y luego lo reuso aquí 00:57:12
y si op vale eso 00:57:14
no sé si me explico lo que quiero decir 00:57:16
no es que esto es 12, porque el resultado de esto 00:57:17
es 12, entonces cuando uso 12, 12 00:57:20
entra en un bucle, no, vale 00:57:22
antes me olvido del operador este aquí 00:57:23
hago la operación a la derecha 00:57:26
hago la multiplicación que tengo que hacer 00:57:28
y luego esta es la operación, y como hago la 00:57:30
operación, pues sustituyendo 00:57:32
cuando escribo res, escribo lo que está dentro de res 00:57:33
3, 3 es 3 00:57:38
y op es 2, entonces esto es 3 más 3 00:57:41
entre paréntesis por 2, 6 por 2 00:57:46
12, y el valor que sacaré aquí 12, lo guardo 00:57:49
dentro de op 00:57:53
¿Qué? Aquí, 12. 00:57:55
Entonces, si se pone ese mismo comando debajo más veces, va a seguir multiplicando el resultado anterior. 00:58:03
Si yo lanzo otra vez este mismo comando, me haría 3 más 3, 6, por 12. 00:58:10
Y 6 por 12 es un programa que, un cálculo que nadie puede hacer de mí. 00:58:18
¿Vale? 00:58:23
Ok. Vamos a ver esto entonces. 00:58:25
entonces 00:58:28
creo una palabra que se llama hola 00:58:34
una palabra que se llama 00:58:38
palabra y que tiene dentro el lo 00:58:40
esto 00:58:42
¿qué hace esto? 00:58:43
cambia lo que hay allí dentro 00:58:48
y le pone world 00:58:50
por lo tanto ahora allí dentro tengo solo world 00:58:51
vale, aquí 00:58:54
palabra es igual a el lo 00:58:58
más 00:59:01
world 00:59:02
¿qué es el más? 00:59:03
Nosotros estamos acostumbrados a que sea una suma. 00:59:09
Pero, ¿gato más cocodrilo cuánto hace? 00:59:16
Ni idea. 00:59:20
Esto porque el operador más es sobrecargado. 00:59:21
En Java tiene dos valores distintos dependiendo de si lo uso con palabras o lo uso con números. 00:59:26
Si lo uso con números, es el operador aritmético que todos conocéis. 00:59:35
Si lo uso entre palabras, o palabras con números, o palabras con cualquier otra cosa, 00:59:39
pues entonces, en vez de ser una suma aritmética, es una concatenación. 00:59:45
Píllame lo que está a la izquierda y pégale detrás lo que está a la derecha. 00:59:51
Entonces, esto hace que salga el logotipo. 00:59:55
Sería sin espacio, ¿vale? 01:00:07
esto sería en los bordes sin espacio 01:00:09
o pongo un espacio aquí 01:00:12
o si no son pegados 01:00:14
no hay ningún espacio aquí, esto es un typo 01:00:15
error, por lo tanto lo vais apuntando 01:00:18
ahí 01:00:21
y si hago esto 01:00:21
que sale ahí dentro 01:00:24
col 01:00:30
con pegado a 01:00:32
entonces hola 01:00:36
espacio a, espacio t 01:00:37
con pegado detrás a odos 01:00:40
hola a todos, ¿entiendes? 01:00:41
Sí, es la hora. 01:00:46
Venga, debo seguir. 01:00:50
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
Autor/es:
Stefano Chiesa
Subido por:
Stefano C.
Licencia:
Reconocimiento - No comercial
Visualizaciones:
7
Fecha:
22 de septiembre de 2025 - 11:45
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
1h′ 00′ 53″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
510.79 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid