Java - це статично типізована мова, а це означає, що тип змінної відомий під час компіляції. Присвоєння значення імені називають визначенням змінної. Змінну визначають, явно вказуючи її тип.
int explicitVar = 10;
Оновлення значення змінної виконують через оператор =.
Тут = не означає математичної рівності.
Він просто присвоює значення змінній.
Після визначення тип змінної вже не може змінитися.
int count = 1; // Assign initial value
count = 2; // Update to new value
// Compiler error when assigning a different type
// count = false;
Java - це обʼєктно-орієнтована мова, і в ній усі функції потрібно визначати всередині класу.
Для визначення класу використовують ключове слово class.
class Calculator {
// ...
}
Функцію всередині класу називають методом.
Кожен метод може мати нуль або більше параметрів.
Усі параметри потрібно явно типізувати; для параметрів не існує виведення типів.
Так само потрібно явно вказати і тип поверненого значення.
Значення повертають із методів за допомогою ключового слова return.
Щоб метод можна було викликати з інших класів, потрібно додати модифікатор доступу public.
class Calculator {
public int add(int x, int y) {
return x + y;
}
}
Щоб викликати метод, указують його клас і назву методу та передають аргументи для кожного з параметрів методу.
int sum = new Calculator().add(1, 2); // here the "add" method has been called to perform the task of addition
Область видимості в Java визначають між символами { і }.
Java підтримує два типи коментарів.
Однорядкові коментарі починаються з //, а багаторядкові вставляють між /* і */.
У цій вправі ми напишемо трохи коду, який допоможе приготувати чудову лазанью з нашої улюбленої кулінарної книги.
На нас чекають чотири завдання, усі повʼязані з часом, витраченим на приготування лазаньї.
Визначте метод expectedMinutesInOven(), який не приймає жодних параметрів і повертає, скільки хвилин лазанья має провести в духовці. Згідно з кулінарною книгою, очікуваний час у духовці становить 40 хвилин:
Lasagna lasagna = new Lasagna();
lasagna.expectedMinutesInOven();
// => 40
Визначте метод remainingMinutesInOven(), який приймає як параметр фактичну кількість хвилин, які лазанья вже провела в духовці, і повертає, скільки хвилин їй ще залишилося там провести, виходячи з очікуваного часу в духовці з попереднього завдання.
Lasagna lasagna = new Lasagna();
lasagna.remainingMinutesInOven(30);
// => 10
Визначте метод preparationTimeInMinutes(), який приймає як параметр кількість шарів, доданих до лазаньї, і повертає, скільки хвилин ми витратили на її підготовку, якщо припустити, що на кожен шар потрібно 2 хвилини.
Lasagna lasagna = new Lasagna();
lasagna.preparationTimeInMinutes(2);
// => 4
Визначте метод totalTimeInMinutes(), який приймає два параметри: перший параметр - це кількість шарів, доданих до лазаньї, а другий - кількість хвилин, які лазанья провела в духовці. Функція має повернути, скільки хвилин у сумі ми витратили на приготування лазаньї, тобто суму часу на підготовку в хвилинах і часу в хвилинах, які лазанья на цей момент провела в духовці.
Lasagna lasagna = new Lasagna();
lasagna.totalTimeInMinutes(3, 20);
// => 26
Зареєструйтеся на Exercism, щоб вивчати й опановувати Java, а також 26 концепцій158 вправ та справжнє наставництво від людей, і все це безкоштовно.