Combinação eficiente de operadores (Visual Basic)
Expressões complexas podem conter muitos operadores diferentes. O exemplo a seguir ilustra isso.
x = (45 * (y + z)) ^ (2 / 85) * 5 + z
Criar expressões complexas como a do exemplo anterior requer uma compreensão completa das regras de precedência do operador. Para obter mais informações, consulte Precedência do operador no Visual Basic.
Expressões entre parênteses
Muitas vezes, você deseja que as operações prossigam em uma ordem diferente daquela determinada pela precedência do operador. Considere o seguinte exemplo.
x = z * y + 4
O exemplo anterior multiplica z
por y
, e adiciona o resultado a 4
. Mas se você quiser adicionar y
e 4
antes de multiplicar o resultado por z
, você pode substituir a precedência normal do operador usando parênteses. Ao colocar uma expressão entre parênteses, você força essa expressão a ser avaliada primeiro, independentemente da precedência do operador. Para forçar o exemplo anterior a fazer a adição primeiro, você pode reescrevê-lo como no exemplo a seguir.
x = z * (y + 4)
O exemplo anterior adiciona y
e 4
, em seguida, multiplica essa soma por z
.
Expressões entre parênteses aninhadas
Você pode aninhar expressões em vários níveis de parênteses para substituir ainda mais a precedência. As expressões mais profundamente aninhadas entre parênteses são avaliadas primeiro, seguidas pelas próximas mais profundamente aninhadas, e assim por diante até as menos profundamente aninhadas e, finalmente, as expressões fora dos parênteses. O exemplo a seguir ilustra isso.
x = (z * 4) ^ (y * (z + 2))
No exemplo anterior, z + 2
é avaliado primeiro, depois as outras expressões entre parênteses. A exponenciação, que normalmente tem maior precedência do que a adição ou a multiplicação, é avaliada em último lugar neste exemplo porque as outras expressões estão entre parênteses.