• Skip to primary navigation
  • Skip to content

Mauda

IT, Java and Music

Graduação   SCJP   Mestrado
  • Apresentação
  • Certificação Java
  • JPA
    • Exceptions
  • JSF
  • Versionamento
  • Contato

Operadores no Java – Atribuição de Bitwise – Parte 2

January 23, 2017 by Mauda Leave a Comment

Conteúdo do Post:
  1. Operadores de Atribuição
  2. Combinando com Operadores Bitwise
  3. Precedência dos Operadores
  4. finnaly{

Olá Pessoal, tudo bom?

Esse é o penúltimo post relacionado a parte de Operadores no Java. Ele é um post complemento aos operadores de atribuição, pois naquele momento falamos apenas sobre as atribuições com operadores aritméticos. Nessa nova parte iremos complementar com os outros operadores existentes que podem ser utilizados junto com a atribuição no caso de hoje os operadores Bitwise. A décima quinta parte desse artigo se encontra aqui. Confira na continuação desse artigo sobre os operadores de atribuição Bitwise:

Operadores de Atribuição

Forma de você atribuir valores a um determinado endereço de memória representado em uma variável. Maiores detalhes veja aqui.

Combinando com Operadores Bitwise

Outro aspecto do operador de atribuição é que ele pode ser combinado com os operadores Bitwise binários (os unitários não podem ser combinados), pois a operação flag = flag & bitmask, pode ser reescrita como flag &=bitmask.

Operador Descrição
&= Operador Bitwise para operações Bitwise do tipo AND
|= Operador Bitwise para operações Bitwise do tipo inclusive OR
^= Operador Bitwise para operações Bitwise do tipo exclusive OR

Dessa forma podemos reescrever o código dos posts relacionados aos operadores bitwise da seguinte forma:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package br.com.mauda.operadores;
 
public class OperadoresAtribuicao2 {
 
    public static void main (String[] args) {
        //Bitwise AND
        int bitmask = 0x000F; //Em binario 0000 0000 0000 1111
        int flag    = 0x2222; //Em binario 0010 0010 0010 0010
                              //           ===================
                              //Em binario 0000 0000 0000 0010
        flag &= bitmask;
        System.out.println("Resultado da operacao bitwise AND: " + flag);
        //Bitwise Inclusive OR
        bitmask = 0x000F;     //Em binario 0000 0000 0000 1111
        flag    = 0x2222;     //Em binario 0010 0010 0010 0010
                              //           ===================
                              //Em binario 0010 0010 0010 1111
        flag |= bitmask;
        System.out.println("Resultado da operacao bitwise Inclusive OR: " + flag);
        //Bitwise Exclusive OR
        bitmask = 0x000F;     //Em binario 0000 0000 0000 1111
        flag    = 0x2222;     //Em binario 0010 0010 0010 0010
                              //           ===================
                              //Em binario 0010 0010 0010 1101
        flag ^= bitmask;
        System.out.println("Resultado da operacao bitwise Exclusive OR: " + flag);
    }
}

Perceba que as linhas grifadas foram alteradas para o novo formato. O resultado final permanece inalterado:

O resultado da execução dessa classe será o seguinte:

Java
1
2
3
Resultado da operacao bitwise AND: 2
Resultado da operacao bitwise Inclusive OR: 8751
Resultado da operacao bitwise Exclusive OR: 8749

Precedência dos Operadores

Finalizando a tabela de precedência de operadores com os últimos operadores agregados com a atribuição na última posição da tabela:

Ordem Tipo de Operador Precedência
1 Pós Fixo expr++   expr–
2 Pré fixo e Unário    ++expr   –expr   +expr   -expr   ~   !
3 Multiplicativo *    /    %
4 Aditivo +    –
5 Shift <<   >>  >>>
6 Relacional >    >=    <=   <    instanceof
7 Igualdade ==    !=
8 Bitwise AND &
9 Bitwise exclusive OR ^
10 Bitwise inclusive OR |
11 AND Lógico &&
12 OR Lógico ||
13 Ternário ? :
14 Atribuição =   +=   -=   *=   /=   %=  &=  ^=  |=

finnaly{

Duvidas ou sugestões? Deixe seu feedback! Isso ajuda a saber a sua opinião sobre os artigos e melhorá-los para o futuro! Isso é muito importante!

Até um próximo post!

Filed Under: Java, Operadores Tagged With: AND, atribuição, bitwise, byte, char, Exclusive OR, Inclusive OR, int, long, short, XOR

About Mauda

Mestre em Informática, Analista de Sistemas, Professor, SCJP e Baterista. Desde 2002 trabalhando no mundo Java e ensinando pessoas sobre desenvolvimento de sistemas. Mais informações

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisements

Copyright © 2025 · Genesis Framework · WordPress · Log in