{"id":2096,"date":"2017-03-07T14:14:31","date_gmt":"2017-03-07T13:14:31","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=2096"},"modified":"2023-07-03T23:25:14","modified_gmt":"2023-07-03T21:25:14","slug":"java-programozas-10-switch","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=2096","title":{"rendered":"Java programoz\u00e1s 10. &#8211; Switch"},"content":{"rendered":"<h1>Switch, avagy sok &#8220;egyforma&#8221; ajt\u00f3<\/h1>\n<p>Az el\u0151z\u0151 leck\u00e9ben felt\u00e9telvizsg\u00e1latokkal ismerkedhett\u00e9l meg. Amint l\u00e1thattad, nagyon sokf\u00e9le, rugalmas haszn\u00e1lati m\u00f3dja van, de vannak esetek, amikor kifejezetten k\u00f6r\u00fclm\u00e9nyes a haszn\u00e1lata. Nem az\u00e9rt mert neh\u00e9z, hanem van amikor annyira feleslegesnek t\u0171nik sokadszor szinte ugyanazt vizsg\u00e1lni.<\/p>\n<p>Vannak olyan esetek, amikor a sok if-else if-else \u00e1g helyett egyszer\u0171bb lenne egy olyan vizsg\u00e1lat, ahol egy v\u00e1ltoz\u00f3 \u00e9rt\u00e9keit k\u00f6zvetlen\u00fcl lehetne vizsg\u00e1lni, \u00e9s azokhoz m\u00e1s-m\u00e1s utas\u00edt\u00e1sokat rendelhetn\u00e9nk hozz\u00e1. Erre szolg\u00e1l a switch.<\/p>\n<h2>Switch szerkezete<\/h2>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nswitch( valtozo )\r\n{\r\n\/\/ case ut\u00e1n a konkr\u00e9t el\u0151fordul\u00e1s\r\n  case 1_tipus :\r\n\/\/ az el\u0151fordul\u00e1shoz kapcsolt egyetlen utas\u00edt\u00e1s\r\n    elso_tipus_utasitasa;\r\n\/\/ lez\u00e1rjuk a kapcsolt utas\u00edt\u00e1st\r\n  break;\r\n\r\n\/\/ t\u00f6bb el\u0151fordul\u00e1shoz ugyanaz az utas\u00edt\u00e1s is tartozhat\r\n  case 2_tipus : case 3_tipus :\r\n    masodik_vagy_harmadik_tipusok_utasitasa;\r\n  break;\r\n\r\n\/\/ sokszor a rovid egy utasitasos agakat egy sorba irjuk\r\n\/\/ a tomorebb forma miatt, a break mehet a vegere\r\n  case 5_tipus : otodik_tipus_utasitasa; break;\r\n\r\n\/\/ irhattam volna a 2 case agat azonos sorba is, mint a 2-3-nal\r\n  case 4_tipus :\r\n  case 6_tipus :\r\n\/\/ t\u00f6bb el\u0151fordul\u00e1shoz t\u00f6bb utas\u00edt\u00e1s is tartozhat\r\n    negyedik_vagy_hatodik_tipusok_elso_utasitasa;\r\n    negyedik_vagy_hatodik_tipusok_masodik_utasitasa;\r\n    ....\r\n  break;\r\n\r\n\/\/ a 7-es agnal nem veletlenul hianyzik a break!!\r\n  case 7_tipus : hetedik_tipus_utasitasa;\r\n  case 8_tipus : nyolcadik_tipus_utasitasa; break;\r\n\r\n\/\/ egy el\u0151fordul\u00e1shoz t\u00f6bb utas\u00edt\u00e1s is tartozhat\r\n  case 9 :\r\n    kilencedik_tipus_elso_utasitasa;\r\n    kilencedik_tipus_masodik_utasitasa;\r\n  break;\r\n...\r\n...\r\n\/\/ a default ag nem kotelezo! egyfajta else agkent ertelmezheto\r\n  default :\r\n    minden_mas_eset_utasitasai;\r\n    ....\r\n  break;\r\n}\r\n<\/pre>\n<p>Akkor p\u00e1r magyar\u00e1zat ezzel kapcsolatban:<\/p>\n<ol>\n<li>A switch ut\u00e1n z\u00e1r\u00f3jelben meg kell adni azt a t\u00edpust, amelynek a k\u00fcl\u00f6nf\u00e9le \u00e9rt\u00e9keihez kapcsol\u00f3d\u00f3 \u00e1gakat a switch-en bel\u00fcl kezelni szeretn\u00e9nk. Ezek a t\u00edpusok j\u00f3r\u00e9szt primit\u00edv t\u00edpusok lehetnek, valamint p\u00e1r speci\u00e1lis t\u00edpus. A lista nem teljes, de a l\u00e9nyeges elemek benne vannak:\n<ol>\n<li>byte<\/li>\n<li>short<\/li>\n<li>int<\/li>\n<li>char<\/li>\n<li>String(!) (java 7 \u00f3ta)<\/li>\n<li>enum<\/li>\n<\/ol>\n<\/li>\n<li>Az egyes \u00e1gakat case kulcssz\u00f3val vezetj\u00fck be, ami ut\u00e1n oda\u00edrjuk a konkr\u00e9t el\u0151fordul\u00e1st, amihez a kett\u0151spont ut\u00e1ni utas\u00edt\u00e1sokat kapcsolni szeretn\u00e9nk. Ha egyetlen r\u00f6vid utas\u00edt\u00e1st haszn\u00e1lunk csak, akkor \u00edrhatjuk a p\u00e9lda \u00f6t\u00f6dik el\u0151fordul\u00e1s\u00e1nak megfelel\u0151 szerkezetben egy sorba.<\/li>\n<li>T\u00f6bb k\u00fcl\u00f6nb\u00f6z\u0151 el\u0151fordul\u00e1shoz tartozhatnak k\u00f6z\u00f6s utas\u00edt\u00e1s vagy utas\u00edt\u00e1sok, l\u00e1sd 2-3 \u00e9s 4-6 esetek. Az el\u0151fordul\u00e1soknak nem k\u00f6telez\u0151 egym\u00e1s ut\u00e1niaknak lenni, pl sorsz\u00e1mok eset\u00e9n. T\u00f6bb el\u0151fordul\u00e1s k\u00f6z\u00f6s vizsg\u00e1latakor a case elofordulas : utas\u00edt\u00e1sokat egy vagy t\u00f6bb sorba is \u00edrhatjuk (pl\u00e1ne ha sok van), de minden case-t kett\u0151spont v\u00e1laszt el az ut\u00e1na k\u00f6vetkez\u0151 case-t\u0151l vagy az utas\u00edt\u00e1sokt\u00f3l!<\/li>\n<li>Az egyes \u00e1gak utas\u00edt\u00e1sait break-kel z\u00e1rjuk le a k\u00f6vetkez\u0151 el\u0151fordul\u00e1s vizsg\u00e1lata el\u0151tt. Nagyon speci\u00e1lis esetekben a break elhagyhat\u00f3. A p\u00e9ld\u00e1ban szerepl\u0151 7-es el\u0151fordul\u00e1s eset\u00e9n v\u00e9grehajtja a hetedik_tipus_utasitasa-t, de mivel itt hi\u00e1nyzik a break, a 7-eshez v\u00e9grehajtja a 8-as utas\u00edt\u00e1sait is, f\u00fcggetlen\u00fcl att\u00f3l, hogy a k\u00e9t el\u0151fordul\u00e1s k\u00fcl\u00f6nb\u00f6zik egym\u00e1st\u00f3l. Ez az utas\u00edt\u00e1sszerkezet nagyon eln\u00e9zhet\u0151, \u00e9ppen ez\u00e9rt csak nagyon speci\u00e1lis esetben szok\u00e1s haszn\u00e1lni! T\u00f6bb mint 15 \u00e9ves programoz\u00f3i munk\u00e1m sor\u00e1n eml\u00e9keim szerint egyszer haszn\u00e1ltam, ott is teleraktam kommentekkel m\u00e9g a k\u00f6rny\u00e9k\u00e9t is, nehogy valaki j\u00f3hiszem\u0171en kirakja az \u00e1ltalam ott kihagyott break-et! Att\u00f3l el\u00e9gg\u00e9 fejre \u00e1llt volna a program \ud83d\ude42<\/li>\n<li>A default \u00e1gat egyfajta else-k\u00e9nt \u00e9rtelmezhetj\u00fck, sok esetben arra haszn\u00e1ljuk, hogy az egyes el\u0151fordul\u00e1sok vizsg\u00e1lata figyelmeztess\u00fcnk az esetleges hib\u00e1s \u00e9rt\u00e9kekre. Nem k\u00f6telez\u0151, de ha haszn\u00e1ljuk, mindenk\u00e9pp a switch szerkezet v\u00e9g\u00e9n kell lennie.<\/li>\n<li>Amilyen el\u0151fordul\u00e1sok nem szerepelnek a vizsg\u00e1latok k\u00f6z\u00f6tt, azokat a switch figyelmen k\u00edv\u00fcl hagyja.<\/li>\n<\/ol>\n<p>L\u00e1tjuk azt, hogy nagyon rugalmasan vari\u00e1lhat\u00f3 szerkezetr\u0151l van sz\u00f3, amivel v\u00e1ltoz\u00f3k tartalm\u00e1nak direkt vizsg\u00e1latakor az esetleges sok esetet \u00e1tl\u00e1that\u00f3 m\u00f3don kezelhetj\u00fck. A helyzet az, hogy rugalmass\u00e1ga ellen\u00e9re is viszonylag ritk\u00e1n haszn\u00e1lom. Egyr\u00e9szt amiatt, mert sok esetben val\u00f3ban el\u00e9g egy tov\u00e1bbm\u00e1solt if-else if-else alap\u00fa felt\u00e9telvizsg\u00e1lat, m\u00e1sr\u00e9szt n\u00e9h\u00e1ny esetben kifejezetten bonyol\u00edtja a switch a helyzetet. Kicsit olyan ez, mint amikor megtanulja az ember a while, do-while \u00e9s for ciklusokat. B\u00e1rmelyikkel kiv\u00e1lthat\u00f3 b\u00e1rmelyik, a helyzet azonban az, hogy mindegyiket akkor haszn\u00e1ljuk, amikor az a feladat azzal a szerkezettel oldhat\u00f3 meg egyszer\u0171bben vagy \u00e1tl\u00e1that\u00f3bban. A switch eset\u00e9ben a rengeteg fajta testreszab\u00e1si lehet\u0151s\u00e9ggel egy\u00fctt is azt javaslom, hogy akkor haszn\u00e1ljuk, amikor egy\u00e9rtelm\u0171 megold\u00e1sokat kaphatunk vele.<\/p>\n<h2>Switch p\u00e9ld\u00e1k<\/h2>\n<h4>H\u00f3napok<\/h4>\n<p>Tegy\u00fck fel, hogy a h\u00f3napok sorsz\u00e1mait szeretn\u00e9nk \u00e1talak\u00edtani sz\u00f6veges form\u00e1v\u00e1. Az if-else if-else szerkezetekkel ez a k\u00f6vetkez\u0151k\u00e9ppen n\u00e9zne ki:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nint honap = (int)(Math.random() * 12) + 1;\r\nString honev = &quot;&quot;;\r\nif( honap == 1 )\r\n{\r\n  honev = &quot;Januar&quot;;\r\n}\r\nelse if( honap == 2 )\r\n{\r\n  honev = &quot;Februar&quot;;\r\n}\r\nelse if( .... )\r\n...\r\n...\r\nelse\r\n{\r\n  honev = &quot;December&quot;;\r\n}\r\n<\/pre>\n<p>Az \u00e1ltalam szeretett ctrl-c \u00e9s ctrl-v billenty\u0171kombin\u00e1ci\u00f3val ez viszonylag hamar \u00f6sszerakhat\u00f3, de val\u00f3j\u00e1ban a legt\u00f6bb g\u00e9pel\u00e9st a h\u00f3napok nevei okozz\u00e1k. A helyzet az, hogy a switch utas\u00edt\u00e1s sem k\u00edm\u00e9l meg a h\u00f3napok g\u00e9pel\u00e9s\u00e9t\u0151l, de mag\u00e1t az el\u00e1gaz\u00e1si szerkezetet leegyszer\u0171s\u00edti. L\u00e1ssuk hogyan:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nint honap = (int)(Math.random() * 12) + 1;\r\nString honev = &quot;&quot;;\r\nswitch( honap )\r\n{\r\n  case 1 : honev = &quot;Januar&quot;; break;\r\n  case 2 : honev = &quot;Februar&quot;; break;\r\n  case 3 : honev = &quot;Marcius&quot;; break;\r\n  ....\r\n  ....\r\n\/\/ mivel a veletlen szam sorsolas csak 1-12-ot sorsolhat\r\n\/\/ a default-ot nem hibakezelesre hasznalom, ez a december\r\n  default : honev = &quot;December&quot;; break;\r\n}\r\n<\/pre>\n<p>L\u00e1thatod, hogy a switch a sok case meg break miatt ez sem kevesebb g\u00e9pel\u00e9s, mint egy if-else if-else szerkezet, de term\u00e9szetesen megoldhat\u00f3 ezzel is. R\u00e1d b\u00edzom melyiket tekinted egyszer\u0171bbnek.<\/p>\n<h4>Napok<\/h4>\n<p>Mi van akkor, ha a h\u00e9t napj\u00e1nak a sorsz\u00e1m\u00e1b\u00f3l szeretn\u00e9nk megkapni, hogy az h\u00e9tk\u00f6znap vagy h\u00e9tv\u00e9ge:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nint nap = (int)(Math.random() * 7) + 1;\r\nswitch( nap )\r\n{\r\n  case 1 : case 2 : case 3 : case 4 : case 5 :\r\n    System.out.println(&quot;Hetkoznap&quot;);\r\n  break;\r\n\r\n  default :\r\n    System.out.println(&quot;Hetvege&quot;);\r\n  break;\r\n}\r\n<\/pre>\n<p>\u00c9s if-else if-else-szel hogy n\u00e9z ki ugyanez?<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nint nap = (int)(Math.random() * 7) + 1;\r\nif( nap &lt;= 5 )\r\n{\r\n  System.out.println(&quot;Hetkoznap&quot;);\r\n}\r\nelse\r\n{\r\n  System.out.println(&quot;Hetvege&quot;);\r\n}\r\n<\/pre>\n<p>Itt a switch szerintem feleslegesen bonyol\u00edtotta is a megold\u00e1st.<\/p>\n<h4>Hi\u00e1nyz\u00f3 break<\/h4>\n<p>L\u00e1ssunk akkor p\u00e9ld\u00e1t arra, hogy mikor lehet elhagyni a break-et. Sorsoljuk ki egy nap sorsz\u00e1m\u00e1t, \u00edrjuk ki a h\u00e9t h\u00e1tral\u00e9v\u0151 napjainak nev\u00e9t:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nint nap = (int)(Math.random() * 7) + 1;\r\nswitch( nap)\r\n{\r\n  case 1 : System.out.println(&quot;Kedd&quot;);\r\n  case 2 : System.out.println(&quot;Szerda&quot;);\r\n  case 3 : System.out.println(&quot;Csutortok&quot;);\r\n  case 4 : System.out.println(&quot;Pentek&quot;);\r\n  case 5 : System.out.println(&quot;Szombat&quot;);\r\n  case 6 : System.out.println(&quot;Vasarnap&quot;);\r\n}\r\n<\/pre>\n<p>Itt sehol nincs break. Az el\u0151fordul\u00e1sok vizsg\u00e1lat\u00e1nak sorrendje viszont megadja azt, hogy ha mondjuk 3-as napot sorsoltunk, akkor onnan kezd\u0151d\u0151en a hi\u00e1nyz\u00f3 break-ek miatt az utas\u00edt\u00e1sok mindegyike v\u00e9grehajt\u00f3dik. Amelyik el\u0151fordul\u00e1s vizsg\u00e1latn\u00e1l nincs break, az addig v\u00e9grehajtja az \u00f6sszes alatta l\u00e9v\u0151 utas\u00edt\u00e1st &#8211; az ottani case \u00e9rt\u00e9kekt\u0151l f\u00fcggetlen\u00fcl -, ameddig bele nem szalad egy break utas\u00edt\u00e1sba, vagy el nem \u00e9ri a switch v\u00e9g\u00e9t. \u00c9s mi a helyzet a 7-es nappal? Nincs sehol \u00e9s nincs default \u00e1g. Semmi. Amire nincs vizsg\u00e1lat, azt figyelmen k\u00edv\u00fcl hagyja.<\/p>\n<h4>Kerek\u00edt\u00e9s<\/h4>\n<p>Adott a magyar k\u00e9szp\u00e9nzes fizet\u00e9s kerek\u00edt\u00e9si probl\u00e9m\u00e1ja. Az 1-2-re v\u00e9gz\u0151d\u0151 \u00f6sszegeket lefel\u00e9 az alatta l\u00e9v\u0151 t\u00edzesre kerek\u00edtj\u00fck, a 3-4-et a felette l\u00e9v\u0151 5-\u00f6sre, stb. Erre nagyon sokf\u00e9le eleg\u00e1ns, kev\u00e9sb\u00e9 eleg\u00e1ns megold\u00e1st lehetne adni. Switch szerkezettel is megoldhat\u00f3 sokf\u00e9lek\u00e9pp. Mutatok k\u00e9t megold\u00e1st, 1-1 leheletnyi k\u00fcl\u00f6nbs\u00e9ggel.<\/p>\n<p><strong>Els\u0151 verzi\u00f3:<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nint penz = 0;\r\n\r\nfor (int i = 0; i &lt; 20; i++)\r\n{\r\n  penz = (int) (Math.random() * 991) + 10;\r\n  System.out.print(penz + &quot; -&gt; &quot;);\r\n\r\n  switch (penz % 10)\r\n  {\r\n    case 2: case 7: penz -= 2; break;\r\n\r\n    case 1: case 6: penz--;    break;\r\n\r\n    case 3: case 8: penz += 2; break;\r\n\r\n    case 4: case 9: penz++;    break;\r\n  }\r\n  System.out.println(penz);\r\n}\r\n<\/pre>\n<p><strong>M\u00e1sodik verzi\u00f3:<\/strong><\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nint penz = 0;\r\n\r\nfor (int i = 0; i &lt; 20; i++)\r\n{\r\n  penz = (int) (Math.random() * 991) + 10;\r\n  System.out.print(penz + &quot; -&gt; &quot;);\r\n\r\n  switch (penz % 10)\r\n  {\r\n    case 2: case 7: penz--;\r\n    case 1: case 6: penz--; break;\r\n\r\n    case 3: case 8: penz++;\r\n    case 4: case 9: penz++; break;\r\n  }\r\n  System.out.println(penz);\r\n}\r\n<\/pre>\n<p>A m\u00e1sodik esettel tr\u00fckk\u00f6s megold\u00e1s, ahol kihaszn\u00e1lom azt, hogy a hi\u00e1nyz\u00f3 break miatt a k\u00f6vetkez\u0151 utas\u00edt\u00e1sokat is v\u00e9grehajtja a break n\u00e9lk\u00fcli el\u0151fordul\u00e1sokhoz eg\u00e9szen addig, ameddig egy break-be bele nem szalad. A helyzet azonban az, hogy mivel a programoz\u00f3k legt\u00f6bbsz\u00f6r csapatban dolgoznak, a legkev\u00e9sb\u00e9 szeretik m\u00e1sok tr\u00fckk\u00f6s megold\u00e1sait bogar\u00e1szni. A l\u00e9nyeg az, hogy a megold\u00e1s \u00e1tl\u00e1that\u00f3 \u00e9s vil\u00e1gos legyen, hiszen akkor annak m\u0171k\u00f6d\u00e9s\u00e9t, esetleges hib\u00e1it is j\u00f3val egyszer\u0171bb felismerni. Term\u00e9szetesen vannak ett\u0151l egyszer\u0171bb, switch mentes megold\u00e1sok is, ezeket most csak a szerkezet bemutat\u00e1sa miatt \u00edrtam meg.<\/p>\n<h4>Switch haszn\u00e1lata String-gel<\/h4>\n<p>Az al\u00e1bbi feladatban a h\u00f3napokat nev\u00fck alapj\u00e1n szeretn\u00e9nk visszaalak\u00edtani sz\u00e1mokk\u00e1. Term\u00e9szetesen ennek is van egyszer\u0171bb m\u00f3dja, de a p\u00e9lda kedv\u00e9\u00e9rt \u00e1lljon itt switch szerkezettel:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nString&#x5B;] honapok = { &quot;januar&quot;,&quot;marcius&quot;,&quot;december&quot;,&quot;november&quot;,\r\n                     &quot;januar&quot;,&quot;julius&quot;,&quot;majus&quot;,&quot;majus&quot;,&quot;szeptember&quot;,\r\n                     &quot;oktober&quot;,&quot;aprilis&quot;,&quot;majus&quot;,&quot;februar&quot; };\r\nint ho = 0;\r\n      \r\nfor( int i = 0; i &lt; honapok.length; i++ )\r\n{\r\n    switch( honapok&#x5B;i] )\r\n    {\r\n        case &quot;januar&quot;     : ho = 1;  break;\r\n        case &quot;februar&quot;    : ho = 2;  break;\r\n        case &quot;marcius&quot;    : ho = 3;  break;\r\n        case &quot;aprilis&quot;    : ho = 4;  break;\r\n        case &quot;majus&quot;      : ho = 5;  break;\r\n        case &quot;junius&quot;     : ho = 6;  break;\r\n        case &quot;julius&quot;     : ho = 7;  break;\r\n        case &quot;augusztus&quot;  : ho = 8;  break;\r\n        case &quot;szeptember&quot; : ho = 9;  break;\r\n        case &quot;oktober&quot;    : ho = 10; break;\r\n        case &quot;november&quot;   : ho = 11; break;\r\n        case &quot;december&quot;   : ho = 12; break;\r\n        default           : ho = -1; break;\r\n    }\r\n    System.out.print(ho + &quot; &quot; );\r\n}\r\n<\/pre>\n<p>A java 7-es verzi\u00f3j\u00e1t\u00f3l kezd\u0151d\u0151en String is haszn\u00e1lhat\u00f3 a switch bemenetek\u00e9nt. Ilyenkor nem sz\u00fcks\u00e9ges az egyes el\u0151fordul\u00e1sokat az equals met\u00f3dussal ellen\u0151rizni, csak adjuk oda a switch-nek a String v\u00e1ltoz\u00f3t, az egyes el\u0151fordul\u00e1sokn\u00e1l pedig a vizsg\u00e1land\u00f3 \u00e9rt\u00e9keket, a t\u00f6bbit a switch megoldja.<\/p>\n<p>\u00d6sszefoglal\u00e1sk\u00e9nt csak ism\u00e9telni tudom magam: Nagyon eleg\u00e1ns, \u00e9s rugalmas eszk\u00f6z a switch, de itt is \u00fcgyelni kell arra, hogy lehet\u0151leg akkor haszn\u00e1ljuk, amikor ez a legjobb megold\u00e1s, ak\u00e1r a megold\u00e1s egyszer\u0171s\u00e9ge, ak\u00e1r az \u00e1tl\u00e1that\u00f3s\u00e1ga a c\u00e9l. Ne n\u00e9zz\u00fcnk mindent szegnek, ha kalap\u00e1cs van a kez\u00fcnkben \ud83d\ude42<\/p>\n<h4>K\u00f6vetkez\u0151 lecke: <a title=\"Java programoz\u00e1s 11. \u2013 V\u00e9letlen sz\u00e1mok\" href=\"http:\/\/www.webotlet.hu\/?p=178\">V\u00e9letlen sz\u00e1mok<\/a><\/h4>\n","protected":false},"excerpt":{"rendered":"<p>Switch, avagy sok &#8220;egyforma&#8221; ajt\u00f3 Az el\u0151z\u0151 leck\u00e9ben felt\u00e9telvizsg\u00e1latokkal ismerkedhett\u00e9l meg. Amint l\u00e1thattad, nagyon sokf\u00e9le, rugalmas haszn\u00e1lati m\u00f3dja van, de vannak esetek, amikor kifejezetten k\u00f6r\u00fclm\u00e9nyes a haszn\u00e1lata. Nem az\u00e9rt mert neh\u00e9z, hanem van amikor annyira feleslegesnek t\u0171nik sokadszor szinte ugyanazt <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=2096\">Tov\u00e1bb <span class=\"screen-reader-text\">  Java programoz\u00e1s 10. &#8211; Switch<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[99],"tags":[187,90,86,144,143,185,186],"class_list":["post-2096","post","type-post","status-publish","format-standard","hentry","category-java-alap-leckek","tag-default","tag-feltetelvizsgalat","tag-java","tag-java_programozas","tag-programozas","tag-switch","tag-tobbagu"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2096"}],"version-history":[{"count":27,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2096\/revisions"}],"predecessor-version":[{"id":3152,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/2096\/revisions\/3152"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}