Otras lecciones del Curso de Java
¿Qué es IO en Java?
¿Cúales son los Operadores en Java?
¿Qué tipos de Variables hay en Java?
¿Cómo funciona Continue y Break en Java?
¿Cómo aplicar un Try Catch y Finally en Java?
¿Cómo utilizar el método super en Java?
¿Cómo trabajar con listas en Java?
¿Cuáles son los métodos de la clase String en Java?
¿Qué es un entorno de desarrollo en Java?
¿Qué es la Sobreescritura de métodos en Java?
¿Cómo utilizar un return en Java?
¿Cómo hacer un Hola Mundo en Java?
¿Cómo utilizar Throw y throws en Java?
¿Cómo hacer comentarios en Java?
¿Cuáles son las Palabras reservadas en Java?
Variables de entorno en Java
Características y estadísticas de Java e índice TIOBE
Estructura de proyecto, paquetes y clases en Java
Qué es una función en Java
¿Cómo funcionan las Funciones Java?
Operadores aritméticos en Java
Operadores de comparación en Java
Funciones anónimas en Java
Cómo invocar una función en Java
Atajos de teclado para IntelliJ
¿Qué es la Sobrecarga de funciones en Java?
Operadores lógicos en Java
Debug en Java
Como se crea una función en Java
¿Cómo crear Sentencias Switch en Java?
Bucles for en Java
¿Cómo hacer sentencias If e If else en Java?
¿Cómo funcionan los Bucles While en Java?
¿Qué son los objetos en Java?
¿Qué es el modificador static en Java y cómo se utiliza?
¿Qué es la herencia en Java?
¿Qué son los constructores en Java y cómo se utilizan?
¿Cómo crear clases en Java?
¿Qué es el Polimorfismo en Java?
¿Qué son las Clases Abstractas en Java?
¿Qué es la Programación genérica en Java?
¿Qué son las Interfaces de Java?
Implementación de una interface en Java
¿Cómo se hace refactoring en Java?
¿Cómo trabajar con Maps en Java?
¿Como funcionan los arrays en Java?
¿Cómo generar excepciones en Java?
Introducción a Swing en Java
¿Quieres descubrir más cosas como Scanner en Java?¡Apuntate a nuestro campus y empieza a aprender con nosotros y con toda la comunidad!

Tenemos nuestro programa en Java y queremos que el usuario ingrese datos por teclado, ¿Cómo lo hacemos?

Java tiene varios paquetes de métodos y funciones pre establecidos, uno de ellos es el java.util, dentro de este paquete existe una clase llamada Scanner, es esta clase la que nos permitirá ingresar datos por teclado.

Scanner es la mejor clase para recibir información a través del teclado y nos permite capturar datos primitivos tipo int, double, string y varios más, que han sido introducidos por el usuario.

La clase Scanner, recordemos, debe ser declarada con la primera letra (la S) en mayúsculas y tenemos que importarla con la sentencia import java.util.Scanner, en el primer renglón de nuestro programa.

¿Cómo utilizar la clase Scanner en Java?

Para poder utilizar la clase tendremos que ejecutar unos pasos previos:

Crear un objeto de la clase Scanner

La clase Scanner pertenece a las librerías de Java, por lo tanto no hay que crear la clase propiamente dicha.

Con ella podemos acceder a leer ficheros o datos ingresados por teclado solo hay que crear un objeto de la clase Scanner.

Scanner entrada=new Scanner(System.in);
  • Scanner -> es la clase.
  • entrada  -> es el nombre de la variable a la que le asignamos el objeto.
  • new  -> palabra reservada que instancia un objeto de la clase Scanner.
  • System.in  -> parámetro que indica de donde proceden los datos, en este caso del teclado.

Capturar los datos desde teclado

Para capturar la información ingresada declaramos otra variable que va a “recibir” los datos introducidos por teclado, podemos notar que la combinación de las palabras utilizadas es nextLine.

Todos los next[algo] son métodos que permiten la captura de datos ingresados por el usuario, nextLine se utiliza para cadenas de texto, si fueran enteros lo que queremos ingresar se usaría nextInt, para decimales, nextDouble, etc. next es un método del objeto entrada.

String cadena=entrada.nextLine();

Sintaxis de Scanner en Java:

package com.opus4;

import java.util.Scanner; //importar el paquete

public class ClaseScanner {

    public static void main(String[] args) {

        Scanner entrada = new Scanner(System.in); // crear un objeto Scanner

        System.out.println("Hola, ingresa tu nombre: ");

        String nombre = entrada.nextLine();

        System.out.println("Bienvenido/a! " + nombre + "\nSientete como en tu casa, bebe algo!");
    }
}

Métodos de lectura:

  • Leer cadenas de textos   -> nextLine()
  • Leer un solo caracter  -> next().charAt()
  • **Leer archivos numéricos ->**next[tipodedato] (short, int, etc)
  • Crear un objeto de la clase Scanner, instanciamos con la palabra new y acompañamos de System.in, que representa el flujo de entrada por teclado.
  • Para leer la entrada de archivo -> pasamos un objeto de clase File.

Aquí otros métodos de los más utilizados de la clase Scanner:

Método Explicación

  • next() → Lee un String hasta encontrar un delimitador, generalmente un espacio.
  • nextBoolean() → Lee valores booleanos.
  • nextByte() → Lee valores byte que ingresan por teclado.
  • nextDouble() → Lee valores decimales (double) introducidos por el usuario.
  • nextFloat() → Recibe los valores float, que ingresan.
  • nextShort() → Lee un dato de tipo short.
  • nextInt() → Para leer datos del tipo entero.
  • nextLong() → Para leer un dato del tipo long. 
  • nextLine() → Lee un String hasta encontrar un salto de línea.
  • close() → Cierra la clase Scanner luego de utilizada

Listado de métodos de la clase Scanner:

delimiter()findAll()findInLine()findWithinHorizon()hasNext()

hasNextBigDecimal()


 

hasNextByte()hasNextDouble()

nextBigDecimal()


 

hasNextLine()


 

hasNextBigInteger()

ioException()


 

hasNextFloat()


 

remove()


 

hasNextLong()


 

hasNextBoolean()


 

locale()


 

hasNextInt()


 

hasNextShort()


 

match()


 

nextBigInteger()


 

reset()


 

skip()


 

tokens()


 

toString()


 

useDelimiter()

useLocale()


 

useRadix()


 

radix()


 

 

Como vimos hay distintos métodos para el ingreso de cada tipo de dato, si nos equivocamos e ingresamos un tipo de dato que no es el esperado, Java nos tiraría un error.

Una vez utilizada la clase Scanner, puede cerrarse a través del método close() que está especialmente disponible en la librería de Java para este cometido.

¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: