разница между println & printf
Яков Файн дал мне задание разобраться в чём разница между System.out.println и System.out.printf. По английски читаю, но в суть вникнуть не могу, так в чём же разница?
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Разница между & и &&
Здравствуйте, объясните пожалуйста: какая разница между && и &.
В чем разница между & и &&
подскажите в чем разница между двумя операторами на практике & и && в книге приведены.
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
Не знаю что вы там читаете, но первая же ссылка отвечает на ваш вопрос http://stackoverflow.com/quest. out-printf
32 / 30 / 11
Регистрация: 27.09.2014
Сообщений: 359
Doctor_, Моя твоя не понимает, я эту тему по английски прочитал, понял, но не понял.
Регистрация: 11.05.2015
Сообщений: 101

Сообщение было отмечено olexiy86 как решение
Решение
olexiy86, print — означает напечатать. println — означает напечатать и перевести на новую строку (ln — line new), printf — означает напечатать, отформатированный текст (f — formatting), то есть если нам нужно вывести символы, слова, числа, даты, и т д., в каком-то особенном виде, то мы в параметрах метода printf задаем шаблон, по которому хотим вывести данные, и сами данные.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Разница между and or и && ||
Здравствуйте, не могу понять уже какой час, какая разница между and or и && ||, кто может.
разница между QWidget & QMainWindow
в чем собственно разница что выбирать при создании нового проекта? QWidget или QMainWindow?

в чем разница между void f(int &n) и void f(int &&n)
:help:
Класс PrintStream
Класс PrintStream предоставляет все возможности, которые знакомы по System.out. Поддерживает методы print(), println() и printf().
Методы print() и println()
Очень часто программисты используют методы print() и println() для временной отладки. Особо говорить о них нечего.
Метод printf()
При сложном выводе строки удобнее её сначала отформатировать, чтобы результат выглядел красивым. Допустим, мы хотим распечатать таблицу умножения от 1 до 10. В качестве разделителя будем использовать символ табуляции
int[][] multiplyTable = new int[10][10]; for (int i = 0; i < 10; i++) < for (int j = 0; j < 10; j++) < multiplyTable[i][j] = (i + 1) * (j + 1); // используем символ табуляции System.out.print(multiplyTable[i][j] + "\t"); >System.out.println(); >
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100
Таблица получилась не слишком аккуратной. Заменим одну строку кода.
System.out.printf("%4d", multiplyTable[i][j]);
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100
Таблица стала компактнее, кроме того числа выравнены по последней цифре и визуально смотрится гораздо красивее.
Выражение %4d является шаблоном, который выделил четыре места под выводимое число. Но есть и другие способы форматирования строки.
В предыдущем примере d означает вывод десятичного целого числа, а 4 — означает то, что если количество знаков в числе меньше, чем 4, то оно будет спереди дополнено пробелами на недостающее количество знаков. % — специальный символ, обозначающий начало инструкции форматирования.
Усложним пример, написав страшный код.
System.out.printf("%5d%n%5d%n%5d%n%5d%n%5d", 55555, 4444, 333, 22, 1);
55555 4444 333 22 1
Выражение %5d уже знакомо — мы форматируем имеющиеся числа, выделяя по пять мест. Выражение %n означает перевод строки. Тем самым мы получили лесенку. Можно догадаться, что после первого параметра идут данные из массива, которые подставляются вместо выражения. Перевернём строку.
System.out.printf("%5d%n%5d%n%5d%n%5d%n%5d", 1, 22, 333, 4444, 55555); 1 22 333 4444 55555
Рассмотрим пример с числом с плавающей точкой.
System.out.printf("%1$+010.5f", Math.PI); +003.14159
- 1$ — данный формат применяется к первому аргументу, который находится после строки форматирования. В данном примере это было указывать не обязательно
- +0 — недостающие (до 10-ти) символы будут заполнены нулями, перед числом будет указан знак (+)
- 10 — всего выведенное число будет иметь ширину в 10 символов
- .5 — выведенное число будет содержать 5 знаков после запятой
- f — выводим число с плавающей точкой. По умолчанию шесть символов после запятой
На практике часто встречается вариант, когда в строку вставляются несколько выражений. Например, так.
int i = 5; double root; root = Math.sqrt(i); System.out.printf("Корень числа %d равен %.3f", i, root); // Выводится Корень числа 5 равен 2.236
Программа встречает первую инструкцию и применяет к первому элементу массива (i), затем вторая инструкция применяется ко второму элементу root.
Очень большое целое число можно разбить на разряды. Тут есть одна особенность. Во многих странах используют разные способы разбивки. Например, в России считается стандартом разбивка при помощи запятой, а во Франции через пробелы. По умолчанию используется локаль системы. Можно переопределить локаль, чтобы получить нужный результат.
System.out.printf(Locale.FRANCE,"%,d", 1000000000); // Выводится 1 000 000 000
Мы выводили числа с пробелами спереди. Пробелы можно заменить на нули.
System.out.printf("%3d", 3); // три места под число, дополняются пробелами System.out.println(); System.out.printf("%03d", 3); // три места под число, дополняются нулями // Выводится 3 003
Можно добавить плюс (уже использовали) или выравнивать число пробелами по левой стороне.
System.out.printf("%+3d", 3); // выводим плюсик и три места под число System.out.println(); System.out.printf("%-3d", 3); // три места под число, пробелы справа после числа System.out.print(1); // Результат +3 3 1
Кроме чисел можно форматировать строки. Используется символ s.
System.out.printf("А у нас сегодня %s родила вчера %s", "кошка", "котят"); // Результат А у нас сегодня кошка родила вчера котят
«%10s%n» — если строка содержит менее 10 символов, то будет дополнена пробелами слева.
«%-10s%n» — если строка менее 10 символов, то будет дополнена пробелами справа на недостающее количество символов.
Выводим три первых символа.
System.out.printf("%.3s", "Котелок");
Кстати, эти же правила форматирования используются в методе String.format(). Там можно найти другие символы форматирования для дат, шестнадцатеричных систем, верхнего регистра и т.д.
difference between printf and println in java? [duplicate]
Just came to know that java does has a method named printf , then what is the difference between printf & println ?
asked Feb 27, 2015 at 6:08
Bhargav Modi Bhargav Modi
2,625 3 3 gold badges 31 31 silver badges 49 49 bronze badges
printf is like the C printf function, «print format», the other is a more (or less) updated version, which doesn’t require a format and value list. What does the JavaDoc’s tell you?
Feb 27, 2015 at 6:10
@MadProgrammer than what is the use of it if we have format and printf the same ?
Feb 27, 2015 at 6:12
Because for many, printf is confusing and be difficult to use if you’ve not used it before. You can use println(«Say » + word) or printf(«Say %s%n», word) , which one is generally more easier to read? C doesn’t have a String in the sense that Java does, so allowing println simplifies the process
Feb 27, 2015 at 6:15
@shikjohari kindly read the question properly as it’s about difference and not about which one is better and I had gone through your mentioned before posting this question.
Feb 27, 2015 at 6:20
@BhargavModi Well if you go through the answer of that question, you ll understand why I said this as a dupclicate. Read the asnwers also properly 🙂
Разница между print и println
Между командами System.out.print и System.out.println есть отличие. Первая выводит символы и не переходит на следующую строку, вторая – напечатает символы и курсор перейдет на следующую строку.
Источник: JS
Владимир СпекторМастер (1755) 7 лет назад
Спасибо, теперь понятно, что ln означает line, да? )
Juan Vásquez Оракул (55090) Совершенно верно)
Остальные ответы
Второго слова нет.
неужели так сложно справочник открыть?
вторая перенос строки добавляет
StyxПрофи (542) 7 лет назад
у меня еще 50 вопросов, так что крепитесь!
Зло Просветленный (38543) может, мне тебе сразу ссылку на справочник дать?
народ
не кормите троллей.
Print-всё в одну строку, println-каждый вывод на новой строке
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.