Существует ли серьезное основание использовать “printf” вместо “печати” в Java?

Короткое (хотя и действительное) ответ просто «потому что язык грамматика не определен, чтобы разрешить это». Что касается того, почему это случай, трудно, если не невозможно быть уверенным, если вы не спросите, кто бы ни придумал эту часть грамматики, но я полагаю, что это связано с читабельностью, что является одной из целей Python1.

Зачем вам когда-нибудь писать что-то неявное? Просто разделите его на несколько строк:

x = ['a','b']
for i,j in enumerate(x):
    print(i, ":", j)

Я бы сказал, что этот вариант намного яснее.


1 Из import this: Число читаемости.

19
задан jrockway 14 February 2009 в 00:51
поделиться

4 ответа

printf метод класс PrintStream обеспечивает строка, форматирующая подобный эти printf функция в C.

форматирование для printf использование Formatter синтаксис форматирования класса .

printf метод может быть особенно полезным при отображении нескольких переменных в одной строке, которая была бы утомительной конкатенацией строк использования:

int a = 10;
int b = 20;

// Tedious string concatenation.
System.out.println("a: " + a + " b: " + b);

// Output using string formatting.
System.out.printf("a: %d b: %d\n", a, b);

кроме того, запись JAVA-приложений не обязательно означает писать приложения GUI, поэтому при записи консольных приложений, можно было бы использовать print, println, printf и другие функции, которые произведут к System.out.

30
ответ дан 30 November 2019 в 03:29
поделиться

Лучше, если необходимо управлять точностью чисел с плавающей запятой, сделать дополнение и т.д., System.out.print может распечатать все виды материала, но Вы не можете сделать мелкомодульного управления точности и дополняющий им.

3
ответ дан 30 November 2019 в 03:29
поделиться

Обычно в "реальном" приложении Вы записали бы в систему регистрации, такую как java.util. Вход или вход свободного городского населения, которые имеют способность зарегистрировать различные уровни многословия (т.е. режим "отладки", который был бы отключен в продуктивной среде). Однако для быстрой и грязной временной отладки иногда System.out.println () является самым легким способом сделать вещи (предполагающий, что Ваша среда выполнения выводит стандартный вывод где-нибудь, где можно считать его).

я должен также упомянуть, что можно всегда использовать "String.format ()" для создания строки с помощью формата, и список аргумента переменной (затем передают эту строку в метод входа или System.out.println). Это часто более хорошо, чем конкатенация набора переменных вместе в строку.

3
ответ дан 30 November 2019 в 03:29
поделиться

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

2
ответ дан 30 November 2019 в 03:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: