JavaRush /Java блог /Random UA /System.out.println

System.out.println

Стаття з групи Random UA
Із чого починається вивчення мови програмування? З написання першої програми. Традиційно перша програма називається “Hello world”, і її функціонал складається з виведення на консоль фрази “Hello world!”. Така проста програма дає можливість новому програмісту відчути, що щось так запрацювало. System.out.println - 1

“Hello world” різними мовами програмування

Різними мовами програмування код буде різним: Pascal “Hello world”
begin
  writeln ('Hello, world.');
end.
C “Hello world”
int main() {
   printf("Hello, World!");
   return 0;
}
C# "Hello world"
static void Main(string[] args)
 {
     System.Console.WriteLine("Hello World!");
 }
Java “Hello world”
public static void main(String[] args) {
     System.out.println("Hello World!");
 }
Незважаючи на різний код, у всіх програм є спільна команда, яка безпосередньо виводить текст на консоль:
  • Pascal - writeln;
  • C - printf;
  • C# - System.Console.WriteLine;
  • Java - System.out.println.

Докладніше про виведення на консоль у Java

Як ви вже зрозуміли, щоб вивести текст на консоль, Java потрібно скористатися командою System.out.println(). Але що означає цей набір символів? Для тих, хто знайомий з мовою Java та основними термінами ООП (для студентів, які пройшли курс JavaRush приблизно до 15 рівня), відповідь очевидна: “Для виведення тексту на консоль ми звертаємося до статичного поля класу, у якого викликаємо метод out, Systemі println()як аргументу передаємо об'єкт класу String”. Якщо вам сенс сказаного вище туманний, значить, розбиратимемося! Ця команда складається з трьох слів: System out println. Кожне з них є якоюсь сутністю, яка надає необхідний функціонал для роботи з консоллю. System- сутність (в Java це називається класом), яка виконує роль "мосту", що з'єднує вашу програму з середовищем, в якому вона запущена. out- Сутність, яка зберігається всередині System. За умовчанням посилається потік виведення на консоль. Докладніше про потоки вводу/виводу Java можна прочитати тут . println— метод, який викликається у сутності out, щоб визначити спосіб, за допомогою якого інформація буде виведена на консоль. Давай розберемося з кожним елементом з цього ланцюжка докладніше.

System

Як уже сказано, System- це якась сутність (клас), яка надає розробнику можливості для спілкування з навколишнім середовищем: тобто операційною системою, під якою запущена програма. Так як консоль - це додаток, встановлений всередині операційної системи (командний рядок, Shell для Windows і Terminal для Linux), стає зрозуміло, для чого використовується сутність System- для встановлення зв'язку між нашою програмою та зовнішнім світом. Крім з'єднання з консоллю, Systemє й інший функціонал:
  • Доступ до змінних оточення операційної системи:

    System.getenv("JAVA_HOME")
  • Повертає значення змінної оточення JAVA_HOME, яка встановлюється у системних налаштуваннях ОС. При установці Java ти напевно з нею стикався;

  • Негайне зупинення програми:

    System.exit(0)

    Перериває виконання програми шляхом зупинки Java Virtual Machine;

  • Отримання роздільника рядків, який використовується у цій операційній системі:

    System.lineSeparator()
  • Отримання поточного часу системи у мілісекундах:

    System.currentTimeMillis();
    та ще багато корисного функціоналу.
Дані приклади це методи, які виконують певні дії. Наприклад, зупиняють роботу програми або повертають запитуване значення. Крім методів, клас Systemмістить поля, які зберігають посилання та інші сутності:
  • out- вже знайоме нам посилання на сутність потоку виведення інформації на консоль;
  • in- Посилання на сутність, яка відповідає за читання інформації, що вводиться з консолі.
  • errдуже схожа out, але призначена для виведення помилок.
Знаючи про ці сутності всередині класу System, програміст може їх використовувати у своїх цілях. У мові Java для доступу до елемента, який знаходиться всередині іншого елемента, використовується оператор “.”. Таким чином, щоб отримати доступ до сутності потоку виведення інформації на консоль, потрібно написати код:
System.out
Тепер розберемося, що собою являє цей out.

out

out- Це ім'я змінної, яка зберігає посилання на об'єкт (сутність) типу PrintStream. Цей об'єкт налаштований таким чином, щоб вся інформація, що записується до нього, потрапляла на консоль. Так, об'єкт outє екземпляром класу PrintStream, і в нього можна викликати відповідні методи:
  • print()- Висновок переданої інформації. Як аргументи може приймати числа, рядки, інші об'єкти;
  • printf()- Форматований висновок. Форматує переданий текст, використовуючи спеціальні рядки та аргументи;
  • println()- Виведення переданої інформації та переклад рядка. Як аргументи може приймати числа, рядки, інші об'єкти;
  • Деякі інші методи, які нам не цікаві у контексті цієї статті.
Як бачимо, різниця між print()і println()невелика. Єдине, чим відрізняється println(), так це тим, що він замість нас додасть перехід на новий рядок, що і робить його популярнішим print(). Якщо ми тричі викличемо метод print()з аргументом на Hello World!, результатом буде такий рядок:
Hello World!Hello World!Hello World!
У той час як метод println()кожен висновок буде приводити з нового рядка:
Hello World!
Hello World!
Hello World!
Для виклику методу об'єкт використовується знайомий нам оператор “.”. Таким чином, виклик методу println()у сутності out виглядає так:
out.println()

println

Як і в багатьох інших мовах програмування, Java println — це скорочення від “print line”. Ми вже знаємо, що println()це метод, який необхідно викликати у сутності out. Якщо ти новачок в Java і в програмуванні в цілому, то методи - це набір команд, які логічно об'єднані. У нашому випадку println()це блок команд, який направляє текст у потік виведення і в кінці додає переклад рядка. Java методи можуть отримувати аргументи. Коли ми викликаємо метод, аргументи передаються всередину круглих дужок.
println(Hello World!);
У свою чергу код, який знаходиться всередині методу, отримує переданий нами текст і відправляє його на висновок.

Побудуємо логічний ланцюжок

Щоб вивести текст на консоль, Java-програмісту необхідно зробити таке:
  1. Звернутися до сутності, яка здатна поєднати наш додаток і консоль - System;
  2. Звернутися до потоку виведення на консоль - System.out;
  3. Викликати метод, який записує інформацію на консоль - System.out.println;
  4. Надіслати текст, який потрібно записати.System.out.println(“Hello World!”);

Підведемо підсумки

Звичайне виведення інформації на консоль Java запускає цілий ланцюжок звернення до різних об'єктів і методів. Розуміння того, що відбувається під час виклику найбільш використовуваної команди Java, робить нас трохи ближче до статусу Джава-Гуру!
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ