0Pricing
Java Academy · Aula

Indentação e Remoção

Controle os espaços em branco incidentais

Indentação e Remoção é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.

Espaços em branco incidentais versus essenciais

Quando você aplica indentação a um bloco de texto para alinhá-lo ao seu código, essa indentação é incidental e não deve fazer parte da string. O Java a remove automaticamente, mantendo apenas os espaços em branco essenciais.

O delimitador de fechamento define a margem

O Java analisa todas as linhas de conteúdo e o """ de fechamento para encontrar a coluna não vazia mais à esquerda que elas têm em comum. Tudo que estiver à esquerda dessa margem será removido.

public class Main {
    public static void main(String[] args) {
        String text = """
            Hello
            World
            """;
        System.out.println("[" + text + "]");
    }
}

Movendo as aspas de fechamento para a esquerda

Se o """ de fechamento estiver mais à esquerda que o conteúdo, os espaços iniciais adicionais de cada linha serão mantidos como espaços em branco essenciais.

public class Main {
    public static void main(String[] args) {
        String text = """
                Hello
                World
        """;
        System.out.print(text);
    }
}

Os espaços em branco finais são removidos

Os espaços no final de cada linha são removidos automaticamente. Isso evita erros causados por espaços finais invisíveis, comuns em strings comuns.

public class Main {
    public static void main(String[] args) {
        String text = """
            line one
            line two
            """;
        for (String line : text.split("\n")) {
            System.out.println("<" + line + ">");
        }
    }
}

O método stripIndent

O método String.stripIndent() aplica o mesmo algoritmo de remoção de espaços em branco incidentais a qualquer string em tempo de execução. É isso que os blocos de texto usam internamente.

public class Main {
    public static void main(String[] args) {
        String raw = "    a\n    b\n    c\n";
        System.out.print(raw.stripIndent());
    }
}

Controlando a indentação interna

A indentação relativa à margem é preservada. Aqui, a segunda linha tem uma indentação maior que a primeira, e essa indentação adicional permanece na saída.

public class Main {
    public static void main(String[] args) {
        String tree = """
            root
              child
                grandchild
            """;
        System.out.print(tree);
    }
}

O método indent

String.indent(int n) adiciona n espaços ao início de cada linha e garante uma quebra de linha final. Ele é útil para aninhar blocos de texto.

public class Main {
    public static void main(String[] args) {
        String text = """
            a
            b
            """;
        System.out.print(text.indent(4));
    }
}

strip versus trim

Use strip() para remover os espaços em branco iniciais e finais do bloco inteiro. Diferentemente do trim(), mais antigo, strip() reconhece Unicode.

public class Main {
    public static void main(String[] args) {
        String text = """
            
            content
            
            """;
        System.out.println("[" + text.strip() + "]");
    }
}

Aspas de fechamento em uma linha própria

Se o """ de fechamento estiver em uma linha própria, a string terminará com uma quebra de linha final. Coloque-o logo após o último caractere para remover essa quebra de linha.

public class Main {
    public static void main(String[] args) {
        String withNewline = """
            done
            """;
        String noNewline = """
            done""";
        System.out.println("A:" + withNewline.length());
        System.out.println("B:" + noNewline.length());
    }
}

Alinhando com o seu código

Você pode aplicar indentação ao bloco inteiro para alinhá-lo ao código ao redor e melhorar a legibilidade; a indentação incidental desaparecerá do valor.

public class Main {
    static String menu() {
        return """
                Start
                Options
                Quit
                """;
    }
    public static void main(String[] args) {
        System.out.print(menu());
    }
}

Verificando a margem

Para depurar a remoção, envolva cada linha com marcadores. Isso mostra exatamente quais espaços iniciais foram preservados.

public class Main {
    public static void main(String[] args) {
        String block = """
            x
              y
            """;
        for (String line : block.split("\n")) {
            System.out.println("|" + line + "|");
        }
    }
}

Verificação rápida

O que determina quanto espaço em branco inicial (incidental) é removido de um bloco de texto?

Recapitulação

Você aprendeu sobre indentação e remoção:

  • A indentação incidental é removida automaticamente
  • A posição do """ de fechamento pode definir a margem
  • Os espaços em branco finais das linhas são removidos
  • stripIndent(), indent(n) e strip() ajudam em tempo de execução
  • A posição das aspas de fechamento controla a quebra de linha final

Perguntas Frequentes

A aula “Indentação e Remoção” é grátis?

Sim — o texto completo de “Indentação e Remoção” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.

O que vou aprender em “Indentação e Remoção”?

Controle os espaços em branco incidentais Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Java Academy?

Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Indentação e Remoção”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Java Academy?

Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Declaração de Blocos de Texto
  2. Indentação e Remoção
  3. Escapes em Blocos de Texto
  4. Casos de Uso: JSON e SQL
← Voltar para Java Academy