Combinación eficaz de operadores (Visual Basic)
Las expresiones complejas pueden contener muchos operadores distintos. Esto se ilustra en el siguiente ejemplo:
x = (45 * (y + z)) ^ (2 / 85) * 5 + z
Para crear expresiones complejas, como la del ejemplo anterior, es necesario un conocimiento sólido de las reglas de prioridad de operadores. Para obtener más información, consulte Operator Precedence in Visual Basic (Prioridad de operadores en Visual Basic).
Expresiones entre paréntesis
Con frecuencia querrá hacer operaciones en un orden distinto al que la prioridad de operadores establece. Considere el ejemplo siguiente.
x = z * y + 4
En el ejemplo anterior se multiplica z
por y
y, a continuación, se suma el resultado a 4
. Pero si desea sumar y
y 4
antes de multiplicar el resultado por z
, puede invalidar la prioridad normal de operadores por medio del paréntesis. Las expresiones entre paréntesis se calculan en primer lugar, independientemente de la prioridad de operadores. Para que en el ejemplo anterior se haga primero la suma, podría volver a formularla como en el siguiente ejemplo.
x = z * (y + 4)
En el ejemplo anterior se suma y
y 4
y, a continuación, multiplica esa suma por z
.
Expresiones entre paréntesis anidadas
Puede anidar expresiones en varios niveles de paréntesis para ir más lejos al invalidar la prioridad. Las expresiones que están más profundamente anidadas se calculan en primer lugar, seguidas de las siguientes y, así sucesivamente, hasta que se calculan las expresiones que no están entre paréntesis. Esto se ilustra en el siguiente ejemplo:
x = (z * 4) ^ (y * (z + 2))
En el ejemplo anterior, se calcula primero z + 2
y, a continuación, las otras expresiones entre paréntesis. La exponenciación, que normalmente tiene una mayor prioridad que las sumas y multiplicaciones, en este ejemplo se calcula en último lugar porque las otras expresiones se incluyen entre paréntesis.