Із чого починається вивчення мови програмування? З написання першої програми. Традиційно перша програма називається “Hello world”, і її функціонал складається з виведення на консоль фрази “Hello world!”. Така проста програма дає можливість новому програмісту відчути, що щось так запрацювало.
“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")
-
Негайне зупинення програми:
System.exit(0)
Перериває виконання програми шляхом зупинки Java Virtual Machine;
-
Отримання роздільника рядків, який використовується у цій операційній системі:
System.lineSeparator()
-
Отримання поточного часу системи у мілісекундах:
та ще багато корисного функціоналу.System.currentTimeMillis();
Повертає значення змінної оточення JAVA_HOME, яка встановлюється у системних налаштуваннях ОС. При установці Java ти напевно з нею стикався;
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-програмісту необхідно зробити таке:- Звернутися до сутності, яка здатна поєднати наш додаток і консоль -
System
; - Звернутися до потоку виведення на консоль -
System.out
; - Викликати метод, який записує інформацію на консоль -
System.out.println
; - Надіслати текст, який потрібно записати.
System.out.println(“Hello World!”);
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ