Hola,
Antes que nada, este es un tema que se trata en cualquier lenguaje de programación, elegí este foro porque es el más activo.
Nuestra profesora de Desarrollo de Software II (Java) nos ha puesto una tarea de identificar qué tipo de expresiones son las presentadas y qué valor imprimen.
Los tipos de expresiones que ella colocó son: "ASIGNACIÓN", "ASIGNACIÓN-EVALUACIÓN" y "LÓGICA".
Para mí las expresiones lógicas son las que llevan AND (&&), OR (||), NOT(!) o que retornan un tipo booleano (TRUE, FALSE).
Pero, ¿cuáles creen que son las diferencias entre 'ASIGNACIÓN' y 'ASIGNACIÓN-EVALUACIÓN'?
Aquí coloco algunas de las expresiones que las profesora nos colocó:
1. $b = ($x = 5) == ($y = -5);
R: FALSE
2. $x = 0; $z = --$x;
R: -1
3. $x=10; $y=($x %= 3);
R: 1
Entonces, la 1. entiendo yo que es una expresión lógica, la 3. es un operador con asignación, ¿será esa la "asignación-evaluación"? ¿Qué opinan ustedes?
Muchas gracias de antemano,
Saludos.