Operadores – parte X – Operadores de precedência e associatividade

Nem todas as regras obedecem à mesma ordem de precedência. Podendo, algumas vezes, uma operação ser realizada fora de ordem. Este problema pode ser resolvido de duas maneiras: usando parênteses para indicar quais operações deve ser realizada em primeiro lugar, ou usando um conjunto de regras pré-definidas de precedência.

Mesmo estabelecendo a prioridade de uma determinada operação, ainda faltaria uma coisa importante: como vamos decidir a ordem que as operações serão executadas quando possuírem a mesma precedência? Isto será determinado por uma operação da associatividade, que podem ser esquerda (onde as operações serão realizadas da esquerda pra direita), direita (onde as operações serão executadas da direita pra esquerda) ou nenhum (para as operações que não podem se associar).  A tabela a seguir mostra a precedência e a associatividade de cada operação:

Esquerda [
Não associada ++ -
Não associada ! ˜ – (int) (float) (string) (array) (object) @
Esquerda * / %
Esquerda + – .
Esquerda <<  >>
Não associada <  <=  >  >=
Não associada == != === !==
Esquerda &
Esquerda ^
Esquerda |
Esquerda &&
Esquerda ||
Esquerda ? :
Direita = += -= *= /= .= %= &= |= ˆ= <<= >>=
Esquerda and
Esquerda xor
Esquerda or
Esquerda ,

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*


Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree