terça-feira, 17 de setembro de 2013

Operadores lógicos AND(&&, &), OR(||,|) XOR(^)

Operadores lógicos são operadores utilizados quando existe a necessidade de se comparar mais de uma condição.
Estes operadores são aplicáveis somente entre operadores booleanos.
Quando utilizamos estes operadores é sempre realizada uma avaliação da primeira condição. Caso este resultado seja conhecido, a avaliação da segunda condição não será realizada.
AND(&&)
Se uma das condições for false, o resultado de AND será falso. Então, caso a primeira condição seja falsa a segunda condição não será avaliada.
Exemplo:
boolean meuBooleanAnd1 = 1==2 && 2==2;// retorna falso na primeira condição e não realiza a segunda. Tem como resultado false.
OR(||)
Se uma das condições for verdadeira, então o resultado do OR será verdadeiro. Então, caso a primeira instrução seja verdadeira a segunda não será avaliada.
Exemplo:
boolean meuBooleanOr1 = 1==1 || 2==1; retorna true na primeira condição e não realiza a segunda. Tem como resultado false.
Vamos à prática:
class OperadorLogicosAndOr{
            public static void main(String args[]){     
                        boolean meuBooleanAnd1 = 1==2 && 2==2;
                        boolean meuBooleanOr1 = 1==1 || 2==1          
                        System.out.println("meuBooleanAnd1 " + meuBooleanAnd1);
                        System.out.println("meuBooleanOr1 " + meuBooleanOr1);  
            }
}


Operadores bit a bits (&, ^ e |)

Operadores de bits são aplicáveis a tipos inteiros e booleanos.
O resultado de uma operação entre bits é calculado comparando-se os operadores de bit.
& AND
Diferentemente do && o & compara bit a bit e no caso do & sempre é avaliado a segunda expressão mesmo a primeira sendo false.
Exemplo:
boolean meuBoolean1 = 1==2 & 1==1; retorna false na primeira expressão, mas mesmo assim executa a segunda. Resultado final false;
| OR
Diferentemente do || o | compara bit a bit e no caso do | sempre é avaliado a segunda expressão mesmo a primeira sendo true.
Exemplo:
boolean meuBoolean2 = 1==1 | 1==2; retorna true na primeira expressão, mas mesmo assim executa a segunda. Resultado final true;
^ XOR
O XOR conhecido como eXclusive Or faz com que uma expressão seja true somente se e somente um dos lados for verdadeiro.
Exemplo:
boolean meuBoolean3 = 1==1 ^ 1==2; retorna true na primeira expressão, e false na segunda dando como resultado final true;
boolean meuBoolean4 = 1==1 ^ 1==1; retorna true na primeira expressão, e true na segunda dando como resultado final false; O XOR só permite que uma expressão seja verdadeira e as outras falsas.
Vamos à prática:
class OperadorBits{
            public static void main(String args[]){
                        boolean meuBoolean1 = 1==2 & 1==1;
                        boolean meuBoolean2 = 1==1 | 1==2;
                        boolean meuBoolean3 = 1==1 ^ 1==2;
                        boolean meuBoolean4 = 1==1 ^ 1==1;             
                        System.out.println("meuBoolean1 " + meuBoolean1);
                        System.out.println("meuBoolean2 " + meuBoolean2);
                        System.out.println("meuBoolean3 " + meuBoolean3);
                        System.out.println("meuBoolean4 " + meuBoolean4);           
            }
}



Até o próximo post.

Nenhum comentário:

Postar um comentário