0Pricing
Java Academy · Aula

Lendo Entrada com Scanner

Leia a entrada do usuário de System.in

Lendo Entrada com Scanner é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 1 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.

Lendo a partir do teclado

Para ler o que um usuário digita, Java fornece a classe Scanner no pacote java.util. Você a conecta a System.in, o fluxo de entrada padrão.

Scanner torna simples a leitura de palavras, linhas e números.

Criando um Scanner

Crie um Scanner passando System.in. Os exemplos aqui usam cadeias fixas para serem executados sem entrada, mas os mesmos métodos se aplicam à entrada do teclado.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("Hello");
        String word = scanner.next();
        System.out.println(word);
        scanner.close();
    }
}

Lendo uma única palavra

next() lê um elemento, ou seja, o texto até o próximo espaço em branco. Espaços e quebras de linha separam os elementos.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("apple banana cherry");
        System.out.println(scanner.next());
        System.out.println(scanner.next());
        scanner.close();
    }
}

Lendo uma linha completa

nextLine() lê tudo até o fim da linha, incluindo os espaços. Use-o quando a entrada contiver várias palavras que você queira manter juntas.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("John Smith");
        String fullName = scanner.nextLine();
        System.out.println("Name: " + fullName);
        scanner.close();
    }
}

Verificando se há mais entrada

hasNext() retorna verdadeiro enquanto houver mais elementos. Isso permite repetir o processamento até que a entrada se esgote.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("red green blue");
        while (scanner.hasNext()) {
            System.out.println(scanner.next());
        }
        scanner.close();
    }
}

Lendo linha por linha

Associe hasNextLine() a nextLine() para processar uma entrada com várias linhas, uma linha de cada vez.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("line one\nline two\nline three");
        while (scanner.hasNextLine()) {
            System.out.println("> " + scanner.nextLine());
        }
        scanner.close();
    }
}

Um exemplo real com o teclado

Para obter uma entrada real do usuário, você escreveria as linhas abaixo. Teste-as localmente: o programa espera em nextLine até que você digite e pressione a tecla de confirmação.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter your name: ");
        String name = scanner.nextLine();
        System.out.println("Hello, " + name);
        scanner.close();
    }
}

Fechando o Scanner

Chamar close() libera o recurso. Uma abordagem mais limpa é usar o gerenciamento automático de recursos, que fecha o scanner automaticamente quando o bloco termina.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        try (Scanner scanner = new Scanner("data here")) {
            System.out.println(scanner.next());
        }
    }
}

next versus nextLine

Lembre-se da diferença principal: next() para no espaço em branco e retorna um elemento, enquanto nextLine() obtém o restante da linha atual.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("first second third");
        System.out.println(scanner.next());
        System.out.println(scanner.nextLine());
        scanner.close();
    }
}

Delimitadores personalizados

Você pode alterar o que separa os elementos com useDelimiter. Aqui, uma vírgula separa os valores em vez do espaço em branco.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner("a,b,c");
        scanner.useDelimiter(",");
        while (scanner.hasNext()) {
            System.out.println(scanner.next());
        }
        scanner.close();
    }
}

Noções essenciais de Scanner

Crie um Scanner em System.in, use next para palavras e nextLine para linhas inteiras, repita com a família hasNext e sempre feche-o.

Verificação rápida

Teste seus conhecimentos básicos sobre Scanner.

Revisão

Você aprendeu a ler a entrada com Scanner:

  • Crie-o com new Scanner(System.in)
  • next() lê uma palavra; nextLine() lê uma linha inteira
  • Repita com hasNext() ou hasNextLine()
  • Feche-o com close() ou usando o gerenciamento automático de recursos
  • useDelimiter altera o separador de elementos

Perguntas Frequentes

A aula “Lendo Entrada com Scanner” é grátis?

Sim — o texto completo de “Lendo Entrada com Scanner” é 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 “Lendo Entrada com Scanner”?

Leia a entrada do usuário de System.in 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 1 de 4.

Quanto tempo leva a aula “Lendo Entrada com Scanner”?

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. Lendo Entrada com Scanner
  2. Lendo Números e Linhas
  3. Validando a Entrada do Usuário
  4. Alternativa BufferedReader
← Voltar para Java Academy