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!