[Java lista] Calendar.getActualMaximum - honap utolso napja
Székely István
iszekely at delfin.unideb.hu
2007. Jan. 12., P, 01:35:29 CET
Sziasztok!
Auth Gábor wrote:
> Halihó!
>
> 2007. január 10. 21.23 dátummal Stef ezt írta:
>> A doksi alapján a java.util.Calendar osztaly getActualMaximum() metódusának
>> a visszatérési tipusa int.
>> Én lehagytam azt, hogy minek ad a metódus értéket, és nagyot csodálkoztam,
>> hogy az Eclipse nem szól érte... aztán persze a java is leforditotta, söt,
>> le is futott.
>
> Minden függvényt meg tudsz hívni a visszatérési értéke nélkül, a nyelv
> eldobja a visszakapott értéket. Sok haszna van...
Akkor csak a teljesség kedvéért tennék még hozzá egy pár dolgot.
Amikor meghívsz egy metódust, tulajdonképpen egy egyetlen operandusból álló
kifejezést írsz le, aminek nem használod fel az értékét. (Mi a helyzet a
void metódusokkal???)
Alapvetően Javaban minden kifejezés, kivéve a vezérlési szerkezeteket (if,
for stb), meg persze a körítést az osztályok és metódusok körül. Akkor lesz
csak utasítás belőle, ha pontosvesszőt teszel utána. A legtöbb nyelvvel
ellentétben az értékadás is kifejezés, nem pedig utasítás, és mint ilyennek,
van értéke. Ezt aztán vagy használod, vagy nem. Emiatt írhatod azt, hogy
while ((s = in.readLine()) != null) {
}
vagy
x = y = 1;
ami pont az, mintha azt írnád, hogy
x = (y = 1);
mivel az értékadó operátorok jobbról balra kerülnek kiértékelésre, vagy
y = 1;
x = y;
ahol egyik értékadó kifejezés értékét sem használod, de a végén ugyanaz lesz.
Fent az s = in.readLine() kifejezésben az = értékadó _operátor_ azt
csinálja, hogy veszi a jobb oldalán lévő, értéket, és elteszi a bal oldalon
található valamibe. Az egész kifejezés kiértékelés utáni értéke pedig
ugyanez az érték lesz.
Emiatt a móka miatt fordul az osztályod.
Üdv,
Stivi
P.S.
Talán érdemes még egy pillantást vetned a precedenciatáblázatra is.
További információk a(z) Javalist levelezőlistáról