No Java, você pode interagir com o console usando a classe Scanner para ler entradas e a classe System.out para escrever saídas.
1. Escrever no Console
Para escrever no console, o método mais comum é o System.out.println(), que imprime uma linha de texto seguida de uma nova linha.
Exemplo:
public class ConsoleEscrita {
public static void main(String[] args) {
System.out.println("Olá, Mundo!");
System.out.print("Digite seu nome: ");
}
}
System.out.println()imprime texto seguido de uma quebra de linha.System.out.print()imprime o texto sem adicionar uma quebra de linha.
2. Ler do Console com Scanner
A classe Scanner é utilizada para ler entradas de diferentes fontes, como o teclado. Para ler dados do console, usamos o método nextLine() para strings, nextInt() para inteiros, nextDouble() para números decimais, entre outros.
Exemplo:
import java.util.Scanner;
public class ConsoleLeitura {
public static void main(String[] args) {
// Criação do scanner para ler a entrada do console
Scanner scanner = new Scanner(System.in);
// Lendo o nome do usuário
System.out.print("Digite seu nome: ");
String nome = scanner.nextLine();
// Lendo a idade do usuário
System.out.print("Digite sua idade: ");
int idade = scanner.nextInt();
// Imprimindo os dados informados
System.out.println("Nome: " + nome);
System.out.println("Idade: " + idade);
// Fechando o scanner para liberar os recursos
scanner.close();
}
}
🧠 Detalhes sobre a Classe Scanner:
- Métodos úteis:
nextLine(): Lê uma linha inteira de texto.next(): Lê uma palavra (até o primeiro espaço).nextInt(): Lê um número inteiro.nextDouble(): Lê um número decimal.hasNext(): Verifica se há mais tokens de entrada disponíveis.
- Fechar o
Scanner: É importante fechar oScannerapós o uso para liberar recursos. Normalmente, usamosscanner.close()para isso. No entanto, não feche oScannerse você estiver lendo da entrada padrão (System.in), pois ele também fecha o fluxo de entrada padrão, tornando-o inacessível em outras partes do programa.
3. Exemplo Completo de Leitura e Escrita com Scanner
Vamos fazer um programa simples para ler e escrever dados do console:
import java.util.Scanner;
public class LeituraEscritaConsole {
public static void main(String[] args) {
// Criando um Scanner para capturar a entrada do console
Scanner scanner = new Scanner(System.in);
// Escrevendo no console
System.out.println("Bem-vindo ao nosso sistema!");
// Lendo o nome do usuário
System.out.print("Por favor, insira seu nome: ");
String nome = scanner.nextLine();
// Lendo a idade do usuário
System.out.print("Quantos anos você tem? ");
int idade = scanner.nextInt();
// Escrevendo a resposta no console
System.out.println("Olá, " + nome + "! Você tem " + idade + " anos.");
// Fechando o scanner para liberar recursos
scanner.close();
}
}
Explicação:
- O programa solicita o nome e a idade do usuário.
- O nome é lido usando
nextLine()(já que o nome pode ter espaços). - A idade é lida usando
nextInt(). - O programa imprime o nome e a idade na tela.
- O
Scanneré fechado para liberar recursos.
🧪 Quiz – 5 Questões Rápidas
1. Qual método é usado para ler uma linha de texto do console com a classe Scanner?
A) nextLine()
B) next()
C) readLine()
D) inputLine()
2. Qual método da classe System.out imprime texto sem adicionar uma quebra de linha?
A) println()
B) print()
C) write()
D) flush()
3. Qual é a principal razão para fechar um Scanner após o uso?
A) Para evitar erros no código
B) Para liberar recursos do sistema
C) Para impedir que o programa continue a aceitar entradas
D) Para evitar problemas de desempenho
4. O que acontece se você não chamar scanner.close() ao usar o Scanner?
A) O programa não funcionará corretamente.
B) O fluxo de entrada do console será fechado automaticamente.
C) Você pode acabar consumindo mais recursos do sistema do que o necessário.
D) Nada, o Scanner será fechado automaticamente quando o programa terminar.
5. Qual método da classe Scanner você usaria para ler um número inteiro?
A) nextInt()
B) nextLine()
C) next()
D) nextDouble()
✅ Gabarito Comentado
- A –
nextLine()lê uma linha inteira de texto, o que é adequado para capturar nomes completos. - B –
print()imprime texto sem adicionar uma nova linha, enquantoprintln()imprime com uma quebra de linha. - B – Fechar o
Scanneré importante para liberar recursos do sistema, especialmente quando você está lidando com streams ou IO. - C – Se você não fechar o
Scanner, o recurso de entrada (como o teclado) pode continuar sendo utilizado desnecessariamente, consumindo recursos do sistema. - A –
nextInt()é usado para ler números inteiros.