Függvények, metóduok¶
Ahogyan a Python anyagrészben már megtanultuk, természetesen a Java nyelvben is lehetőségünk van különbőző függvényeket, metódusokat létrehozni.
Beépített függvények¶
A beépített függvényeknek az előnye, hogy nem szükséges semmit importálnunk, alapból tartalmazza a fordító
Matematikai¶
Főbb matematikai függvények:
| Függvény | Példa | Leírás |
|---|---|---|
| Math.abs(x) | Math.abs(-5) |
Egy szám abszolútértéke |
| Math.max(x, y) | Math.max(5, 6) |
Két szám maximuma |
| Math.min(x, y) | Math.min(5, 6) |
Két szám minimuma |
| Math.sqrt(x) | Math.sqrt(25) |
Egy szám négyzetgyöke |
| Math.random() | Math.random() |
Véletlen szám 0 és 1 között |
| Math.pow(x, y) | Math.pow(2, 3) |
Egy szám hatványa |
| Math.sin(x) | Math.sin(0) |
Egy szám szinusz értéke |
| Math.cos(x) | Math.cos(0) |
Egy szám koszinusz értéke |
| Math.tan(x) | Math.tan(0) |
Egy szám tangens értéke |
| Math.log(x) | Math.log(1) |
Egy szám logaritmus értéke |
| Math.log10(x) | Math.log10(1) |
Egy szám 10-es logaritmus értéke |
| Math.round(x) | Math.round(1.5) |
Egy szám matematikai kerekítése |
| Math.floor(x) | Math.floor(1.5) |
Egy szám lefelé kerekítése |
| Math.ceil(x) | Math.ceil(1.5) |
Egy szám felfelé kerekítése |
| Math.PI | Math.PI |
PI értéke |
String¶
A beépített String függvények lehetőséget biztosítanak a szövegek manipulálására.
Az alábbi példák teszteléséhez hozzunk létre egy változót:
A változó neve után tegyünk . karaktert, majd adjuk meg a függvény nevét, majd zárójelek között a paramétereket.
Főbb String függvények:
| Függvény | Példa | Leírás |
|---|---|---|
| length() | example.length() |
Szöveg hosszának lekérdezése |
| toUpperCase() | example.toUpperCase() |
Szöveg nagybetűssé alakítása |
| toLowerCase() | example.toLowerCase() |
Szöveg kisbetűssé alakítása |
| replace(x, y) | example.replace("Példa", "Másik") |
Szövegben x szöveg y szövegre cserélése |
| substring(x, y) | example.substring(0, 5) |
Szöveg x és y közötti részének kivágása |
| indexOf(x) | example.indexOf("P") |
Szövegben x szöveg első előfordulásának indexe |
| split(x) | example.split(" ") |
Szöveg x szöveg mentén történő szétválasztása |
| trim() | example.trim() |
Szöveg elején és végén lévő felesleges szóközök eltávolítása |
| startsWith(x) | example.startsWith("P") |
Szöveg x szöveggel kezdődik-e |
| endsWith(x) | example.endsWith("g") |
Szöveg x szöveggel végződik-e |
| contains(x) | example.contains("P") |
Szöveg x szöveget tartalmazza-e |
| equals(x) | example.equals("Példa szöveg") |
Szöveg x szöveggel megegyezik-e |
| repeat(x) | example.repeat(2) |
Szöveg x számú ismétlése |
| charAt(x) | example.charAt(0) |
Szöveg x indexű karaktere |
Szám kerekítése¶
A Java-ban a legegyszerűbb módszer egy szám két tizedesjegyre történő kerekítésére a String.format() metódus használata.
A %.2f formátum a számot két tizedesjegyre kerekíti. Ahány tizedesjegyet szeretnénk, annyit kell megadnunk a % után.
Példa
Össszevont példa
Az előző példától eltérően a kerekítést a System.out.println() függvényen belül végezzük el, külön változó létrehozása nélkül.
Karakter¶
A beépített karakter függvények lehetőséget biztosítanak a karakterek manipulálására.
Az alábbi példák teszteléséhez hozzunk létre egy változót:
Figyelem
A karaktereket a char típusú változókban tároljuk, és a karaktereket aposztrófok (') között adjuk meg.
Főbb karakter függvények:
| Függvény | Példa | Leírás |
|---|---|---|
| isDigit | Character.isDigit('a') |
Karakter szám-e |
| isLetter | Character.isLetter('a') |
Karakter betű-e |
| isLowerCase | Character.isLowerCase('a') |
Karakter kisbetű-e |
| isUpperCase | Character.isUpperCase('A') |
Karakter nagybetű-e |
| toLowerCase | Character.toLowerCase('A') |
Karakter kisbetűvé alakítása |
| toUpperCase | Character.toUpperCase('a') |
Karakter nagybetűvé alakítása |
| isWhitespace | Character.isWhitespace(' ') |
Karakter szóköz-e |
| getNumericValue | Character.getNumericValue('1') |
Karakter számértéke |
Példa
char betu = 'a';
System.out.println(Character.isDigit(betu)); // false
System.out.println(Character.isLetter(betu)); // true
System.out.println(Character.isLowerCase(betu)); // true
System.out.println(Character.isUpperCase(betu)); // false
System.out.println(Character.toLowerCase(betu)); // a
System.out.println(Character.toUpperCase(betu)); // A
System.out.println(Character.isWhitespace(betu)); // false
System.out.println(Character.getNumericValue(betu)); // -1
Dátum és idő¶
Java nyelven a dátum- és időkezelés elengedhetetlen része a modern alkalmazásoknak. Az alábbiakban a Java dátumkezelésének legfontosabb aspektusait mutatom be röviden.
A java.time csomag részeként bevezetett LocalDate, LocalTime, és LocalDateTime osztályok a dátum és idő kezelésének modern megközelítését biztosítják.
Dátum¶
A LocalDate osztály segítségével tudunk dátumokat kezelni.
Ebben az osztályban csak a dátumot tároljuk, azaz az évet, a hónapot és a napot.
Példa
Dátum létrehozása általunk megadott értékek alapján:
Aktuális dátum lekérdezése:
Nincs mindig szükségünk a teljes dátumra, ilyenkor használhatjuk a beépített függvényeket. A fenti date változó alábbi részeit tudjuk lekérdezni:
| Metódus | Leírás | Példakód |
|---|---|---|
| getYear() | Az év lekérdezése | date.getYear() |
| getMonth() | A hónap lekérdezése | date.getMonth() |
| getMonthValue() | A hónap számmal kifejezve | date.getMonthValue() |
| getDayOfMonth() | A hónap napjának lekérdezése | date.getDayOfMonth() |
| getDayOfWeek() | A hét napjának lekérdezése | date.getDayOfWeek() |
| getDayOfYear() | Az év napjának lekérdezése | date.getDayOfYear() |
Példa
Kérjük ki az aktuális évet és írjuk ki a konzolra!
Vannak esetek amikor módosítanunk kell a dátumot, ezt az alábbi függvények segítségével tehetjük meg:
| Metódus | Leírás | Példakód |
|---|---|---|
| plusYears() | Évek hozzáadása | date.plusYears(2) |
| plusMonths() | Hónapok hozzáadása | date.plusMonths(3) |
| plusDays() | Napok hozzáadása | date.plusDays(7) |
| minusYears() | Évek levonása | date.minusYears(1) |
| minusMonths() | Hónapok levonása | date.minusMonths(6) |
| minusDays() | Napok levonása | date.minusDays(10) |
Ezekkel a metódusokkal egyszerűen módosíthatod a LocalDate objektum dátumát, attól függően, hogy szükséges-e előre vagy hátra lépni az időben. Az évek, hónapok és napok hozzáadása vagy levonása segítségével a programozók finoman szabályozhatják a dátumokat a különféle alkalmazásokban.
Példa
Idő¶
A LocalTime osztály segítségével tudunk időpontokat kezelni.
Ebben az osztályban csak az időpontot tároljuk, azaz az órát, a percet, a másodpercet és a nanoszekundumokat.
Példa
Időpont létrehozása általunk megadott értékek alapján:
Aktuális idő lekérdezése a rendszeróra alapján:
Nincs mindig szükségünk a teljes időre, ilyenkor használhatjuk a beépített függvényeket.
A fenti time változó alábbi részeit tudjuk lekérdezni:
| Metódus | Leírás | Példakód |
|---|---|---|
| getHour() | Az óra | time.getHour() |
| getMinute() | A perc | time.getMinute() |
| getSecond() | A másodperc | time.getSecond() |
| getNano() | A másodperc nanoszekundumai | time.getNano() |
| toSecondOfDay() | Éjféltől számított másodpercek | time.toSecondOfDay() |
Példa
Kérjük ki az aktuális órát és írjuk ki a konzolra!
Vannak esetek amikor módosítanunk kell az időt, ezt az alábbi függvények segítségével tehetjük meg:
| Metódus | Leírás | Példakód |
|---|---|---|
| plusHours() | Órák hozzáadása | time.plusHours(2) |
| plusMinutes() | Percek hozzáadása | time.plusMinutes(30) |
| plusSeconds() | Másodpercek hozzáadása | time.plusSeconds(45) |
| plusNanos() | Nanoszekundumok hozzáadása | time.plusNanos(1000000) |
| minusHours() | Órák levonása | time.minusHours(1) |
| minusMinutes() | Percek levonása | time.minusMinutes(15) |
| minusSeconds() | Másodpercek levonása | time.minusSeconds(30) |
| minusNanos() | Nanoszekundumok levonása | time.minusNanos(500000) |
Példa
Dátum és idő¶
A LocalDateTime osztály segítségével tudunk dátumokat és időpontokat kezelni.
Ebben az osztályban a dátumot és az időpontot is tároljuk, tehát ötvözi a LocalDate és a LocalTime osztályokat.
Dátum és idő létrehozása¶
A LocalDateTime osztály of() metódusával tudunk dátumot és időpontot létrehozni.
Aktuális dátum és idő lekérdezése:
Dátum és idő lekérdezése¶
A LocalDateTime osztály get() metódusával tudjuk lekérdezni a dátum és idő részeit.
int year = dateTime.getYear();
int month = dateTime.getMonthValue();
int day = dateTime.getDayOfMonth();
int hour = dateTime.getHour();
int minute = dateTime.getMinute();
int second = dateTime.getSecond();
Dátum és idő módosítása¶
A LocalDateTime osztály plus() és minus() metódusaival tudjuk módosítani a dátumot és időpontot.
Feladatok¶
Olvassunk be a standard inputról neveket vesszővel elválasztva, majd írjuk ki őket egymás alá!
Saját függvények¶
Saját függvények létrehozásához a következő szintaxist kell használnunk:
Szintaxis
Figyelem
A függvényeket a main függvényen kívül kell létrehozni.