[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