Especialização em Sistemas com Java 21 LTS • Capítulo 04


🗺️ Mapa Conceitual do Tópico

flowchart LR
    A["Dados Textuais / Bits"] --> B["Operadores Bitwise (&, |, ^, <<, >>)"]
    A --> C["Classe String (Imutável, String Pool)"]
    A --> D["StringBuilder (Mutável para Alta Performance)"]
    B --> E["Controle de Flags Binárias"]
    C & D --> F["Sanitização e Text Blocks (Java 15/21)"]
    
    style A fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
    style E fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
    style F fill:#ede7f6,stroke:#7e57c2,stroke-width:2px

🔢 1. Operadores Bitwise e Máscaras de Bits

Operações bit a bit (&, |, ^, ~, <<, >>) manipulam diretamente os bits de representação inteira, sendo ideais para controle de permissões e processamento de protocolos de telemetria.


🔤 2. Manipulação de Strings, Imutabilidade e StringBuilder

  • Imutabilidade: Objetos String em Java são imutáveis e gerenciados no String Pool da JVM.
  • StringBuilder: Para concatenações dentro de laços intensivos, deve-se utilizar StringBuilder para evitar a criação excessiva de objetos descartáveis no Heap.
  • Text Blocks ("""): Introduzidos no Java 15+, permitem strings multilinhas limpas e sem caracteres de escape repetitivos.

💻 Exemplo Prático e Compilável em Java 21

// Exemplo04StringsBitwise.java - Flags de Acesso e StringBuilder
package com.empresa.fundamentos;

public class Exemplo04StringsBitwise {

    public static final int PERM_LEITURA  = 1 << 0; // 0001 (1)
    public static final int PERM_ESCRITA  = 1 << 1; // 0010 (2)
    public static final int PERM_EXECUCAO = 1 << 2; // 0100 (4)

    public static void main(String[] args) {
        int perfilDev = PERM_LEITURA | PERM_EXECUCAO; // 0101 (5)

        StringBuilder sb = new StringBuilder();
        sb.append("Relatório de Permissões:
");
        sb.append(String.format("  * Leitura  : %b
", (perfilDev & PERM_LEITURA) != 0));
        sb.append(String.format("  * Escrita  : %b
", (perfilDev & PERM_ESCRITA) != 0));
        sb.append(String.format("  * Execução : %b
", (perfilDev & PERM_EXECUCAO) != 0));

        System.out.println(sb.toString());
    }
}

🔗 Recursos Pedagógicos do Capítulo 04

Recurso Didático Finalidade Link de Acesso
📊 Slides de Aula Apresentação visual interativa com Dark Mode e suporte a teclado Ver Slides
🧠 Quiz Formativo Teste interativo de fixação com feedback imediato por alternativa Fazer Quiz
💻 Exemplos de Código Demonstrações funcionais compiláveis com saída no console Ver Exemplos
🧩 Exercícios em 4 Níveis Lista progressiva de fixação com gabarito em bloco colapsável Resolver Exercícios

🔁 Capítulo Anterior 📚 Sumário de Tópicos 🏛️ Próximo Capítulo