Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java return

Sivun loppuun

Tommittaja [13.01.2009 17:08:46]

#

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?

os [13.01.2009 18:11:45]

#

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" returnilla ("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
}

maka78 [13.01.2009 18:21:19]

#

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

Päärynämies [13.01.2009 21:48:26]

#

Kannattaa varmaan lukea sitä kirjaa järjestyksessä minkään yli suuremmin hyppimättä, jos noinkin tärkeitä asioita olet onnistunut skippaamaan. Ei minulla muuta.

Tommittaja [14.01.2009 17:39:11]

#

joo, luin kyllä kaiken, mutta kaikesta en saanut selvää joten en tarkemmin uppoutunut tuohon osioon..

ville-v [14.01.2009 17:40:12]

#

Kirjaa kannattaa lukea useampaan kertaan.

Tommittaja [14.01.2009 18:17:38]

#

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

rautamiekka [14.01.2009 18:45:31]

#

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)

maka78 [14.01.2009 18:53:57]

#

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


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta