2013-08-11 3 views
6

Per моего обычным, я работал на более практических листах УИЛИ Java, когда я наткнулся на этой проблеме:Wierd Синтаксис - Подчеркивает между цифрами

int _ = 8; 
System.out.println(5_5); 

Вопрос был «Какой выход из следующего кода части ?»

Мое первое предположение было синтаксической ошибкой, но правильный ответ на самом деле .

Почему это?

+0

@arshajii: Вы когда-нибудь считали, почему вам пришлось сократить этот URL? – Ryan

+1

Это, вероятно, FAQ. – devnull

ответ

10

С Java 7, вы можете иметь подчеркивание между цифрами, чтобы улучшить читаемость:

От JLS - Section 3.10.1 и JLS Section 3.10.2:

Подчеркивание позволено в качестве разделителей между цифрами, которые обозначают целое число.

Для плавающей запятой буквальных также:

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

Напр., 1000000000 теперь можно написать как 1_000_000_000. Итак, лучше для глаз, не так ли.

Аналогичным образом вы можете написать - 0x7fff_ffff, 0b0111_1111.

И в отношении имени переменной _ является допустимым именем переменной. В соответствии со стандартом Java имя переменной должно начинаться с $, _ или letter.

+3

+1 не знал, что вы не можете использовать это для плавающей запятой. –

+0

Я думаю, что это отвратительно. Улучшить читаемость? Я не согласен. – duffymo

+2

@duffymo. Я думаю, что это было для цели удобочитаемости. Запись '1_000_000_000' лучше читается, чем' 1000000000'. –

Смежные вопросы