Como Ler e Exibir Dados no Console: Entrada e Saída em Java

Por Gaspar Barancelli Junior em 19 de janeiro de 2025

Introdução

Uma excelente maneira de aprender a linguagem Java é capturar dados fornecidos pelo usuário e aplicá-los em lógicas interativas. Neste post, exploramos o uso da classe Scanner para capturar informações nos formatos String, Integer, Boolean e Double, acompanhados de exemplos práticos que combinam condicionais e loops para ilustrar as diversas possibilidades.

Entrada e Saída no Console

O console é frequentemente usado para testes simples ou aplicações básicas. Em Java, a entrada é geralmente capturada usando a classe Scanner, enquanto a saída é exibida no console com System.out.println.

Usando a Classe Scanner

A classe Scanner está disponível no pacote java.util e facilita a captura de dados do console.

Configuração Básica

import java.util.Scanner;

public class EntradaSaidaBasica {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("Digite seu nome:");
        String nome = scanner.nextLine(); // Captura uma linha inteira como String

        System.out.println("Olá, " + nome + "! Bem-vindo ao programa.");
        scanner.close();
    }
}

Lendo Diferentes Tipos de Dados

A seguir, exemplos para capturar valores do console de diferentes tipos.

Capturando um Inteiro

System.out.println("Digite sua idade:");
int idade = scanner.nextInt(); // Captura um inteiro
System.out.println("Você tem " + idade + " anos.");

Capturando um Número de Ponto Flutuante

System.out.println("Digite o preço de um produto:");
double preco = scanner.nextDouble(); // Captura um double
System.out.println("Preço registrado: " + preco);

Capturando um Valor Booleano

System.out.println("Você é estudante? (true/false):");
boolean estudante = scanner.nextBoolean(); // Captura um boolean
if (estudante) {
    System.out.println("Ótimo, continue estudando!");
} else {
    System.out.println("Sem problemas, aprender nunca para!");
}

Exemplo Prático com Condicionais e Loops

Vamos criar um programa interativo que captura múltiplos valores e utiliza condicionais e loops para processar a entrada.

import java.util.Scanner;

public class EntradaConsoleInterativa {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("Bem-vindo ao sistema de cadastro!");
        boolean continuar = true;

        while (continuar) {
            System.out.println("Digite seu nome:");
            String nome = scanner.nextLine();

            System.out.println("Digite sua idade:");
            int idade = scanner.nextInt();

            System.out.println("Digite o preço de um produto:");
            double preco = scanner.nextDouble();

            System.out.println("Você é estudante? (true/false):");
            boolean estudante = scanner.nextBoolean();

            // Exibindo os dados capturados
            System.out.println("Resumo do Cadastro:");
            System.out.println("Nome: " + nome);
            System.out.println("Idade: " + idade);
            System.out.println("Preço do produto: " + preco);
            System.out.println("Estudante: " + estudante);

            // Perguntar se deseja continuar
            System.out.println("Deseja continuar? (true/false):");
            continuar = scanner.nextBoolean();

            // Consumir a quebra de linha deixada pelo nextBoolean()
            scanner.nextLine();
        }

        System.out.println("Obrigado por usar o sistema!");
        scanner.close();
    }
}

Exemplo Extra com JOptionPane

Além do console, você também pode usar o JOptionPane para criar interfaces de usuário como janelas de diálogo interativas. Aqui está um exemplo para capturar o nome e a idade do usuário.

import javax.swing.JOptionPane;

public class EntradaComJOptionPane {
    public static void main(String[] args) {
        String nome = JOptionPane.showInputDialog("Digite seu nome:");
        String idadeTexto = JOptionPane.showInputDialog("Digite sua idade:");

        // Convertendo String para Integer
        try {
            int idade = Integer.parseInt(idadeTexto);
            JOptionPane.showMessageDialog(null, "Nome: " + nome + " Idade: " + idade);
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(null, "Idade inválida. Por favor, insira um número.");
        }
    }
}

Conclusão

Capturar e exibir dados no console é uma maneira eficaz de explorar os fundamentos da programação em Java. Utilizando a classe Scanner e o JOptionPane, é possível obter informações em diferentes formatos e aplicá-las dinamicamente em seus programas. Combinando loops e condicionais, você pode criar interações práticas e envolventes, ampliando sua compreensão da linguagem.

Nos próximos posts da série "Aprendendo Java do Zero: Guia Completo para Iniciantes", exploraremos "Entendendo a Estrutura de um Programa Java: Pacotes, Classes e Métodos". Até lá, bons estudos!

// Compartilhe esse Post

💫
🔥 NOVO APP

Domine o Inglês em 30 dias!

Inteligência Artificial + Repetição Espaçada • Método cientificamente comprovado

✅ Grátis para começar 🚀 Resultados rápidos
×