x++, ++x, x+=1 eller x=x+1?
x++ , ++x , x+=1 och
x=x+1 , alla är olika sätt att öka värdet på
variabeln x med ett. Det kan verka märkligt att det
finns så många sätt att öka en variabels värde. Behövs verkligen
alla och är det egentligen någon skillnad på dem?
Svaret är helt klart ja. Det finns en tydlig skillnad mellan
operatorerna och dess tänkta användningsområden och det finns en
motivering till att de alla behövs.
En "normal" addition har formen a+b . När man beräknar
ett uttryck vill man normalt använda resultatet
på något sätt också. Till exempel så sparar man det i en variabel:
x=a+5 . Denna sats kommer först att hämta värdet ur
a , till detta adderas 5 och sedan sparas resultatet i
x . I många imperativa programmeringsspråk kan man även
spara resultatet i variabler som ingår i beräkningen.
x=x+1 är alltså bara ett specialfall av den klassiska
additionen.
Det där med att ändra på en variabels värde är något man gör
väldigt ofta när man programmerar. Det ligger i de imperativa
programmeringsspråkens natur att göra sådant. Detta har gjort att
man lagt till en operator, += , för att underlätta
just sådan kod. Istället för att skriva x=x+a kan man
skriva x+=a . När man vet vad det betyder så blir
koden mer överskådlig om man använder += istället för
att skriva det längre alternativet. Det är fritt att välja mellan
x+=a och x=x+a då de är identiska i alla
avseenden. Utöver += finns även övriga räknesätt
representerade med: -= , *= ,
/= , &= och |= .
Inte nog med att det är mycket vanligt att man beräknar ett nytt
värde på en redan existerande variabel, det nya värdet är nästan
alltid exakt ett större eller ett mindre än det gamla värdet. Det
vill säga, den vanligaste beräkningen är x=x+1 . Så
är det eftersom denna beräkning förekommer i många loopar och på
andra ställen där man stegar igenom något data ett steg i
taget. Eftersom detta är en såpass vanlig beräkning vill man göra
koden lite tydligare och skilja mellan den vanliga additionen med
ett och det faktum att man ökar ett index eller en räknare ett steg.
Detta gör man genom att använda ++ .
++ skrivs antingen före eller efter den variabel man
vill öka värdet på. Valet om det ska stå före eller efter är inte
alltid uppenbart. Om satsen x++ står för sig självt
har det ingen betydelse om ++ står före eller efter
x . Däremot om satsen är en del av något större
uttryck är det viktigt att tänka på i vilken ordning man vill att
saker ska ske. Skriver man ++ före x så
kommer värdet på x att ökas innan x
används i det kringliggande uttrycket. Om ++ skrivs
efter x sker uppräkningen efter användningen.
|
Fatal error: Uncaught Error: Undefined constant "ftindex" in /data/4/5/459398fa-66da-434b-8912-b747ace50b73/fantasi.se/public_html/header.php:143
Stack trace:
#0 /data/4/5/459398fa-66da-434b-8912-b747ace50b73/fantasi.se/public_html/article.php(310): ftline(Array, Array)
#1 [internal function]: articleStart(Object(XMLParser), 'ROW', Array)
#2 /data/4/5/459398fa-66da-434b-8912-b747ace50b73/fantasi.se/public_html/article.php(509): xml_parse(Object(XMLParser), '<?xml version="...')
#3 {main}
thrown in /data/4/5/459398fa-66da-434b-8912-b747ace50b73/fantasi.se/public_html/header.php on line 143
|
|