![](https://i.imgur.com/gNs24hf.png =70x) # Java Scanner ## importação ```java= import java.util.Scanner; ``` ## Instanciando objeto Scanner ```java= Scanner scanner = new Scanner(System.in); ``` ## Leitura em variáveis É acessado os métodos de leitura, através da variável de instância. ### Exemplo 1 **Entrada** ```java= import java.util.Scanner; public class Exemplo1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Digite seu nome:"); nomeCompleto = scanner.nextLine(); System.out.println("Bem-vindo(a) " + nomeCompleto); scanner.close(); } } ``` **Saída** ``` Digite seu nome: Roger Bem-vindo(a) Roger ``` ### Exemplo 2 ```java= import java.util.Scanner; public class Exemplo2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Outras entradas int idade = scanner.nextInt(); long codigoBarras = scanner.nextLong(); float altura = scanner.nextFloat(); double salario = scanner.nextDouble(); boolean flagAmbiente = scanner.nextBoolean(); byte byteImage = scanner.nextByte(); scanner.close(); } } ``` ## Método hasNext **Entrada** ```java= public class Exemplo2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int i = 0; System.out.print("Digite um texto:"); while(scanner.hasNext()){ System.out.println("Texto: "+ scanner.next()); i++; } scanner.close(); } } ``` **Saída** ``` Digite um texto: Olá Texto: Olá Mastertech Texto: Mastertech Itaú Texto: Itaú ``` ## Consulta de outros métodos | Método | Descrição | | -------- | -------- | | close() | Fecha o escaneamento de leitura.| |findInLine() |Encontra a próxima ocorrência de um padrão ignorando máscaras ou strings ignorando delimitadores.| |hasNext()| Retorna um valor booleano verdadeiro (true) se o objeto Scanner tem mais dados de entrada.| |hasNextXyz()| Retorna um valor booleano como verdadeiro (true) se a próxima entrada a qual Xyz pode ser interceptada como Boolean, Byte, Short, Int, Long, Float ou Double.| |match() |Retorna o resultado da pesquisa do último objeto Scanner atual.| |next() |Procura e retorna a próxima informação do objeto Scanner que satisfazer uma condição.| |nextBigDecimal(), nextBigInteger() |Procura a próxima entrada como BigDecimal ou BigInteger.| |nextXyz() |Procura a próxima entrada a qual Xyz pode ser interceptado como boolean, byte, short, int, long, float ou double.| |nextLine() |Mostra a linha atual do objeto Scanner e avança para a próxima linha.| |radix() |Retorna o índice atual do objeto Scanner.| |remove() |Essa operação não é suportada pela implementação de um Iterator.| |skip() |Salta para a próxima pesquisa de um padrão especificado ignorando delimitadores.| |string() |Retorna uma string que é uma representação do objeto Scanner.| # Casting Conversão de tipos **Casting automático** ```java= public class ExemploCasting { public static void main(String[] args) { int valorInteiro = 12; double valorConvertido = valorInteiro; System.out.println(valorInteiro);//12 System.out.println(valorConvertido);//12.0 } } ``` **Narrowing Casting** ```java= public class ExemploCasting { public static void main(String[] args) { double valorDecimal = 12.2; int valorConvertido = (int)valorInteiro; System.out.println(valorDecimal);//12.2 System.out.println(valorConvertido);//12 } } ```