Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 2.478 pregleda

Najnovija ↓

Stackoverflow pitanje += operator 12.11.2013. u 10:54 · pre 157 meseci #1
Trazim pomoc oko nekog operator na stackoverflow sajtu i vidim pitanja "Java += operator"

I evo u cemu je fora

ako napisemo

short i=5;
long j=8;

i+=j;
ce moci da se kompajluje, a kad napisemo
i=i+j;
ne moze da se kompajluje zasto to ?

evo linka "http://stackoverflow.com/questions/8710619/java-operator"






Sviđa mi se1
Re: Stackoverflow pitanje += operator 12.11.2013. u 16:52 · pre 157 meseci #2
Hehe, sad si mi upravo otvorio oci za neki "cudan" kod koji sam video negde ranije. (i ja sam pocetnik)

Pitao sam se zasto se za inicijalizaciju tek deklarisane varijable drugom varijablom (prosta dodela vrednosti), koristi "+=" umesto "=". Upravo iz razloga koji si otkrio: operatori rade konverziju tipova "u letu" :)
Tnx!

Pozz
Re: Stackoverflow pitanje += operator 17.11.2013. u 20:39 · pre 157 meseci #3
x += y operator se svodi na sledeće:

x = (tip od x) (x + y), odnosno umeće se cast operator.

Primer:
short x = 1;
short y = 2;

x = x + y --> compile error, sabiranje 2 short-a rezultuje int-om (da, znam da je čudno), a int ne može da se upiše u short bez eksplicitnog cast-a.
Dok npr. x += y --> x = (short) (x+y) --> nakon sabiranja i dobijanja int-a, rezultat se cast-uje u short i otuda kompajliranje prolazi bez problema.
Sviđa mi se2
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme