Как числовой литерал с подчеркиванием работает в java и почему он был добавлен как часть jdk 1.7
Может кто-нибудь объяснить мне, почему эта функция была добавлена в JDK 7 и как она работает?
Проходя новые функции JDK 7, я обнаружил следующий код.
int i;
//Java 7 allows underscore in integer
i=3455_11_11;
Ответы
Ответ 1
Это используется для группировки цифр в вашем цифровом (например, для кредитной карты и т.д.),
С сайта Oracle:
В Java SE 7 и более поздних версиях любое число символов подчеркивания (_) может отображаться где угодно между цифрами в числовом литерале. Эта функция позволяет вам, например, разделять группы цифр в числовых литералах, что может улучшить читаемость вашего кода.
Например, если ваш код содержит числа со многими цифрами, вы можете использовать символ подчеркивания для разделения цифр в группах по три, подобно тому, как вы должны использовать знак препинания, например, запятую или пробел, в качестве разделителя.
В заключение, это просто ради удобочитаемости.
Ответ 2
См. Подчеркивание в числовых литералах:
В Java SE 7 и более поздних версиях любое число символов подчеркивания (_) может отображаться где угодно между цифрами в числовом литерале. Эта функция позволяет вам, например, разделять группы цифр в числовых литералах, что может улучшить читаемость вашего кода.
Попробуй это:
int num = 111_222;
System.out.println(num); //Prints 111222
Эта функция была добавлена из-за того, что иногда бывает трудно читать длинные цифры, поэтому вместо подсчета количества нулей число должно вычисляться, если это миллион или сто тысяч, вы можете сделать:
int myNum = 1_000_000;
Теперь легко понять, что существует две группы из 3 нулей, и, очевидно, их число составляет миллион. Сравните это с:
int myNum = 1000000;
Признай.. здесь тебе приходилось подсчитывать каждый ноль..
Ответ 3
Функция JDK 7 _
для числовых литералов предназначена только для удобства чтения. Согласно документам:
В Java SE 7 и более поздних версиях любое число символов подчеркивания (_) может отображаться где угодно между цифрами в числовом литерале. Эта функция позволяет вам, например, разделять группы цифр в числовых литералах, что может улучшить читаемость вашего кода.
Ответ 4
Символ подчеркивания полностью игнорируется в литералах Integer. Он может быть добавлен, например, к групповым разрядам длинными числами в группах по 3 (как в текстах).