0Pricing
Java Academy · Урок

Разбор и valueOf

Преобразуйте строки в числа

«Разбор и valueOf» — бесплатный урок Java Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 4 уроков всего.

Преобразование текста в числа

Ввод пользователя и файлы поступают в виде текста String. Чтобы выполнять вычисления, необходимо преобразовать этот текст в числа.

Классы-обёртки предоставляют для этого два семейства методов: parseXxx возвращает примитив, а valueOf — объект-обёртку.

parseInt возвращает примитив

Integer.parseInt принимает строку и возвращает обычное значение int. Это самый распространённый метод разбора.

public class Main {
    public static void main(String[] args) {
        int n = Integer.parseInt("123");
        System.out.println(n + 1);
    }
}

valueOf возвращает обёртку

Integer.valueOf принимает строку и возвращает объект Integer, а не примитив. Это удобно, когда Вам сразу нужна обёртка, например для добавления в коллекцию.

public class Main {
    public static void main(String[] args) {
        Integer boxed = Integer.valueOf("456");
        System.out.println(boxed);
    }
}

Разбор дробных чисел

Для текста с плавающей точкой используйте Double.parseDouble. Он обрабатывает значения с десятичной точкой и даже экспоненциальную запись.

public class Main {
    public static void main(String[] args) {
        double price = Double.parseDouble("19.99");
        System.out.println(price * 2);
    }
}

Разбор других типов

У каждой числовой обёртки есть метод разбора: Long.parseLong, Double.parseDouble, Float.parseFloat, Short.parseShort и Byte.parseByte.

public class Main {
    public static void main(String[] args) {
        long big = Long.parseLong("9000000000");
        System.out.println(big);
    }
}

Разбор логических значений

Boolean.parseBoolean возвращает true только тогда, когда текст совпадает со строкой "true" без учёта регистра. Для любой другой строки, включая null, возвращается false.

public class Main {
    public static void main(String[] args) {
        System.out.println(Boolean.parseBoolean("true"));
        System.out.println(Boolean.parseBoolean("TRUE"));
        System.out.println(Boolean.parseBoolean("yes"));
    }
}

Разбор в разных системах счисления

Integer.parseInt принимает необязательный аргумент основания системы счисления. Значение 2 позволяет прочитать двоичное число, а 16 — шестнадцатеричное.

public class Main {
    public static void main(String[] args) {
        int binary = Integer.parseInt("1010", 2);
        int hex = Integer.parseInt("ff", 16);
        System.out.println(binary);
        System.out.println(hex);
    }
}

Некорректный ввод вызывает исключение

Если строка не является допустимым числом, разбор вызывает исключение NumberFormatException. Рискованные операции разбора следует заключать в блок try-catch.

public class Main {
    public static void main(String[] args) {
        try {
            int n = Integer.parseInt("hello");
            System.out.println(n);
        } catch (NumberFormatException e) {
            System.out.println("Not a number!");
        }
    }
}

Остерегайтесь пробелов

Разбор не допускает пробелы по краям строки. Integer.parseInt(" 5 ") вызывает исключение.

Сначала всегда вызывайте trim() или strip() для пользовательского ввода.

public class Main {
    public static void main(String[] args) {
        String raw = "  42  ";
        int n = Integer.parseInt(raw.trim());
        System.out.println(n);
    }
}

Преобразование чисел обратно в текст

Чтобы выполнить обратное преобразование, используйте String.valueOf или Integer.toString. Оба метода превращают число в его текстовое представление.

public class Main {
    public static void main(String[] args) {
        String text = Integer.toString(789);
        String text2 = String.valueOf(3.14);
        System.out.println(text.length());
        System.out.println(text2);
    }
}

parseXxx и valueOf

Запомните правило: parseInt возвращает примитив int, а valueOf — объект Integer. Выбирайте метод в зависимости от того, нужен ли Вам примитив или обёртка.

Быстрая проверка

Проверьте, что Вы узнали о разборе строк.

Итоги

Вы узнали, как преобразовывать строки и числа друг в друга:

  • parseInt, parseDouble и другие подобные методы возвращают примитивы
  • valueOf возвращает объекты-обёртки
  • Некорректный ввод вызывает NumberFormatException, поэтому удаляйте пробелы по краям и перехватывайте это исключение
  • parseInt может читать числа в других системах счисления с помощью аргумента основания
  • Используйте toString или String.valueOf, чтобы преобразовать число обратно в текст

Часто задаваемые вопросы

Урок «Разбор и valueOf» бесплатный?

Да — полный текст урока «Разбор и valueOf» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 4 уроков всего.

Чему я научусь в уроке «Разбор и valueOf»?

Преобразуйте строки в числа Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Java Academy?

Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Разбор и valueOf»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Java Academy?

Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Примитивные типы и типы-обёртки
  2. Автоупаковка и распаковка
  3. Разбор и valueOf
  4. Подводные камни автоупаковки
← Назад к Java Academy