A Java statikusan típusos nyelv, ami azt jelenti, hogy egy változó típusa fordítási időben ismert. Egy érték névhez rendelését a változó definiálásának nevezzük. A változót úgy definiáljuk, hogy explicit módon megadjuk a típusát.
int explicitVar = 10;
A változó értékének frissítése a = operátorral történik.
Itt a = nem matematikai egyenlőséget jelöl.
Egyszerűen értéket rendel egy változóhoz.
A változó típusa a definiálás után soha nem változhat.
int count = 1; // Assign initial value
count = 2; // Update to new value
// Compiler error when assigning a different type
// count = false;
A Java egy objektumorientált nyelv, és megköveteli, hogy minden függvény egy osztályban legyen definiálva.
A class kulcsszó egy osztály definiálására szolgál.
class Calculator {
// ...
}
Egy osztályon belüli függvényt metódusnak nevezünk.
Minden metódusnak lehet nulla vagy több paramétere.
Minden paraméter típusát explicit módon meg kell adni, a paramétereknél nincs típuskövetkeztetés.
Hasonlóképpen a visszatérési típust is explicit módon meg kell adni.
A metódusok az értékeket a return kulcsszóval adják vissza.
Ahhoz, hogy egy metódust más osztályok is meghívhassanak, hozzá kell adni a public hozzáférés-módosítót.
class Calculator {
public int add(int x, int y) {
return x + y;
}
}
Egy metódus meghívása úgy történik, hogy megadjuk az osztályát és a metódus nevét, valamint argumentumokat adunk át a metódus minden paraméteréhez.
int sum = new Calculator().add(1, 2); // here the "add" method has been called to perform the task of addition
A scope Javában a { és } karakterek között van definiálva.
A Java kétféle kommentet támogat.
Az egysoros kommenteket // előzi meg, a többsoros kommenteket pedig /* és */ közé kell illeszteni.
Ebben a feladatban kódot írsz majd, hogy segíts elkészíteni egy fantasztikus lasagnát a kedvenc szakácskönyvedből.
Négy részfeladat vár rád, amelyek mind a lasagna elkészítésével töltött időhöz kapcsolódnak.
Definiáld az expectedMinutesInOven() metódust, amely nem vesz át egyetlen paramétert sem, és visszaadja, hány percig kell a lasagnának a sütőben lennie. A szakácskönyv szerint a várható sütési idő 40 perc:
Lasagna lasagna = new Lasagna();
lasagna.expectedMinutesInOven();
// => 40
Definiáld a remainingMinutesInOven() metódust, amely paraméterként átveszi, hogy a lasagna hány perce van a sütőben, és visszaadja, hány percig kell még a sütőben maradnia, az előző részfeladatban megadott várható sütési idő alapján.
Lasagna lasagna = new Lasagna();
lasagna.remainingMinutesInOven(30);
// => 10
Definiáld a preparationTimeInMinutes() metódust, amely paraméterként átveszi a lasagnához adott rétegek számát, és visszaadja, hány percet töltöttél a lasagna előkészítésével, feltéve, hogy minden réteg elkészítése 2 percet vesz igénybe.
Lasagna lasagna = new Lasagna();
lasagna.preparationTimeInMinutes(2);
// => 4
Definiáld a totalTimeInMinutes() metódust, amely két paramétert vesz át: az első paraméter a lasagnához adott rétegek száma, a második pedig az, hogy hány perce van a lasagna a sütőben. A függvény adja vissza, hogy összesen hány percet dolgoztál a lasagna elkészítésén, ami az előkészítési idő és a lasagna által a sütőben eddig eltöltött idő összege.
Lasagna lasagna = new Lasagna();
lasagna.totalTimeInMinutes(3, 20);
// => 26
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Java nyelvet 26 fogalom158 feladat segítségével, valódi emberi mentorálással, mindez ingyen.