Como Ler e Exibir Dados no Console: Entrada e Saída em Java
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!