Nenašel by se někdo zkušený na výuku Javy?

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Funstorm007
Level 5
Level 5
Příspěvky: 2031
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod Funstorm007 » 08 lis 2011 18:43

...pokud víš jak na to ;)

Člověk může mít sebelepší designové a návrhové schopnosti ale pokud neumí HTML nebo CSS tak web stejně neudělá...

Reklama
Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod domitea » 08 lis 2011 18:48

No tak metody, jsou buďto ty, co něco vracejí, nebo nic nevracejí. Můžou být také přetížené a nepřetížené - tý který dáváš parametry, tak je přetížená. a volají se jednoduše: - vezmu příklad ze svého C# ten totiž z Javy trochu vychází :wink:

Kód: Vybrat vše


int VracejInt (int a) // pretizena metoda co neco vraci
{
return a;
}

void NakresliCaru (int xs, int ys, int xk, int yk) // pretizena metoda co nic nevraci - jen pracuje
{
g.DrawLine(xs,ys,xk,yk);
}

// volani

VracejInt(6); // Vysledek bude 6, kdyby tam bylo return a+1, tak vrati 7, jasny?

NakreliCaru(5,5,6,6) // Nakresli caru, ktera zacina na [5;5] a konci na [6;6]


Doufám, že to už aspoň trošku chápeš a tahle to funguje v každém objektovém programovacím jazyce, jen se to jinak píše :wink:

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7398
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod faraon » 08 lis 2011 19:22

domitea: No, po usilovném googlení jsem už pochopil že metody jsou něco jako funkce v Céčku. Takže například funkce pro součet dvou čísel je mi jasná:

Kód: Vybrat vše

int soucet(int x,int y)
    {
    return x=y;
    }


To by se tedy mělo jmenovat přetížená metoda vracející součet.
Ale co když budu chtít změnit obsah těch předávaných proměnných? Předpokládám že ty proměnné jsou lokální a nic mimo funkci se jich netýká. V Céčku se to řeší přes ukazatele:

Kód: Vybrat vše

void swap(int *x,int *y)
     {
     int w;

     w=*x;
     *x=*y;
     *y=w;
     }


Tohle je přetížená metoda co nic nevrací, přesto ovlivňuje svět někde úplně jinde...
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
Funstorm007
Level 5
Level 5
Příspěvky: 2031
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod Funstorm007 » 08 lis 2011 20:00

Ta šestka na výstupu je náhodně vybrané číslo? Protože právě s tou závorkou, či spíš s jejím obsahem, mám vždy problém. Jestli metoda vrací nějekou hodnotu či ne chápu tak, že když je tam to void tak nevrací a když tam není, hodnota něco vrací.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7398
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod faraon » 08 lis 2011 20:14

V závorce je to co metodě předáváš ke zpracování, takže číslo 6 je příklad náhodně vybraných vstupních dat. To co metoda vrací můžeš přiřadit do nějaké proměnné, nebo třeba testovat v podmínce...

Kód: Vybrat vše

x = VracejInt(15);

Metodě předáš číslo 15, a výsledek se uloží do proměnné x, takže v ní bude také 15.

Kód: Vybrat vše

y = 15;
x = VracejInt(y+3);

Metodě předáš součet y+3, takže dostane číslo 18. To se vrátí a uloží do proměnné x. V y stále zůstává 15.


Ještě k tomu názvosloví, z toho mi pěkně pění krev. Metoda co něco vrací se dřív jmenovala funkce, ta co nic nevrací byla procedura, a obě se ještě dřív nazývaly podprogramy :evil:
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod domitea » 08 lis 2011 20:29

Přesně jak psal Faraon. Jestli je to C, C++, Wiring nebo C# tak se píše stejně. V závorce jsou vždy data, která pak metoda(funkce :wink: ) použije.

Jen pozor u tohoto:

Kód: Vybrat vše

x = delejNeco(6);


aby byly správně typy proměnné (int = int,.....), jinak převádět!

Faraon: A znáš třídu? Základ OOP :lol:

Uživatelský avatar
Funstorm007
Level 5
Level 5
Příspěvky: 2031
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod Funstorm007 » 08 lis 2011 20:35

Jasně, v tom druhém případě zadám 15 na pevno. Ale můžu dám do té závorky i proměnnou? Něco, co se bude měnit v závoslosti třeba na nějakých výpočtech...

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod CZechBoY » 08 lis 2011 20:41

přetížený metody by měly bejt metody, který maj různý počet parametrů, ale stejný název
C# píše:int mocnina(int cislo)
{
return Math.Pow(cislo,2); //druhá mocnina čísla z parametru
}

int mocnina(int cislo, int x)
{
return Math.Pow(cislo,x); //X-tá mocnina čísla cislo
}

mocnina(10); //výsledek 100
mocnina(10,3); //výsledek 1000

PHP píše:function mocnina($cislo,$x=2)
{
return Pow($cislo,$x);
}
mocnina(10); //výsledek 100
mocnina(10,3); //výsledek 1000
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
Funstorm007
Level 5
Level 5
Příspěvky: 2031
Registrován: říjen 08
Pohlaví: Muž
Stav:
Offline

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod Funstorm007 » 08 lis 2011 20:51

PHP mě nezajímá, to nechápu už vůbec :D Už tomu začínám pomalu rozumět :idea:

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7398
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod faraon » 08 lis 2011 20:51

Funstorm007: Můžeš tam dát proměnnou nebo libovolný výraz, jehož výsledek bude mít odpovídající typ, v tomhle případě int.

domitea: Myslíš Organizaci pro Osvobození Palestiny? ;-) Někdy před deseti lety jsem o tom četl knížku, znám pár základních věcí z doslechu, ale nikdy jsem to nezkoušel prakticky. V Céčku taková omezení nejsou třeba. A víš ty k čemu je ve FORTRANu příkaz CONTINUE? :lol:
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod CZechBoY » 08 lis 2011 21:12

faraon: continue bude mít stejnou funkci jako Next ve VB a konec složený závorky v C jazycích ne? :D
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7398
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Nenašel by se někdo zkušený na výuku Javy?

Příspěvekod faraon » 08 lis 2011 21:20

CZechBoY: Jsi blízko, v těchhle místech se na něj dá narazit. V podstatě ale nemá funkci vůbec žádnou, slouží tam jen ke zvýšení přehlednosti.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů