Diskuze: Přiřazení do proměnné
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 16 zpráv z 16.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Ne, hodnotu je třeba uvést jen proto, aby se dole mohl vypsat výsledek, jinak bys vypisoval proměnnou, která není inicializovaná.
Takže ak tomu chápem správne,
Java vyhubuje, aj keď sa kód využívajúci tú premennú ešte nevykonal
(resp. je tu len potenciálna možnost využitia takejto premennej? ) ?
Doteraz som pracoval len s interpretovanými jazykmi, preto si nie som istý

Interpreti mají nižší restrikce, Java tam vidí před přiřazením do proměnné vysledek spoustu podmínek a říká si, že kdyby ani jedna z nich neplatila, tak by ve výsledku nic nemuselo být. A potom se vypisuje, což vidí jako problém.
Ten příklad je napsán procedurálně a to Javě moc nesedí. Správně by tam v daném případě
float premenna = 5;
nemělo být vůbec. Místo toho by bylo vhodnější přizpůsobit zbytek ukázkového programu tak, aby zmíněná definice hodnoty nebyla potřebná. Většinou není potřebná ani deklarace.
Napísať by som to nevedel, ale šlo by to takto?
Pridať do triedy private metódu.
Metóda by vlastne vykonávala toto:
System.out.printf("Výsledek: %f", vysledek);
Ten 'vysledek' by bol jej argumentom
Bola by volaná v každej vetve Switcha.
System.out.println("Neplatná voľba.")
Víc by se mi líbilo tohle řešení:
// ...
int volba = Integer.parseInt(sc.nextLine());
try {
System.out.printf("Výsledek: %f", vypocet(a, b, volba));
} catch (Exception e) {
System.err.println(e.getMessage());
}
System.out.println("Děkuji za použití kalkulačky.");
}
float vypocet(float a, float b, int volba) throws Exception {
switch (volba) {
case 1: return a + b;
case 2: return a - b;
case 3: return a * b;
case 4: return a / b;
}
throw new Exception("Neplatná volba");
}
EDIT: Koukám, že se ztrácí odsazení
No jasně, ale tohle je jeden z prvních tutoriálů, metody tady ještě
používat nemůžeš 

@kit
A placol si mi sem kód, ktorému rozumiem tak na 30%
Ale aj tak vďaka.
To je fajn, už ti zbývá jen 70 % 
Chtěl jsi privátní metodu, ale bez použití výjimek by to bylo dost nešikovné.
Ak by som mohol niečo navrhnúť, nestalo by za uváženie pridanie tohto:
http://www.itnetwork.cz/…atch-finally
medzi základné tutoriály? 
To slovo "private" jsem tam nějak zapomněl napsat. Podle mne je to kromě přehlednosti i řešení, které je optimální. Je tam redukován počet podmínek a odstraněny závislosti mezi nimi.
throws slouží k exportu výjimky mimo metodu. Je to vlastně druhý return s jiným typem návratové hodnoty, který se používá při vzniku chybových stavů.
return se používá při výstupu regulérního výsledku metody, throw při chybovém výstupu. Pokud je "volba" mimo interval 1-4, je to chyba vstupu a proto je výhodné použít výjimku (exception).
Je fakt, že výjimky mezi články o práci se soubory nepatří. Pro práci se soubory jsou však nezbytné. Souhlasím tedy s tím, že by výjimky měly být mezi základními tutoriály nebo by jim měla být vyčleněna samostatná kapitola.
Zobrazeno 16 zpráv z 16.