20240926 ProgrEstruct.Operad_1 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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
00:05:28
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
Sí
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
6
00:41:42
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
00:42:56
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