Operadores aritméticos

São os utilizados para a realização de operações matemáticas simples como a soma, diferença ou multiplicação. Em javascript são os seguintes:

+ Soma de dois valores
- Diferença de dois valores, também se pode utilizar para mudar o sinal de um número se o utilizamos com um só operando -23
* Multiplicação de dois valores
/ Divisão de dois valores
% O resto da divisão de dois números (3%2 devolveria 1, o resto de dividir 3 entre 2)
++ Incremento em uma unidade, se utiliza com um só operando
-- Decremento em uma unidade, utilizado com um só operando

Exemplos
preço = 128 //introduzo um 128 na variável preço
unidades = 10 //outra atribuição, logo veremos operadores de atribuição
fatura = preço * unidades //multiplico preço por unidades, obtenho o valor fatura
resto = fatura % 3 //obtenho o resto de dividir a variável fatura por 3
preço++ //incrementa em uma unidade o preço (agora vale 129)

Operadores de atribuição

Servem para atribuir valores às variáveis, já utilizamos em exemplos anteriores o operador de atribuição =, mas existem outros operadores deste tipo, que provém da linguagem C e que muitos dos leitores já conhecerão.

= Atribuição. Atribui a parte da direita do igual à parte da esquerda. À direita se colocam os valores finais e à esquerda geralmente se coloca uma variável onde queremos salvar o dado.
+= Atribuição com soma. Realiza a soma da parte da direita com a da esquerda e salva o resultado na parte da esquerda.
-= Atribuição com diferença
*= Atribuição da multiplicação
/= Atribuição da divisão
%= Se obtém o resto e se atribui

Exemplos
poupança = 7000 //atribui um 7000 à variável poupança
poupança += 3500 //incrementa em 3500 a variável poupança, agora vale 10500
poupança /= 2 //divide entre 2 minha poupança, agora ficam 5250

 

 

Operadores de cadeias

As cadeias de caracteres, ou variáveis de texto, também têm seus próprios operadores para realizar ações típicas sobre cadeias. Apesar do javascript ter somente um operador para cadeias se podem realizar outras ações com uma série de funções pré-definidas na linguagem que veremos mais adiante.

+ Concilia duas cadeias, pega a segunda cadeia a seguir da primeira.

Exemplo
cadeia1 = "ola"
cadeia2 = "mundo"
cadeiaConciliada = cadeia1 + cadeia2 //cadeia conciliada vale "olamundo"

Um detalhe importante que pode ser visto neste caso, é que o operador + serve para dois usos distintos, se seus operandos são números, os soma, mas se se trata de cadeias, as concilia. Isto ocorre em geral com todos os operadores que se repetem na linguagem, javascript é suficientemente esperto para entender que tipo de operação realizar mediante uma comprovação dos tipos que estão implicados nela.

Um caso que seria confuso é o uso do operador + quando se realiza a operação com operadores texto e numéricos misturados. Neste caso javascript assume que se deseja realizar uma conciliação e trata aos dois operandos como se tratasse de cadeias de caracteres, inclusive se a cadeia de texto que temos for um número. Isto veremos mais facilmente com o seguinte exemplo.

meuNumero = 23
minhaCadeia1 = "pedro"
minhaCadeia2 = "456"
resultado1 = meuNumero + minhaCadena1 //resultado1 vale "23pedro"
resultado2 = meuNumero + minhaCadeia2 //resultado2 vale "23456"
minhaCadeia2 += meuNumero //minhaCadena2 agora vale "45623"

Como podemos ver, também no caso do operador +=, se estamos tratando com cadeias de texto e números misturados, tratará aos dois operadores como se fossem cadeias.

 

Operadores lógicos

Estes operadores servem para realizar operações lógicas, que são aquelas que dão como resultado um verdadeiro ou um falso, e se utilizam para tomar decisões em nossos scripts. Ao invés de trabalhar com números, para realizar este tipo de operações se utilizam operandos boleanos, que conhecemos anteriormente, que são o verdadeiro (true) e o falso (false). Os operadores lógicos relacionam os operandos boleanos para dar como resultado outro operando boleano, tal como podemos ver no seguinte exemplo.

Se tenho fome e tenho comida, então irei comer

Nosso programa javascript utilizaria neste exemplo um operando boleano para tomar uma decisão. Primeiro irá ver se tenho fome, se é certo (true) irá ver se disponho de comida. Se são os dois são certos, poderá comer. No caso de que não tenha comida ou de que não tenha fome não comeria, assim como se não tenho fome nem comida. O operando em questão é o operando Y, que valerá verdadeiro (true) no caso de que os dois operandos sejam verdadeiros.

! Operador NO ou negação. Se é true passa a false e vice-versa.
&& Operador Y, se são os dois verdadeiros vale verdadeiro.
|| Operador O, vale verdadeiro se pelo menos um deles for verdadeiro.

Exemplo
meuBoleano = true
meuBoleano = !meuBoleano //meuBoleano agora vale false
tenhofome = true
tenhoComida = true
comoComida = tenhoFome && tenhoComida

 

Operadores condicionais

Servem para realizar expressões condicionais mais complexas que desejarmos. Estas expressões se utilizam para tomar decisões em função da comparação de vários elementos, por exemplo, se um número é maior que outro ou se são iguais. Os operadores condicionais se utilizam nas expressões condicionais para tomar decisões. Como estas expressões condicionais serão objeto de estudo mais adiante será melhor descrever os operadores condicionais mais adiante. De qualquer forma, aqui podemos ver a tabela de operadores condicionais.

== Comprova se dois números são iguais
!= Comprova se dois números são distintos
> Maior que, devolve true se o primeiro operador for maior que o segundo
< Menor que, é true quando o elemento da esquerda for menor que o da direita
>= Maior igual.
<= Menor igual

 

Operadores a nível de bit

Estes são muito pouco correntes e é possível que você nunca chegue a utilizá-los. Seu uso se realiza para efetuar operações com zeros e uns. Tudo o que maneja um computador são zeros e uns, a pesar de nós usarmos números e letras para nossas variáveis na verdade estes valores estão escritos internamente em forma de zeros e uns. Em alguns casos, poderemos necessitar realizar operações tratando as variáveis como zeros e uns, e para isso, utilizaremos estes operandos. Nesta manual se tornaria um pouco extenso demais se realizássemos uma discussão sobre este tipo de operadores, mas aqui você poderá ver estes operadores por acaso algum dia fizer falta.

& Y de bits
^ Xor de bits
| O de bits
<< >> >>> >>>= >>= <<= Várias classes de mudanças

 

Precedência dos operadores

A avaliação de uma sentença das que vimos nos exemplos anteriores é bastante simples e fácil de interpretar, mas quando em uma sentença entram em jogo uma infinidade de operadores diferentes pode haver uma confusão na hora de interpretá-la e avaliar quais operadores são os que se executam antes que outros. Para marcar umas pautas na avaliação das sentenças e que estas se executem sempre igual e com sentido comum existe a precedência de operadores, que não é mais que a ordem pela qual se irão executando as operações que eles representam. À princípio todos os operadores se avaliam da esquerda para a direita, mas existem umas normas adicionais, pelas quais determinados operadores se avaliam antes que outros. Muitas destas regras de precedência foram tiradas das matemáticas e são comuns a outras linguagens, podemos vê-las a seguir.

() [] . Parêntesis, colchetes e o operador ponto que serve para os objetos
! - ++ -- negação, negativo e incrementos
* / % Multiplicação, divisão e módulo
+- Soma e diferença
<< >> >>> Mudanças a nível de bit
< <= > >= Operadores condicionais
== != Operadores condicionais de igualdade e desigualdade
& ^ | Lógicos a nível de bit
&& || Lógicos boleanos
= += -= *= /= %= <<= >>= >>>= &= ^= != Atribuição

Nos seguintes exemplos podemos ver como as expressões poderiam chegar a ser confusas, mas com a tabela de precedência de operadores poderemos entender sem erros qual é a ordem pela qual se executam.

12 * 3 + 4 - 8 / 2 % 3

Neste caso, primeiro se executam os operadores * / y %, da esquerda a direita, com o qual se realizariam estas operações. Primeiro a multiplicação e logo a divisão por estar mais à esquerda do módulo.

36 + 4 - 4 % 3

Agora o módulo.

36 + 4 - 1

Por último as somas e as diferenças da esquerda para direita.

40 - 1

39

De qualquer forma, é importante se dar conta que o uso dos parênteses pode nos economizar muitos quebra-cabeças e, sobretudo, a necessidade de sabermos de memória a tabela de precedência dos operadores. Quando virmos pouco claro a ordem com a qual se executarão as sentenças podemos utilizá-las e assim, forçar que se avalie antes o pedaço da expressão que se encontra dentro dos parênteses.


Hosted by www.Geocities.ws

1