niin kun selailen noita java oppaita yms. niin mitä se return tarkoittaa? kun olen hieman skipannut sen kirjassani. Kirjassa lukee esim. return 0; ??? mitä se tarkoittaa . en usko että se tarkoittaa sitä, että jos on muuttuja, jonka arvo on 2 niin return muutttaa sen arvon takaisin 2:een.. mitä se siis tarkoittaa?
Edit: mulla on sellainen tunne, että return ikäänkuin päivittää muuttujan?
return
lopettaa metodin ja määrittää sen paluuarvon. Metodin määrityksessä nimen edessä oleva tyyppi (seuraavassa esimekissä int
) on paluuarvon tyyppi. void
-metodit eivät palauta mitään, mutta nekin voi tarvittaessa lopettaa "ennenaikaisesti" return
illa ("void" tarkoittaa tyhjää)
int summaa(int a, int b) { return a+b; } void muuMetodi() { int s = summaa(1,2); // s:n arvo on nyt 3 return; // turha rivi, metodi loppuu muutenkin tähän }
return = palauta
Eli metodin esittelyssä kerrotaan palautettava tyyppi
esim.
public int palauttaaNumeron(){ //palautettava tyyppi on int int r = 0; return r; }
nyt kun tuota metodia kutsutaan palauttaa se r:n arvon eli 0:an.
jos metodin esittelyssä olisi paluu tyypiksi annettu String eli näin..
public String palauttaaNumeron(){ int t = 0; return r; }
ei koodi kääntyisi koska r on tyyppiä int eikä String
tosin sen saisi toimimaan näin:
return ""+r;
jolloin palautetaankin... aivan oikein String
Kannattaa varmaan lukea sitä kirjaa järjestyksessä minkään yli suuremmin hyppimättä, jos noinkin tärkeitä asioita olet onnistunut skippaamaan. Ei minulla muuta.
joo, luin kyllä kaiken, mutta kaikesta en saanut selvää joten en tarkemmin uppoutunut tuohon osioon..
Kirjaa kannattaa lukea useampaan kertaan.
olen lukenutkin, mutta en vain ymmärrä tuota( ja taulukot ovat myös yksi vaikea asia, varsinkin taulukon järjestäminen), mutta osaan taulukon jo suurin piirtein
Jos et noista vielä ymmärtänyt ...
Putkan VB-puolella postasin kun en saanut tulkattua JScript-koodia täysin. Kyseessä oli kun laskinsoftani aina printtasi jotai väärää. No, syy oli että tallensin printattavan tiedon väärään paikkaan ennen End Sub:ia kun return nimenomaan tallentaa printattavan tiedon nyt suorituksessa olevaan funktioon. Johain alkoi lyyti kirjoittaa kun käskettiin tallentaa funktioon ja kutsua kyseistä funktiota tyyliin lbl1.Caption = omaFunktio ;) Jotta tulkkaus tuli täydelliseksi, piti lisätä Exit Function että suoritus päättyy tiedon tallentamisen jälkeen kuten JS-koodissa.
(pahoitteluni puutteellisista tehosteista, singletasking-luurilla ei päästä lukemaan kahta sivua kerralla)
Huomasinpas että tuossa aikaisemmassa postauksessani on kyllä tuossa jälkimmäisessä koodissa muutakin käännös virheen aiheuttavaa, kuin se että ei palauteta Stringiä.
siinä pitäisi lukea
int r = 0;
mutta lukeekin
int t = 0;
Eli tuo herjaisi jo siitä että r:ää ei olla koskaan esitelty :/. harmillinen typo.
Mod. korjasi kooditagit
Aihe on jo aika vanha, joten et voi enää vastata siihen.