Java Academy · Aula

Alinhando tabelas

Formate colunas de dados

Aula 4 de 413 etapas

Alinhando tabelas é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 4 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.

Por que Alinhar?

Ao imprimir linhas de dados, colunas irregulares são difíceis de ler. Colunas alinhadas organizam números e rótulos diretamente uns sob os outros.

As larguras e os sinalizadores de printf permitem criar tabelas organizadas diretamente no console.

Alinhamento à Direita por Padrão

Uma largura como %10s reserva 10 caracteres e preenche à esquerda, fazendo com que o texto fique alinhado à direita.

Os números se comportam da mesma forma, por isso as colunas de números ficam alinhadas na borda direita.

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%10s]\n", "hi");
    }
}

Alinhamento à Esquerda com um Menos

Adicione o sinalizador - para alinhar à esquerda dentro do campo. %-10s coloca o texto à esquerda e preenche à direita.

O alinhamento à esquerda é ideal para rótulos e nomes.

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%-10s]\n", "hi");
    }
}

Duas Colunas

Combine um rótulo alinhado à esquerda com um número alinhado à direita para criar uma linha. %-10s%5d fornece um nome com largura 10 e um número com largura 5.

Repita a mesma formatação para cada linha e as colunas ficarão alinhadas.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%-10s%5d\n", "Apples", 3);
        System.out.printf("%-10s%5d\n", "Pears", 12);
    }
}

Uma Tabela Simples

Usar a mesma cadeia de caracteres de formatação para um cabeçalho e para cada linha de dados mantém tudo alinhado.

Aqui, três linhas compartilham um único padrão, por isso as colunas permanecem organizadas.

public class Main {
    public static void main(String[] args) {
        String fmt = "%-8s%6d\n";
        System.out.printf(fmt, "Name", 0);
        System.out.printf(fmt, "Ann", 90);
        System.out.printf(fmt, "Bob", 7);
    }
}

Alinhando Casas Decimais

Para dinheiro ou medidas, combine largura e precisão: %8.2f alinha um número à direita em 8 caracteres, com duas casas decimais.

Os pontos decimais ficam alinhados verticalmente entre as linhas.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%8.2f\n", 5.5);
        System.out.printf("%8.2f\n", 123.4);
    }
}

Cabeçalho com Números

Misture colunas de texto e número em uma única linha. Um rótulo à esquerda e um preço alinhado à direita ficam naturalmente bem juntos.

Esse padrão é o centro da maioria dos relatórios de console.

public class Main {
    public static void main(String[] args) {
        System.out.printf("%-10s%8.2f\n", "Coffee", 3.5);
        System.out.printf("%-10s%8.2f\n", "Cake", 12.0);
    }
}

Escolhendo Larguras de Coluna

Escolha uma largura pelo menos tão grande quanto o seu valor mais longo; caso contrário, o texto ultrapassará a coluna e quebrará o alinhamento.

Se um valor for mais largo que o campo, printf o imprimirá por completo e ignorará a largura.

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%3s]\n", "toolong");
    }
}

Percorrendo Linhas

Um laço junto com uma única cadeia de formatação compartilhada facilita a geração de uma tabela inteira.

Cada passagem imprime uma linha alinhada, portanto adicionar dados nunca quebra o layout.

public class Main {
    public static void main(String[] args) {
        String[] names = {"Sun", "Mon", "Tue"};
        int[] hrs = {8, 12, 5};
        for (int i = 0; i < names.length; i++) {
            System.out.printf("%-6s%4d\n", names[i], hrs[i]);
        }
    }
}

Combinando com String.format

Você pode construir cada linha alinhada com String.format se precisar do texto antes de imprimi-lo.

As regras de largura e alinhamento são idênticas.

public class Main {
    public static void main(String[] args) {
        String row = String.format("%-8s%5d", "Total", 99);
        System.out.println(row);
    }
}

Tabulações versus Larguras

Você poderia separar as colunas com tabulações \t, mas as posições das tabulações variam e valores longos ficam desalinhados.

Larguras fixas como %-10s produzem colunas confiáveis e previsíveis; por isso, prefira-as em tabelas.

Verificação Rápida

Qual formato alinha um nome à esquerda em 12 caracteres?

Recapitulação

Você criou tabelas alinhadas usando campos de largura, o sinalizador - para alinhamento à esquerda e %8.2f para colunas decimais organizadas.

Com printf, String.format e alinhamento, você pode formatar qualquer saída do console de maneira limpa.

Grátis para começar

Aprenda Java com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
104
Aulas
374

Perguntas Frequentes

A aula “Alinhando tabelas” é grátis?

Sim — o texto completo de “Alinhando tabelas” é 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 “Alinhando tabelas”?

Formate colunas de dados 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 4 de 4.

Quanto tempo leva a aula “Alinhando tabelas”?

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. Noções básicas de printf
  2. Formatos numéricos e decimais
  3. String.format
  4. Alinhando tabelas
← Voltar para Java Academy