Класс сканера в Java: типы конструкторов и методов, как использовать [с примерами]

Опубликовано: 2020-07-28

Любой, кто работает с языком программирования Java, хорошо знаком с классом Scanner в Java. А для начинающих разработчиков Java, которые не знают, что такое класс Scanner и как использовать класс Scanner в Java, эта статья является идеальным введением в него.

В этом посте мы подробно обсудим класс Scanner в Java, его различные методы и то, как они работают. Итак, если вы хотите узнать больше о классе Scanner в Java, читайте до конца!

Оглавление

Что такое класс Scanner в Java?

Класс Scanner в Java в основном используется для получения пользовательского ввода. Пакет java.util содержит его. Класс Scanner не только расширяет класс Object, но также может реализовывать интерфейсы Iterator и Closeable. Он разбивает пользовательский ввод на токены с помощью разделителя, которым по умолчанию является пробел.

Использовать класс Scanner довольно просто — сначала вы создаете объект класса, а затем используете любой из доступных методов, представленных в документации по классу Scanner.

Помимо того, что это один из самых простых способов получения пользовательских входных данных, класс Scanner широко используется для синтаксического анализа текста на наличие строк и примитивных типов с помощью регулярного выражения. Например, вы можете использовать класс Scanner для получения входных данных для различных примитивных типов, таких как int, long, double, byte, float и short, и это лишь некоторые из них.

Вы можете объявить класс Java Scanner следующим образом:

общедоступный окончательный сканер класса

расширяет объект

реализует Iterator<String>

Если вы хотите получить экземпляр класса Scanner, который считывает пользовательский ввод, вы должны передать входной поток (System.in) в конструкторе класса Scanner следующим образом:

Сканер в = новый Сканер("Hello upGrad");

Читайте: 6 главных причин, почему Java так популярен среди разработчиков

Какие существуют конструкторы класса Scanner?

Вот шесть часто используемых конструкторов класса Scanner:

  1. Сканер (источник файла) — создает новый сканер для генерации значений, отсканированных из определенного файла.
  2. Сканер (источник InputStream) — создает новый сканер для получения значений, отсканированных из указанного входного потока.
  3. Сканер (читаемый источник) — создает новый сканер для доставки значений, отсканированных из указанного источника.
  4. Сканер (источник строки) — создает новый сканер для получения значений, отсканированных из определенной строки.
  5. Сканер (источник ReadableByteChannel) — создает новый сканер для получения значений, отсканированных из указанного канала.
  6. Сканер (источник пути) — создает новый сканер для генерации значений, отсканированных из указанного файла.

Каковы различные методы класса Scanner?

Так же, как конструкторы класса Scanner, существует также полный набор методов класса Scanner, каждый из которых служит уникальной цели. Вы можете использовать методы класса Scanner для разных типов данных. Ниже приведен список наиболее широко используемых методов класса Scanner:

  1. void [close()] — этот метод используется для закрытия сканера.
  2. pattern [delimiter()] — этот метод помогает получить Pattern, который в настоящее время используется классом Scanner для соответствия разделителям.
  3. Stream<MatchResult> [findAll()] — выдает поток результатов сопоставления, соответствующих указанной строке шаблона.
  4. Строка [findInLine()] — помогает найти следующее вхождение шаблона, созданного из указанной строки. Этот метод не учитывает разделители.
  5. Строка [nextLine()] — используется для получения входной строки, которая была пропущена в объекте сканера.
  6. IOException [ioException()] — этот метод помогает получить IOException, последнее спроецированное читаемым сканером.
  7. Locale [locale()] — извлекает Locale класса Scanner.
  8. MatchResult [match()] — предлагает результат совпадения последней операции сканирования, выполненной сканером.
  9. BigDecimal [nextBigDecimal()] — этот метод используется для сканирования следующего токена ввода как BigDecimal.
  10. BigInteger [nextBigInteger()] — этот метод сканирует следующий токен ввода как BigInteger.
  11. byte [nextByte()] — сканирует следующий токен пользовательского ввода как байтовое значение.
  12. double [nextDouble()] — сканирует следующий токен пользовательского ввода как двойное значение.
  13. float [nextFloat()] — этот метод сканирует следующий токен ввода как значение с плавающей запятой.
  14. int [nextInt()] — этот метод используется для сканирования следующего токена ввода как значения Int.
  15. логическое значение:
  • [hasNext()] — этот метод возвращает значение true, если у сканера есть другой токен в пользовательском вводе.
  • [hasNextBigDecimal()] — этот метод проверяет, можно ли интерпретировать следующий токен на входе сканера как BigDecimal, используя метод nextBigDecimal().
  • [hasNextBoolean()] — проверяет, можно ли интерпретировать следующую лексему на входе сканера как логическое значение, используя метод nextBoolean().
  • [hasNextByte()] — проверяет, интерпретируется ли следующая лексема на входе сканера как байт, используя метод nextBigDecimal().
  • [hasNextFloat()] — проверяет, интерпретируется ли следующий токен во входных данных сканера как число с плавающей запятой, используя метод nextFloat().
  • [hasNextInt()] — проверяет, интерпретируется ли следующая лексема на входе сканера как Int, используя метод nextInt().

Отъезд: Зарплата Java-разработчика в Индии

Как использовать класс Scanner в Java?

Как мы упоминали ранее, использовать класс Scanner в Java довольно просто. Ниже приведен пример, демонстрирующий, как реализовать класс Scanner с помощью метода nextLine() :

импортировать java.util.*;

открытый класс ScannerExample {

public static void main (String args []) {

Сканер в = новый сканер (System.in);

System.out.print("Введите ваше имя: ");

Имя строки = in.nextLine();

System.out.println("Имя: " + имя);

in.закрыть();

}

}

Если вы запустите эту программу, она выдаст следующий результат:

Введите ваше имя: Джон Хэнкс

Имя: Джон Хэнкс

Читайте также: Что такое приведение типов в Java | Понимание приведения типов для начинающих

Подведение итогов

В этой статье рассматриваются основы класса Scanner в Java. Если вы познакомитесь с конструкциями и методами класса Scanner, со временем и постоянной практикой вы овладеете искусством использования класса Scanner в программах Java.

Если вам интересно узнать больше о Java, разработке программного обеспечения с полным стеком, ознакомьтесь с дипломом PG upGrad & IIIT-B по разработке программного обеспечения с полным стеком, который предназначен для работающих профессионалов и предлагает более 500 часов интенсивного обучения, 9+ проектов. и задания, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Подготовьтесь к карьере будущего

ПРОМЫШЛЕННОЕ ОБУЧЕНИЕ, ПРИЗНАННОЕ В ПРОМЫШЛЕННОСТИ.
Узнать больше @ UPGRAD