Saltar navegación

20240926 ProgrEstruct.Operad_1 - 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 26 de septiembre de 2024 por Raquel G.

15 visualizaciones

Descargar la transcripción

Bueno, pues a ver, nosotros hemos visto entonces ya cómo declarar variables, las variables son, cómo declarar variables, 00:00:01
sabiendo ya, como sabemos, que las variables son elementos imprescindibles de cualquier aplicación, de cualquier programa, imprescindibles porque reciben los datos. 00:00:16
Un programa que no tiene variables 00:00:26
Lo único que podría hacer sería mostrar por consola cosas 00:00:29
Mostrar hola, mostrar tres, mostrar por consola cosas 00:00:32
Pero no podría hacer nada 00:00:35
¿Vale? 00:00:36
Entonces las variables ya sabemos que son los elementos imprescindibles 00:00:38
En cualquier programa 00:00:41
Porque son las cajas que reciben los datos para operar 00:00:43
Y ahora ya un programa que hace 00:00:46
Operar con datos 00:00:50
Eso siempre, en cualquier contexto 00:00:51
Operar con datos 00:00:53
Que previamente ha guardado en variables 00:00:54
¿vale? eso es lo que hace cualquier programa 00:00:56
operar con datos 00:00:58
bueno, pues entonces esas variables 00:00:58
por tanto reciben los datos 00:01:02
de la aplicación 00:01:03
y además esas variables 00:01:05
van cambiando su valor 00:01:08
de ahí el nombre variables según las diferentes 00:01:09
asignaciones 00:01:12
les van dando diferentes expresiones 00:01:13
pues ahora yo quiero que esta tenga la suma 00:01:16
de las dos anteriores 00:01:18
pues ahora yo quiero no sé qué 00:01:19
entonces eso nos llevó a ver la 00:01:20
sentencia de asignación que tenemos clarísimo 00:01:23
como es, nombre de variable a la izquierda y a la derecha valor que yo asigno, ese valor 00:01:25
o un valor tal cual o una expresión y entonces a esa variable irá el resultado de esa expresión, 00:01:34
¿vale? Por ejemplo, esto es una expresión porque son dos elementos combinados por un 00:01:41
operador, eso es una expresión 00:01:49
vale 00:01:51
a mayor de edad 00:01:52
le podíamos haber 00:01:55
asignado esto, que sería 00:02:03
un valor a capón directamente, true 00:02:05
vale, entonces repito, le podemos asignar 00:02:06
a cualquier variable un valor 00:02:09
directamente 00:02:11
aquí, o le podemos 00:02:11
asignar algo resultado 00:02:15
de una expresión 00:02:17
entonces a una variable le asignamos 00:02:17
o valores directamente o expresiones 00:02:23
O entendiendo también por valores directamente el resultado de leer por teclado 00:02:25
Yo aquí le estoy dando el 4, pero le podría estar dando el resultado de leer por teclado también un entero 00:02:31
Entonces, así también le estoy dando un valor directamente 00:02:38
Le estoy dando el 7, el 12, el 14, el que sea, le estoy dando un valor directamente 00:02:42
Lo que pasa es que ese valor, en lugar de ponérselo yo por programa, ese valor llega a través del teclado 00:02:47
¿vale? está claro ¿no? 00:02:55
entonces en una variable de asignación 00:02:59
podemos siempre asignarle 00:03:01
un valor directamente 00:03:03
por teclado o porque yo lo ponga por 00:03:05
programa que se llama o el resultado de una expresión 00:03:07
y las 00:03:09
expresiones que construyamos pues tienen 00:03:11
que ser expresiones obviamente 00:03:13
que hagan lo que nuestro programa 00:03:14
pide 00:03:16
vale pues entonces para poder 00:03:17
hacer ya expresiones que se 00:03:21
adapten a lo que nuestro programa va 00:03:23
pidiendo 00:03:25
tenemos que conocer ya un poquito más 00:03:25
de qué operadores 00:03:28
disponemos en Java, entendiendo por 00:03:30
operadores, pues los símbolos 00:03:32
que permiten construir expresiones 00:03:34
¿no? el más es un operador 00:03:36
operador suma 00:03:38
este es otro operador, operador división 00:03:39
entonces tenemos que 00:03:42
conocer algunos más de los que tiene Java 00:03:44
hasta ahora, ¿qué operadores 00:03:46
con qué operadores hemos 00:03:48
trabajado sin prácticamente explicar nada 00:03:50
porque no hacía falta? 00:03:52
Claro, hemos trabajado hasta ahora 00:03:53
Con los algebraicos 00:03:56
O aritméticos 00:03:57
¿Vale? Hemos trabajado 00:03:59
Pues con la suma 00:04:04
La resta 00:04:06
La multiplicación 00:04:08
La división 00:04:10
Y el porcentaje 00:04:13
Entonces todos sabemos 00:04:15
El porcentaje 00:04:17
El porcentaje es el resto 00:04:19
O sea, lo he llamado porcentaje porque el símbolo 00:04:20
Pero no calcula el porcentaje, calcula el resto 00:04:22
El resto, el resto de la división, ¿vale? 00:04:25
Entonces hemos mencionado estos cinco como operadores aritméticos, ¿vale? 00:04:27
Este hace la suma entre lo que tiene a los lados, 00:04:32
este hace la resta del segundo, que es el sustraendo, 00:04:35
se lo quita el primero, que es el minuendo, 00:04:40
este hace la multiplicación, 00:04:42
este hace la división con o sin decimales, 00:04:45
en función de si los operadores con los que trabaja son enteros o decimales, 00:04:49
Y este calcula el resto de la división entera 00:04:53
Entonces este tiene sentido ponerlo entre dos números enteros 00:04:57
Para calcular el resto de la división entera 00:05:00
¿Vale? 00:05:01
Entonces recordad que estos operadores 00:05:04
Algunos tenían matices 00:05:06
El más tenía el matiz 00:05:08
Que si lo que tenía en alguno de los dos lados 00:05:11
Era una cadena entrecomillada 00:05:15
Se interpreta como concatenar 00:05:17
Entonces si lo que tiene al otro lado es un número 00:05:19
pues lo que hace es concatenar 00:05:22
la grafía del número con el este 00:05:23
¿vale? 00:05:26
y luego además 00:05:29
todos tenían 00:05:31
incluían de alguna manera 00:05:33
la posibilidad de 00:05:35
tener que hacer promoción automática 00:05:37
entre operandos 00:05:40
con los que trabajaba si eran de diferente tipo 00:05:42
eso todos ¿no? 00:05:44
si os recordáis, si yo sumo 00:05:46
un entero y un decimal 00:05:48
el entero promociona decimal 00:05:49
poniéndolo en punto cero 00:05:52
y la suma es decimal 00:05:53
entonces siempre se promociona 00:05:56
si hay dos valores de diferente tipo 00:05:58
el operador lo que hace es 00:06:00
coger el que puede 00:06:02
promocionar sin perder información y lo 00:06:04
promociona y el resultado 00:06:06
lo devuelve del tipo más alto 00:06:07
¿no? entonces pues eso 00:06:10
si aquí tenemos un double y un int 00:06:12
pues el int lo promociona double 00:06:14
y el resultado en double 00:06:16
Ahora ya otro tema es ese resultado 00:06:16
En qué tipo de variable lo guardamos 00:06:19
Si lo guardamos en double, maravilloso 00:06:20
Si lo guardamos en int, ya el compilador va a decir 00:06:21
No, el resultado de esta suma es double, no lo puedes guardar en int 00:06:24
A menos que hagas otra cosa 00:06:26
Que ya veremos 00:06:27
Y el resto de operadores igual 00:06:29
Si mezclan decimales y enteros 00:06:31
Si mezclan decimales y enteros 00:06:33
El entero lo promociona a decimal 00:06:36
¿Vale? 00:06:38
Bueno, esos son los operadores aritméticos 00:06:40
Que hemos visto y que no tenemos tampoco 00:06:42
Mucho más que decir sobre ellos 00:06:44
Porque son a los que estamos acostumbrados 00:06:46
Vale, y también hemos 00:06:47
Cuando hemos visto las variables boolean 00:06:49
Pues ya hemos mencionado operadores 00:06:52
Que nos son también conocidos 00:06:54
Y naturales de toda la vida 00:06:56
¿Vale? 00:06:57
Los operadores de comparación 00:06:59
Los operadores de comparación 00:07:01
Pues el menor que 00:07:06
Mayor que 00:07:07
¿No? 00:07:09
El menor o igual 00:07:12
Mayor o igual 00:07:17
Y el igual que 00:07:22
¿Vale? 00:07:24
Y el igual que 00:07:27
Entonces estos operadores 00:07:28
Como no son naturales 00:07:29
Los hemos usado en matemáticas 00:07:31
De toda la vida 00:07:32
Pues los hemos introducido 00:07:33
Desde el principio 00:07:35
Para 00:07:36
Poner expresiones 00:07:37
No sé que había aquí 00:07:41
Imagino que habría 00:07:43
Edad mayor o igual que 18 00:07:44
¿Vale? 00:07:46
Los hemos usado ya 00:07:46
Para poner expresiones 00:07:47
Porque no se nos hacen raros 00:07:48
No se nos hacen raros 00:07:50
¿Vale? 00:07:51
Repito 00:07:52
De nuevo, no confundir este operador con el operador de asignación, que es este. 00:07:53
El igual simple en Java, o sea, un único símbolo igual, solo tiene un uso, solo tiene un uso, que es asignar. 00:07:59
Este solo tiene un uso, el igual simple. 00:08:10
Y este otro solo tiene un uso, que es formar una expresión que signifique este es igual a este. 00:08:14
¿Vale? Entonces son dos usos diferentes 00:08:22
¿Vale? 00:08:25
Entonces, los operadores de comparación 00:08:29
¿Qué comparan? 00:08:31
Valores que tengan orden 00:08:32
Si no, no tiene ningún sentido 00:08:34
Los operadores de comparación 00:08:36
Comparan valores 00:08:39
Que tengan orden 00:08:47
¿Vale? 00:08:48
Y que devuelven 00:08:50
Una condición 00:08:54
Perdón, devuelven un boolean 00:08:56
Un valor boolean 00:08:58
es decir, la expresión que nosotros formamos con operadores de comparación, 00:09:01
lo que nos devuelve es un boolean, nos devuelve true o false, ¿vale? 00:09:11
Porque con estos operadores formamos condiciones, ¿vale? 00:09:15
Formamos condiciones que pueden ser true o pueden ser false, ¿no? 00:09:32
Lo que pueden ser las condiciones, o es true o es false. 00:09:36
Entonces, esa es la diferencia fundamental entre los aritméticos y los de comparación. 00:09:39
Los aritméticos combinan números con el matiz de que este puede combinar cadena y número también, o dos cadenas 00:09:43
Y entonces ya es concatenación, no es aritmético 00:09:53
Entonces este, por tanto, es suma aritmética, pero también es concatenación cuando combina esto 00:09:55
Entonces los aritméticos sirven para relacionar números, combinar números y dar como resultado otro número 00:10:02
Las expresiones en las que están involucrados dan como resultado un número 00:10:13
Y sin embargo las expresiones en las que están involucrados estos 00:10:17
Dan como resultado un boolean, una condición, un true o un false 00:10:21
Esta expresión es una expresión con un operador de comparación 00:10:25
Y lo que nos devuelve es true o false 00:10:32
Como resultado de evaluarla, true o false 00:10:35
Sin embargo esta expresión lo que nos devuelve es un número 00:10:37
¿Vale? Porque el operador es aritmético 00:10:44
Os devuelvo el número 00:10:46
Bueno, pues entonces 00:10:47
Igual que hemos mencionado ya estos operadores 00:10:54
Para poder hacer unas primeras expresiones 00:10:57
Para trabajar con asignaciones a variables 00:10:59
Pues hay muchos más operadores en Java 00:11:01
Que podemos usar para hacer expresiones más complejas 00:11:04
Que necesitamos 00:11:07
Para poder resolver cualquiera de los requisitos 00:11:08
Que nos plantea un programa 00:11:15
bueno, entonces ahora tenemos que verlos 00:11:16
tenemos que ver ya los operadores que hay 00:11:18
ya sabiendo que sirven para qué 00:11:20
sirven para hacer expresiones 00:11:22
y esas expresiones para qué sirven 00:11:24
para dárselas a variables 00:11:26
pues ya sabiendo eso y ya estando situados ahí 00:11:27
ahora ya vamos a ver de qué operadores 00:11:30
disponemos para hacer expresiones 00:11:32
¿vale? entonces para eso 00:11:34
para tenerlo todo recogido junto y no 00:11:36
porque esto sí que es 00:11:38
un rollo de pipipi, son estos 00:11:40
para tenerlo todo recogido junto 00:11:42
sino ponerlos ahí en un proyecto que se hace más pesado, pues está este ficherito, ¿vale? En el aula virtual. 00:11:44
Entonces, a partir de él vamos a usar, vamos a ver qué operadores tenemos, vamos a hacer algunos ejemplitos de cómo funcionan 00:11:53
y ya tendríamos esta primera parte de tipos de datos, entrada y salida por consola, pues en realidad vista, 00:12:00
Falta de, claro, hacer ejercicios y todo eso 00:12:08
Venga, pues vamos a ver 00:12:10
De qué operadores disponemos 00:12:13
Vale 00:12:15
Vale, y me voy a hacer aquí 00:12:20
Voy a borrar esto que tenía 00:12:28
Me voy a hacer un proyecto 00:12:30
Para en paralelo a ver el fichero 00:12:32
Y haciendo ejemplos 00:12:35
De expresiones con esos operadores 00:12:36
Vale 00:12:38
Pues venga 00:12:50
Me voy a hacer otro proyecto 00:12:53
Que sea 00:12:54
Proyecto 00:12:56
Ejemplo operadores 00:13:00
Y ya está 00:13:01
Ejemplos 00:13:02
Operadores 00:13:11
¿Vale? 00:13:12
Y a ver 00:13:17
A ver 00:13:31
Proyecto ejemplo operadores 00:13:42
Vale 00:13:58
Venga, me voy a hacer un paquete ejemplos 00:14:04
Y ahí en una clase 00:14:16
Podemos ir poniendo ejemplo de esto que vayamos viendo 00:14:18
Venga, pues vamos al lío 00:14:22
Esto ya digo es un poquito rollo 00:14:24
Pero bueno, tenemos que irlos viendo, irlos siguiendo y ya está 00:14:26
Vale, operadores de los que disponemos en Java 00:14:28
Que son prácticamente 00:14:32
La misma colección que cualquier otro lenguaje 00:14:34
De programación 00:14:36
Los aritméticos ya los conocemos 00:14:36
No tenemos nada que decir de ellos 00:14:41
¿Vale? 00:14:43
Entonces, bueno, aquí el fichero, pues bueno 00:14:45
Explica alguna cosilla de ellos y poco más 00:14:47
El igual también lo conocemos, es para asignar 00:14:49
No hay mucho que decir sobre él 00:14:51
¿Vale? Aunque aquí explica alguna cosita 00:14:54
Más, pero bueno 00:14:56
Vale 00:14:57
A ver, ahora ya 00:15:00
Siguiente cosa que incorporamos 00:15:02
Para facilitar la escritura de código 00:15:05
Esto que dice aquí 00:15:07
El operador de asignación 00:15:08
Se puede combinar 00:15:14
De una manera, se puede compactar 00:15:18
Se puede compactar 00:15:20
Con la expresión que tiene después 00:15:21
Siguiendo esta regla 00:15:23
Vamos a ver 00:15:25
Es decir, vamos a poner aquí 00:15:27
Ejemplos 00:15:29
Vale, pues aquí tengo mi 00:15:37
Vale, a ver, esto, ¿qué es esto? 00:15:43
Más igual o menos 00:15:48
Igual o por igual 00:15:50
O división igual 00:15:54
O por ciento igual, resto, debería llamarlo resto en vez de por ciento 00:15:59
Para no liar, vale, pues esto 00:16:07
Esto es un operador también, pero ya se nos suena un poco raro. 00:16:11
Nos suena un poco raro porque es como si fuera la combinación de aritmético y asignación. 00:16:15
Vale, efectivamente se pueden combinar aritméticos y asignaciones. 00:16:22
¿Para qué? 00:16:27
Para que te sume intro a ciclo automáticamente. 00:16:28
Justo, solamente a efectos de que a escribir código me quede más cortita la línea. 00:16:30
Para nada más. 00:16:35
Estos operadores tienen sentido cuando tú tienes una variable 00:16:36
Vamos a poner aquí una variable 00:16:41
Con un nombre feísimo 00:16:43
Y a esta variable 00:16:46
A esa misma variable le asignas su valor 00:16:48
Una expresión que la implique a ella 00:16:55
Que le implique a ella 00:16:58
Por ejemplo, a la variable x le voy a sumar 7 00:17:00
y el resultado de sumarle 7 se lo vuelvo a asignar a x. 00:17:04
Entonces, estos operadores tienen sentido cuando nos encontramos con... 00:17:10
Claro, cuando nos encontramos una expresión, perdón, cuando nos encontramos una asignación 00:17:14
en la cual en la expresión de la derecha participa la propia variable a la que asigno. 00:17:21
entonces en ese caso 00:17:28
cuando eso ocurre 00:17:30
podemos compactar esta línea 00:17:31
en una única, bueno aquí para quitar el error 00:17:34
de compilación, aquí lógicamente 00:17:36
el compilador me está diciendo 00:17:38
cuidado que x no está inicializada 00:17:39
vale, eso ya lo sabemos 00:17:42
vale, ese error ya no nos asusta 00:17:44
decimos, claro, efectivamente, yo no puedo 00:17:46
usar una variable en una 00:17:48
expresión, no la puedo usar si no tiene un valor 00:17:50
previo, no puedo, entonces ese error de compilación 00:17:52
no nos asusta, es verdad, venga, vamos a darle un valor 00:17:54
cualquiera, para que el compilador 00:17:56
se calle. Vale, ya se ha 00:17:58
callado. Ahora, esta línea 00:18:00
así puesta, pues está muy bien y no 00:18:02
pasa nada. Y se puede quedar así 00:18:04
porque además deja 00:18:06
muy claro que a x 00:18:08
la sustituimos por lo que tuviera 00:18:10
pero ahora sumado 7. 00:18:12
Pisamos el valor anterior, 00:18:14
lo pisamos sumándole 7. 00:18:16
Pero, ¿qué es lo que vamos a ver 00:18:18
normalmente? No vamos a ver esta expresión. 00:18:20
Lo que vamos a ver es esto. 00:18:22
x más 00:18:24
igual 7 00:18:25
esto es lo que vamos a ver 00:18:28
entonces cuando uno ve una expresión 00:18:30
con un operador de estos 00:18:34
para interpretarla bien 00:18:35
¿qué es lo que tiene que hacer? 00:18:38
el igual lo hace desaparecer 00:18:42
como si no existiera 00:18:44
lo hace desaparecer 00:18:45
le queda una expresión 00:18:46
porque si el igual lo hace desaparecer 00:18:48
le queda una expresión 00:18:49
claro, evalúa esa expresión 00:18:50
y ahora el resultado de esa expresión 00:18:53
¿a quién se lo asigna? 00:18:56
a la variable que tiene a la izquierda 00:18:57
este operador 00:19:00
a la variable que tenga a la izquierda 00:19:01
así es como se interpreta, ¿vale? 00:19:03
por si uno se hace un lío, porque esto puede aparecer 00:19:05
en una expresión 00:19:08
espera, que es que la cámara es un rollo 00:19:09
vamos a poner aquí 00:19:11
en una expresión más compleja 00:19:12
a ver, voy a poner el propio Java 00:19:15
vale, bueno, no estoy 00:19:19
espera, tengo que hacer otra variable para poner 00:19:33
a ver 00:19:37
Fijaos, por ejemplo 00:19:37
Eso que has puesto ahí arriba 00:19:55
Hay que poner dos puntos y comas seguidos 00:19:56
Ay, no, no, no, es que lo he hecho así a lo bestia 00:19:57
Y ha seguido 00:20:00
No daros de compilación porque los puntos y comas 00:20:01
En realidad, molestar no molestan 00:20:04
Los puntos y comas en Java 00:20:05
Sirven para terminar una sentencia 00:20:07
A diferencia de Python, que no hace falta 00:20:09
Porque, bueno, por razones varias 00:20:12
Si yo lo pongo, significa 00:20:14
Termina la sentencia anterior, que es vacía 00:20:16
Entonces molestar no molesta, pero hombre, confunde 00:20:17
Por eso no me ha dado error de compilación 00:20:19
Pero yo no lo he hecho a propósito 00:20:21
Es que me ha salido de corrido 00:20:22
Pero sí, está bien que cuando veáis 00:20:25
Alguna cosa rara 00:20:27
No la copiéis sin más diciendo 00:20:28
Uy, a lo mejor eso no lo he entendido y ya lo entenderé después 00:20:30
Porque perfectamente puede haber escrito una tontería 00:20:33
Y no me he dado cuenta 00:20:35
Entonces cualquier cosa rara que veáis 00:20:35
Pues me decís, ¿hay alguna razón para que lo hayas puesto? 00:20:37
Por eso, lo digo porque eso es lo que tenéis que hacer 00:20:41
¿Vale? 00:20:43
Que yo puedo escribir muchas tonterías 00:20:45
Bueno, pues entonces, este operador asignación, más o menos ya entendemos cómo se interpreta. Se interpreta. El igual lo hago desaparecer. Vale. Hago la expresión que me ha resultado. Vale, hago la expresión que me ha resultado. 00:20:47
Y el resultado se lo asigno a la izquierda, ¿vale? Se lo asigno a la izquierda. 00:21:09
Entonces, por eso esta es igual que la de arriba. 00:21:14
Entonces, normalmente estos operadores se usan solamente en expresiones sencillas de este tipo, porque si no lo complican. 00:21:18
También lo podríamos usar de esta manera, ¿verdad? 00:21:24
X por igual, pues X, por ejemplo. 00:21:27
Esto puede parecer raro, pero también tiene sentido. 00:21:37
¿Esto cómo lo interpretaríamos? 00:21:42
X por X. 00:21:43
Claro, X por X igual a X. 00:21:44
Le quito el igual. 00:21:46
Me queda la expresión X por X. 00:21:47
Vale. 00:21:49
X por X lo evalúo. 00:21:49
Y el resultado se lo doy a la que tenga a la izquierda. 00:21:51
¿Vale? 00:21:55
Entonces, esta expresión sería exactamente igual que haber hecho esta. 00:21:55
X igual a X por X. 00:22:01
¿Vale? 00:22:05
Exactamente igual a haber hecho esta. 00:22:06
Entonces, ¿es obligatorio, imprescindible usar el operador que lo compacta? 00:22:10
No, pero bueno, normalmente es habitual porque no sale de corrido ponerlo así. 00:22:14
Entonces, más que usarlo vosotros de forma natural ahora, 00:22:20
que igual no sale de forma natural tan rápido, 00:22:24
ahora mismo el punto importante es que entendáis cómo se interpreta, 00:22:28
que entendáis cómo se interpreta y luego ya se usa de forma natural. 00:22:30
Vale, entonces tiene sentido usarlo cuando realmente no complica el código, vale, no lo complica, porque poner esta expresión y poner esta a efectos computacionales de eficiencia es lo mismo, a la máquina virtual le da igual, entonces a veces confundimos, a veces confundimos que un código sea más corto en líneas de código fuente con que es más eficiente para estudiar mejor, no, simplemente es más cortito en código fuente, 00:22:34
Pero luego eso cuando se compile, el resultado es igual, una vez compilado, que un código que hace lo mismo con más líneas. 00:23:01
Bueno, no en todos los casos, depende cómo... 00:23:09
Pero en este caso, por ejemplo, esta línea y esta línea son idénticas para la máquina virtual, idénticas. 00:23:11
La única diferencia es a efectos de escribir el código fuente. 00:23:19
Entonces, como el resultado de un código fuente debería ser legible para el que lo está mirando, entendible, 00:23:23
pues se trata de no usar los operadores 00:23:30
de manera que compliquen 00:23:33
la elegibilidad del código y que uno lo vea y no entienda 00:23:34
lo que está haciendo 00:23:37
entonces, en estos casos, pues no lo complica 00:23:37
porque todos entendemos ya que es 00:23:41
x más igual 7 o x por igual x 00:23:42
entonces en esos contextos 00:23:45
se usa mucho 00:23:47
pero también podríais verlo en expresiones más complejas 00:23:47
como esta 00:23:51
entonces 00:23:51
por ejemplo, ¿qué estaríamos haciendo en esta expresión? 00:23:55
vamos a intentar interpretar 00:24:02
Esto 00:24:04
El compilador no me ha dado fallo 00:24:05
Debe ser que esto traga 00:24:08
Vale, pues estaríamos haciendo 00:24:09
A x súmale lo que sea 00:24:11
Y luego se lo asignas 00:24:13
Vale, entonces 00:24:16
¿Qué le sumamos a la x? 00:24:17
Pues lo que viene después, la y 00:24:19
Ah, claro, pero a la y ¿qué hay que hacerle? 00:24:20
Restarle lo que sea 00:24:24
Y se lo asignas 00:24:25
Luego esto, a la y le resta 9 00:24:26
Y se lo asigna a x 00:24:28
A y, perdón 00:24:30
y luego cuando la y tiene restado el 9 00:24:31
se lo suma a x y se lo asigna a x 00:24:34
¿vale? 00:24:36
entonces que no os angustie 00:24:38
ver estos operadores cuando forman 00:24:40
parte de expresiones más 00:24:42
grandes 00:24:44
porque siempre se interpretan siguiendo 00:24:44
este patrón 00:24:48
¿vale? 1b siempre 00:24:49
una variable seguido del operador 00:24:52
este, entonces lo que sí que tiene que 00:24:54
ocurrir es que este operador tiene que 00:24:56
seguir siempre a una variable 00:24:58
A una variable, tiene que seguirlo siempre 00:25:00
A una variable, vale 00:25:02
Pues uno ve a este operador que sigue a una variable 00:25:03
Ah, vale, ¿qué hago? 00:25:06
Del igual por ahora me olvido 00:25:08
Y digo, esto significa que a x 00:25:10
Súmale lo que venga después 00:25:12
Vale, ¿y qué viene después? 00:25:14
La y 00:25:17
Pero es que la y me dicen 00:25:17
A su vez está seguida de un menor o igual 00:25:19
Con lo cual digo, ah, espérate 00:25:22
Pero es que la y, como está seguida de un menor o igual 00:25:23
Esto me está diciendo, quita el igual 00:25:25
A la y, restale el 9 00:25:27
y asígnaselo a la Y. 00:25:30
Vale, ya tenemos el valor de Y. 00:25:32
Y ahora ya podemos completar la suma que nos faltaba. 00:25:33
Que es a la X sumarle la Y 00:25:36
y asígnaselo a la X. 00:25:38
Entonces, esto lo que pasa 00:25:42
es que es una expresión que nos complica la existencia. 00:25:43
Porque uno no ve aquí rápidamente 00:25:46
que a la X le esté sumando 00:25:47
nueve unidades menos de lo que tenía la Y. 00:25:48
Que es lo que está haciendo. 00:25:51
A X sumarle nueve menos de lo que tenía la Y. 00:25:52
No lo ve así de buenas a primeras. 00:25:54
Esa operación en sí no solo cambia el valor de la X, 00:25:56
Claro, efectivamente 00:25:58
Entonces, efectivamente la cambia para siempre 00:26:01
Esta expresión sería igual que haber hecho esto 00:26:03
A la y restale 9 00:26:05
Y ahora 00:26:08
A la x 00:26:09
Súmale y 00:26:10
Esto de aquí y esto de aquí es lo mismo 00:26:12
Pero a mí 00:26:17
Personalmente me parece que si quiero 00:26:18
Hacer esto en este caso 00:26:21
Esto sería más sencillo que esto 00:26:22
Bueno 00:26:24
Esto en realidad quedaría todavía más bonito 00:26:26
Y menor o igual 9 00:26:28
Y X 00:26:30
Más igual Y 00:26:31
Entonces, esto vale, esto se entiende claro 00:26:33
A la Y quítale 9 y a la X suma ley 00:26:38
Si lo pongo en una sola expresión 00:26:41
Pues quizá lo hago más lioso 00:26:43
Pero lo que quiero decir 00:26:45
Es que si veis una expresión gorda 00:26:47
En algún sitio 00:26:50
Que involucra varias veces esto 00:26:51
No pasa nada, se trata de ir haciéndola por partes 00:26:52
Recordad que siempre se va de izquierda a derecha 00:26:55
Y lo que nos mande 00:26:57
X más algo 00:26:58
vale, el igual lo dejo para después 00:27:00
porque el igual es la parte final que es asignar 00:27:01
cuando ya tengo el algo 00:27:04
ahora me voy al algo, uy que el algo a su vez me dice 00:27:05
que tengo que hacer una operación antes de asignación 00:27:08
vale, pues no pasa nada 00:27:10
la hago, vale 00:27:12
y cuando ya tenga esa operación de asignación hecha 00:27:13
ahora ya tiene sentido que haga la suma y asigne otra vez 00:27:16
vale 00:27:18
bueno, pues así podemos combinar 00:27:19
los aritméticos 00:27:22
con los de asignación 00:27:24
para hacer operaciones un poquito más 00:27:26
más compactas 00:27:28
Vamos a ponerlo aquí 00:27:30
Vale, más operadores 00:27:33
Esto 00:27:42
Se usa muchísimo, ¿vale? 00:27:44
De nuevo es otra cosa que a la cabeza 00:27:46
Vale 00:27:49
Bueno, aquí nada, dice tonterías 00:27:51
Bueno, tonterías no, cosas triviales 00:27:54
Vale 00:27:57
Aquí 00:27:58
Pues nada 00:28:00
Recuerda, es para recordar 00:28:01
Que lo podemos combinar con cualquier otro operador 00:28:04
El igual 00:28:06
Entonces con estos cinco está claro 00:28:07
Porque ya los conocemos, los hemos visto 00:28:09
Y también los puede combinar con estos otros 00:28:11
Pero es que estos otros todavía no sabemos lo que significan 00:28:14
Pero también se podría combinar 00:28:16
El igual con ellos, lo que pasa es que aún no sabemos lo que significan 00:28:17
Vale 00:28:20
Esto lo incluye simplemente 00:28:21
Esto lo he incluido aquí 00:28:24
Solamente para recordar 00:28:26
Que el operador más, cuidado con él 00:28:27
Porque también puede ser no aritmético 00:28:29
Sino de concatenación 00:28:31
Vale 00:28:33
Aquí esto, olvidaros 00:28:33
esto como si no existiera 00:28:39
¿vale? porque todavía no lo hemos visto 00:28:40
bueno, un ejemplito chorra y ya está 00:28:44
aquí ya 00:28:47
hace referencia a que cuidado 00:28:49
cuando en una expresión 00:28:50
hay varios operadores involucrados 00:28:51
la pregunta es 00:28:54
¿en qué orden hago las operaciones? 00:28:56
pues eso 00:29:00
sabemos que 00:29:00
si hay paréntesis, primero 00:29:01
hacemos lo que están los paréntesis, eso es como en matemáticas 00:29:04
si hay paréntesis, primero lo que están los paréntesis 00:29:07
Vale, cuando ya los paréntesis los tengo ya todos resueltos 00:29:08
Los tengo todos resueltos 00:29:12
Iré de izquierda a derecha 00:29:13
¿Vale? Por ejemplo, una expresión así 00:29:15
A ver 00:29:18
Precedencia de operadores 00:29:22
A la orden para evaluar una expresión 00:29:28
Para evaluar una expresión 00:29:30
Primero, los paréntesis 00:29:39
Eso está claro 00:29:41
Primero, paréntesis 00:29:42
Y una vez que he evaluado los paréntesis 00:29:46
Ya tengo los paréntesis resueltos 00:29:50
Me voy de izquierda a derecha 00:29:52
pero con la salvedad teniendo en cuenta la precedencia de los operadores. 00:29:54
Por ejemplo, tenemos esta expresión, la variable x que ya teníamos, 00:30:27
Pues nada, igual a x más x por 6 entre x menos 9 más x otra vez, cualquier cosa, ¿vale? 00:30:34
Entonces, en una expresión cualquiera, primero, si hay paréntesis, lo resolvemos, lo primero de todo, lo resolvemos, ¿vale? 00:30:57
entonces yo aquí la primera operación que haría 00:31:04
o la que hace la máquina virtual es coger el 00:31:07
valor antiguo de x 00:31:09
el que tiene en este punto 00:31:10
y restarle 9, vale, ya hemos 00:31:12
la máquina virtual ya tiene ese valor 00:31:14
entonces la máquina virtual 00:31:16
repito, primero 00:31:18
evalúa los paréntesis 00:31:20
que tiene estos 00:31:23
pues evalúa los paréntesis, entonces una vez 00:31:26
que ha evaluado los paréntesis 00:31:29
aquí ya tiene un valor, el que sea 00:31:30
Aquí ya tiene un valor. Voy a poner esto, aunque sea un poco raro, para indicar que aquí ya la máquina virtual habría ya obtenido un valor. Ya tendría el valor que fuera, la máquina virtual. Y que le hubiera dado el valor que fuera. Ya los paréntesis han desaparecido para ella. Todo esto es lo que está en la máquina virtual dentro. 00:31:33
ahora ya nos va a quedar una expresión sin paréntesis 00:31:48
pues ahora ya 00:31:51
sí que seguirá la regla 00:31:53
de izquierda a derecha pero 00:31:55
ejecutará 00:31:56
va de izquierda a derecha 00:31:58
¿hay un operador cuya precedencia 00:32:01
de los que vienen después sea 00:32:03
antes que este? pues hace 00:32:05
si la respuesta es sí, haría ese primero 00:32:07
si la respuesta es no, ahora ya 00:32:09
hace este y va con el siguiente 00:32:11
¿hay un operador de los que vienen 00:32:12
después cuya precedencia 00:32:15
sea antes que este, que la respuesta sí 00:32:17
hace primero ese, que no 00:32:19
termina con este 00:32:21
vale, esto 00:32:23
aunque la explicación parezca retorcida 00:32:24
es lo de toda la vida, porque normalmente 00:32:27
uno no tiene expresiones así, entonces es fácil 00:32:29
ver como la máquina virtual lo va a evaluar 00:32:31
entonces en este caso está claro 00:32:33
la precedencia que ya sabemos 00:32:35
de toda la vida es multiplicaciones 00:32:37
divisiones y restos 00:32:39
siempre antes que sumas y restas 00:32:40
lo que sabemos, multiplicaciones 00:32:43
divisiones y restos, como tiene la misma precedencia 00:32:45
de izquierda a derecha 00:32:47
y sumas y restas de izquierda a derecha también 00:32:48
entonces en este caso 00:32:51
haría primero esto 00:32:53
una vez que tiene el valor 00:32:55
3 de esto 00:32:57
haría esto de aquí, y una vez que 00:32:58
tiene el valor 4 de esto, pues ahora ya sí 00:33:01
haría la suma 00:33:03
lo único que lío un poco respecto a esto es 00:33:04
si metes una asignación 00:33:06
ahí, por ejemplo 00:33:09
claro, pero es que entonces lo tienes que hacer 00:33:10
pero es que entonces lo tienes que hacer antes 00:33:13
Claro, por ejemplo, con la expresión que teníamos antes. 00:33:14
A ver. 00:33:18
Es lo único que le digo, porque ahí se cambia el orden. 00:33:19
Me trae un i menos 9. 00:33:22
Claro, entonces aquí, por ejemplo, x más igual 7. 00:33:23
Vale. 00:33:30
Esto es una expresión perfectamente válida. 00:33:31
Recordad que el operador este más igual, menos igual, 00:33:35
se tiene que poner siempre afectando a una variable. 00:33:38
A una variable. 00:33:41
Vale. 00:33:43
Entonces, él va a los paréntesis, x menos 9, sin problema. 00:33:44
Aquí hay otro paréntesis y ve que hay una operación de suma, ¿vale? 00:33:51
Pero asignada a x. 00:33:56
Entonces, pues aquí ya este paréntesis lo interpreta como ya sabemos. 00:33:58
Se olvida del igual, hace la operación, que es x más 7 más 1, lo asigna a x, ¿vale? 00:34:02
Entonces aquí el valor 00:34:11
Que va a operar es 00:34:15
Esto es como haber puesto 00:34:16
El valor resultante va a ser el que tenía x de antes 00:34:17
Más 8, es el valor que va a obtener ahí 00:34:21
La máquina virtual 00:34:23
Y ese valor ya lo multiplicará con 6 después 00:34:24
¿Y el resto de x como las 20 cuentan ahora? 00:34:26
Con s porque va antes 00:34:31
Porque va de izquierda a derecha 00:34:32
Porque va de izquierda a derecha con s 00:34:33
De todas formas es buena pregunta 00:34:36
Pero claro, expresiones tan raras 00:34:38
Es difícil encontrar, entonces es buena pregunta 00:34:40
porque si lo ponemos aquí 00:34:42
esta X ya va a tener el valor 00:34:44
cambiado, pero si lo pusiéramos 00:34:46
aquí 00:34:48
esta 00:34:48
si lo pusiéramos aquí 00:34:51
para esta evaluación 00:34:54
la X tendría el valor viejo 00:34:56
entonces hay una diferencia 00:34:58
porque es de izquierda a derecha 00:35:00
aunque sea un paréntesis 00:35:02
claro, porque son paréntesis 00:35:03
pero los paréntesis también los va a ir diciendo de izquierda a derecha 00:35:05
o sea, la máquina virtual va secuencial 00:35:07
tiene que seguir un orden 00:35:09
Entonces, efectivamente, aquí esta x usaría el x más 8, pero si esto lo dejamos así, con lo que fuera, la expresión que fuera, y aquí pongo x menos igual 9, 00:35:10
esta x tiene el valor que tenía en ese punto, el que tuviera, pero después de haber hecho esta expresión, x se queda cambiado con menos 9, 00:35:29
se queda cambiado, y ahora esta 00:35:38
sí que utiliza el menos 9 00:35:39
¿vale? lo que pasa es que esto realmente 00:35:41
formar una expresión 00:35:44
que haga tantas cosas a la vez 00:35:46
cuidado, porque es difícil 00:35:48
que no te confundas 00:35:50
entonces es casi mejor 00:35:51
si quieres hacer una expresión rara 00:35:53
es casi mejor 00:35:56
indicarlo en líneas separadas 00:35:57
porque entonces va a quedar más claro el código 00:36:00
para el que lo haga 00:36:02
claro y para el que lo lea 00:36:03
porque si no se complica un poco 00:36:05
Pero sí, efectivamente esto es válido 00:36:07
Siempre y cuando uno tenga cuidado de que 00:36:09
¿Es esto lo que quieres hacer seguro? Sí, sí, sí 00:36:10
Vale, pues lo plantas y ya está 00:36:13
Vale 00:36:14
Bueno, entonces en cuanto a precedencia 00:36:16
De operadores, pues por ahora 00:36:19
Ahora mismo con los poquitos que conocemos 00:36:20
En general los aritméticos 00:36:23
Antes que los 00:36:26
De suma y resta 00:36:28
Y ya está, perdón, estoy llamando 00:36:30
Aritméticos a todos y son algebraicos 00:36:34
Los que son aritméticos son suma y resta, ¿verdad? 00:36:36
00:36:39
Los algebraicos son todos los de las operaciones 00:36:40
Del cuerpo de los enteros 00:36:43
Y los aritméticos son los de sumas y restas 00:36:44
Sí, vale, es que estoy usando mal 00:36:46
Esos términos 00:36:49
Vale 00:36:50
Creo 00:36:50
Sí, ¿verdad? 00:36:54
Vale 00:36:57
Bueno, pues a ver, seguimos con 00:36:57
Operadores 00:37:01
Nada, esto 00:37:02
Bueno, más ejemplitos de precedencia de sumas 00:37:04
Restas, nada 00:37:07
Esto es lo de la promoción 00:37:08
De nuevo vuelvo aquí a explicar 00:37:11
Lo de que si una expresión 00:37:12
Involucra decimales y enteros 00:37:15
El entero se va a decimal 00:37:17
O si involucra short e int 00:37:18
El short se va a int 00:37:21
¿Vale? 00:37:23
Vale, la promoción automática 00:37:28
El casting sería lo contrario 00:37:29
Forzar el cortado 00:37:31
Pero el casting todavía no lo hemos mencionado 00:37:33
Entonces bueno 00:37:35
Podéis aquí ignorarlo del casting 00:37:36
Porque si lo leéis os va a sonar que tiene sentido 00:37:38
Pero 00:37:41
Pero yo no voy a incidir en el ahora 00:37:41
Porque lo haremos más adelante 00:37:44
Vale, más operadores 00:37:46
Los que se llaman unarios 00:37:48
Porque afectan solo a una variable 00:37:51
No son nada 00:37:53
Son operadores aritméticos iguales 00:37:54
Una forma compactada de hacer esto 00:37:56
Nada más 00:37:57
Entonces los operadores unarios famosos no son nada 00:37:59
Dores más más 00:38:02
Y menos menos 00:38:11
vale 00:38:12
estos operadores 00:38:14
afectan solo a una 00:38:17
variable, vale 00:38:19
y son operadores que dentro 00:38:21
de ellos incluyen asignación 00:38:29
incluyen 00:38:31
una asignación 00:38:33
los demás operadores que hemos visto 00:38:34
la suma, la resta, la multiplicación 00:38:40
si yo luego quería asignar 00:38:41
tenía que hacer la asignación con el igual 00:38:43
silencio por ahí atrás 00:38:45
Estos de aquí incluyen la asignación, pero he puesto el igual ahí dentro, entonces lo veo claro que incluyen la asignación, ¿vale? O sea, esta expresión incluye la asignación, porque esta expresión es igual a esta, incluye la asignación. 00:38:49
Pues estos operadores también incluyen la asignación, es decir, esto es una asignación, aunque yo no vea el igual, claro, porque esto es exactamente igual a esto, x igual a x más 1, es decir, esto es una forma compacta de hacer la asignación de sumar 1 a una variable y volver a asignar el valor a esa misma variable. 00:39:02
Luego este operador incluye suma en 1 00:39:32
e incluye asignar otra vez, las dos cosas. 00:39:34
Le suma un 1 al valor que tuviera 00:39:40
y el resultado final se lo vuelve a asignar a x. 00:39:42
Es decir, esta expresión. 00:39:44
Y esto es la misma sentencia. 00:39:47
La misma. 00:39:49
La sentencia de arriba y la de abajo 00:39:50
son dos sentencias de asignación. 00:39:51
Aunque aquí no vemos el igual. 00:39:53
Es una asignación igualmente, que es la de abajo. 00:39:55
Entonces, como sumar 1 a una variable 00:39:58
o restarle 1 00:39:59
es algo que se hace a menudo porque en un programa 00:40:01
contar es habitual 00:40:04
y contar es de uno en uno 00:40:06
normalmente, pues como en un programa 00:40:08
muchas veces tenemos que contar 00:40:10
sumar 1 varias veces 00:40:11
pues por eso es un operador que se usa 00:40:13
mucho 00:40:16
e igual que está 00:40:16
el más más, está el menos menos 00:40:20
esto también es 00:40:21
una resta 00:40:23
y una asignación 00:40:26
También tiene la asignación 00:40:27
Esto es igual a esto de aquí 00:40:29
X igual a 00:40:32
X menos 1 00:40:36
¿Vale? 00:40:37
Esto es una asignación también 00:40:39
¿Vale? 00:40:41
Entonces esto sí que 00:40:49
Se usa muchísimo 00:40:51
Cuando uno quiere sumar 1 o restar 1 00:40:53
A una variable y modificar su valor 00:40:56
Claro, modificar su valor 00:40:58
Sí que usa uno siempre esto 00:40:59
porque esto es mucho más claro 00:41:03
que la expresión incluso 00:41:05
vale, entonces esto sí que se usa mucho 00:41:06
bueno, pues 00:41:09
al igual que podíamos 00:41:12
meter el más igual en expresiones 00:41:14
más grandes, podíamos meterla 00:41:17
también podemos meter el 00:41:18
más más o el menos menos en expresiones más grandes 00:41:20
y no nos tiene que asustar y de hecho muchas veces 00:41:23
lo usamos, por ejemplo vamos a hacer otra variable 00:41:26
para que 00:41:28
y vamos a imaginar que yo ahora le hago 00:41:29
X igual a 00:41:32
X más más 3 00:41:34
Menos 00:41:37
Sí, menos, menos, menos 00:41:38
Para complicaros la vida 00:41:41
Para que lo veáis raro 00:41:43
¿Vale? 00:41:46
Ah, es que me faltaba un más 00:41:51
Claro, tontería 00:41:56
Entonces 00:41:57
¿Vosotros veis esta expresión y decís, joder, qué fea? 00:42:01
Vale 00:42:06
Pues sí, a ver 00:42:06
Es fea 00:42:08
A ver, que tengo aquí 00:42:11
Programas abiertos o qué 00:42:12
Ah, no, vale 00:42:14
Es fea, pero primero 00:42:15
Es fea 00:42:19
Porque yo 00:42:21
Está muy bien escrita y para Java es perfecta 00:42:23
Y compila perfectamente 00:42:26
Pero es 00:42:27
Sí, pero es fea a los ojos 00:42:28
Porque yo no he seguido un código de estilo bonito 00:42:30
No la he escrito bonita 00:42:34
Entonces es fea a los ojos y no se entiende bien 00:42:35
a que entendéis mejor esto 00:42:36
si yo le pongo aquí un espacio 00:42:39
y ahora le pongo aquí un espacio 00:42:40
ahora lo entendéis mejor, es lo mismo 00:42:41
porque para Java los espacios no existen 00:42:45
pero esta 00:42:47
expresión, ahora ya el que la lee 00:42:49
la entiende un poco mejor 00:42:51
¿pero primero hace las asignaciones? 00:42:53
sí, no 00:42:55
no, a ver, esto sería 00:42:58
a la hora de interpretarlo 00:43:01
es similar, digo similar porque no es igual 00:43:02
precisamente por el orden que digo yo, cuando nosotros hemos hecho esto antes, x más igual 2 y menos igual 7, por ejemplo, perdón, y más y menos igual, bueno, claro, es que como tengo aquí el, voy a quitar esto, el otro, es igual a 7 menos 6, vale, me falta un paréntesis ahí, vale, vamos a dejarlo así para que no quede tan raro, vale, 00:43:04
Entonces, cuando 00:43:35
Me ha faltado una llave en algún sitio 00:43:37
¿Dónde me sale el rojo? 00:43:44
Me va a faltar una llave en algún lado 00:43:49
A ver, un momento 00:43:51
Porque la tenía declarada de antes 00:43:54
Ah, el rojo 00:44:04
Ah, es que como estaba justo el amarillo 00:44:05
No veía el rojo ahí 00:44:06
Vale, vale, vale 00:44:07
Vale, con el código así tan grande 00:44:09
Vale, bueno, pues entonces 00:44:11
Nosotros ya cuando hemos usado antes esta expresión 00:44:13
Ya hemos visto que no pasa nada 00:44:17
Hemos visto de repente un operador más igual 00:44:18
Ah, vale, pues esto significa 00:44:21
Que a x 00:44:23
Como yo he visto un igual 00:44:25
Ojo, a x 00:44:26
Le vamos a sumar el 2 00:44:29
Y ahora ya se lo asignamos a x 00:44:30
Y ahora ya con esa x le sumamos 3 00:44:32
Luego le quitamos lo que valiera y 00:44:35
Y luego le quitamos lo que valiera 6 00:44:37
¿Vale? 00:44:39
Vale 00:44:44
entonces, pues esto es lo mismo 00:44:44
que si usamos esto 00:44:47
exactamente igual 00:44:49
pero 00:44:50
sí, pero me refiero que la idea es la misma 00:44:52
aquí yo automáticamente veo 00:44:54
que a x tengo que asignarle algo 00:44:57
que tengo que asignarle 00:44:58
algo, ¿vale? porque esto 00:45:01
es igual, como si hubiera 00:45:03
puesto x más igual 1 00:45:04
¿verdad? es lo mismo, como si hubiera 00:45:06
puesto x más igual 1 00:45:09
vale, pero aquí sí que hay 00:45:10
un matiz, aquí sí que 00:45:13
hay un matiz importante 00:45:15
con el x más y bueno ya sabemos cómo funciona 00:45:16
al x yo le sumaría un 1 00:45:19
ese valor se lo doy a x y sigo operando 00:45:21
vale, pero yo 00:45:23
pongo el x más más 00:45:25
este sumar 1 y asignarlo a x 00:45:26
se hace después 00:45:30
de haber usado el valor de x 00:45:32
porque este operador más más 00:45:34
en realidad se llama 00:45:39
post incremento 00:45:40
ahora después del cambio 00:45:42
lo revisamos, justo 00:45:44
eso 00:45:46
tú de repente ves una expresión 00:45:48
con variables, números variables 00:45:50
y resulta que una de ellas 00:45:52
o dos, como por ejemplo esta, que lo tenía antes puesto 00:45:53
tiene el operador 00:45:56
un segundo, tiene el operador, tú ves que tiene el operador 00:45:57
vale, te olvidas de 00:46:00
me olvido de este 00:46:02
me olvido de este 00:46:04
hago la expresión como si no existieran 00:46:05
vale, hago la expresión como si no existieran 00:46:08
como si no existieran, así 00:46:11
Y una vez que ya he hecho la expresión, he dado el valor en este caso a x, etc. Una vez que yo ya he hecho la expresión, esta de aquí, ahora ya como paso final, la máquina virtual hará el sumar uno a este y hará el restar uno a este. 00:46:14
Como paso final 00:46:33
Después de haber evaluado la expresión 00:46:35
Como si esto no existiera 00:46:38
¿Vale? Por eso se llama 00:46:39
Post incremento 00:46:41
Porque incrementa después 00:46:43
Incrementa después 00:46:45
¿Vale? Incrementa después 00:46:46
Vale 00:46:49
Que queremos que incremente antes 00:46:53
Porque nos apetece a nosotros que primero 00:46:55
Incremente o primero decremente 00:46:57
Y luego lo haga 00:47:00
Lo ponemos delante 00:47:01
¿Vale? 00:47:03
Que yo quiero cambiar el funcionamiento 00:47:10
Pues lo haces con el más igual, ¿no? 00:47:12
No, lo pongo antes 00:47:16
Más más X 00:47:18
Eso, lo pongo antes 00:47:21
Y ahí sí que te lo asigna primero 00:47:23
Y ahí, cuando yo veo este operador 00:47:24
Que es el predecremento 00:47:27
Que va justo antes 00:47:28
¿Qué hago? Primero 00:47:29
Hago la operación 00:47:31
Y me voy a todos los que tengan 00:47:33
Predecremento, hago la operación 00:47:35
Y una vez que la x se ha decrementado 00:47:37
Y una vez que la y se ha decrementado 00:47:40
Ya evalúo la expresión con esos valores 00:47:42
Decrementados, y el valor resultante va a la x 00:47:44
¿Vale? 00:47:46
Claro, entonces 00:47:49
Este operador 00:47:50
El más más menos menos 00:47:51
Pues uno lo pone después 00:47:54
Lo pone delante en función del efecto que quiera conseguir 00:47:56
Como quiera usarlo, etc 00:47:58
Pero aunque vaya dentro de un paréntesis lo hace después 00:47:59
Después de haber acabado 00:48:02
Claro, si esto fuera 00:48:04
Así por ejemplo 00:48:07
No, no, es que 00:48:10
Es igual, claro 00:48:23
Si tú pones el paréntesis 00:48:25
Él va a evaluar esta expresión 00:48:26
Entonces, va a evaluar la expresión 00:48:29
X más 3 00:48:32
Y una vez que ha terminado de evaluar la expresión 00:48:33
Hace la suma 00:48:35
De este 00:48:37
La expresión completa, primero hace 00:48:38
El x más 3, luego hace el menos y 00:48:40
Menos 6 y luego ya hace el más 00:48:43
Exacto, claro 00:48:45
Aunque esté dentro del paréntesis 00:48:46
Al posincremento 00:48:48
No incluye el paréntesis 00:48:51
No al posincremento 00:48:52
Claro, después de haberla usado 00:48:55
El posincremento lo hace después de que 00:48:56
La ha usado para evaluar la expresión 00:48:59
En la que está involucrada, después de usarla 00:49:01
Hace el más más 00:49:03
¿Vale? Porque podría haber otro 00:49:04
Más, más por aquí 00:49:06
Más x, más, más 00:49:07
¿Vale? Entonces 00:49:10
Esto, de nuevo complicaría las cosas 00:49:15
Evaluaría esta expresión 00:49:18
x más 3 00:49:20
A x le suma 1 00:49:21
¿Vale? Entonces 00:49:22
Ahora aquí, para evaluar esto 00:49:25
Tendría el x con 00:49:27
Ya el 1 sumado 00:49:29
Y luego lo vuelve a dejar incrementado otra vez 00:49:30
En los dos finales sería como haberle sumado 2 00:49:33
¿Vale? 00:49:35
Toda la operación lo hace cuando termina su paréntesis. 00:49:37
Eso. 00:49:40
Como el más igual de aquí, que, bueno, no sé dónde estaba la expresión, 00:49:41
que lo iba haciendo según acaba la evaluación, ¿vale? 00:49:47
Entonces, de esa manera, pues, bueno, uno puede complicar, 00:49:50
hacer expresiones muy complicadas, pero la idea es que las cosas estén claras. 00:49:52
Que uno, mejor que lo deje en líneas separadas antes que dejar una expresión 00:49:56
que no también demos muy claro que puede surgir. 00:50:01
Porque de ahí nos puede salir un efecto secundario extraño, ¿vale? 00:50:03
vale, vamos a parar aquí un momentito 00:50:06
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
15
Fecha:
26 de septiembre de 2024 - 17:11
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
50′ 11″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
202.53 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid