No sidenav ...

Recent updates

then again, fuck that.

You are here > Home > Documents > > >

Variables / Variabler

Det er ofte behov for å bruke tall i programkode; for eksempel når man skal angi hvor mange ganger en operasjon skal utføres. Man kan alltid skrive tallet rett inn i koden, men det blir fort uoversiktlig. Dette er èn av grunnene til at vi har variabler. Istedenfor å skrive tallet 7 rett inn i koden, så kan vi bytte det ut med en tall-variabel som inneholder verdien 7. Programmet ser ingen forskjell, men koden blir mye lettere å lese.

Man kan tenke på en variabel som en eske. Alle variabler har et navn, noe som kan sammenliknes med å skrive på pappesken hva som er inni den. Noen typer esker passer bedre til visse ting, mens andre kan brukes til hva som helst. I de fleste programmeringsspråk må man først opprette variabelen (lage pappesken), og da kan man bestemme hva den skal brukes til. bool kan inneholde enten ja eller nei, int er et heltall opp til 2 milliarder, long er int (bare mye større), double er long (men komma er lov), Char er for èn bokstav, String kan inneholde tekst, og object kan være hva som helst. Det er mange flere typer, men de skal jeg ikke gå inn på her.

Grunnen til at man kun bruker double når man trenger det (og ikke for mindre tall), er fordi det er tregere og krever mer minne.

Hva man kan gjøre med en variabel kommer an på hvilken type den er. bool er grei for å styre programflyt, int/long/double kan man regne med, og med string kan man gjøre mye rart med teksten. Alt dette gjøres ved hjelp av metoder som hver variabeltype har, men dette kommer jeg tilbake til når jeg skal snakke om klasser.

int var1; //oppretter variabelen var1 var1 = 4+3; //lagrer tallet 7 i var1 int var2 = 3; //oppretter var2 og lagrer tallet 3 int sum = var1+var2; //variabelen sum er nå 10

I eksempelet over viste jeg hvordan man oppretter og angir verdier til variabler. Legg merke til at man kan opprette en variabel uten å angi noen verdi (var1), for så å gi variabelen en verdi senere. Det er ofte mer oversiktlig å angi en verdi til variabelen idèt den opprettes, noe jeg gjorde for å lage var2. Som jeg nevnte i første avsnitt, så ser ikke programmet forskjell på tall og variabler som kun kan inneholde tall. Siden både var1 og var2 er slike variabler, så kan de brukes istedenfor tall etter at dem ble opprettet. Dette utnyttet jeg når jeg opprettet variabelen sum.

Det er viktig at man ikke prøver å lese verdien til en blank variabel; da vil programmet krasje.

Ignorer neste eksempel og resten av forklaringen. Det skal flyttes til en annen seksjon senere.

string tekst = "Dette er en tekst."; //lagrer "Dette er en tekst." i variabelen tekst int posisjon = tekst.indexOf("en"); //finner ut hvor i tekst man finner ordet "en" string utdrag = tekst.substring(posisjon); //oppretter og angir verdi til utdrag utdrag = utdrag.trim('.'); //fjerner "." fra begge endene av utdrag

Her demonstrerer jeg bruk av strings. Først oppretter jeg variabelen tekst, og angir verdien "Dette er en tekst.". Så oppretter jeg int-variabelen posisjon. Du husker hvordan hver variabeltype har metoder vi kan bruke? Her bruker jeg en av string's metoder (indexOf) for å angi verdien til variabelen posisjon. indexOf kan fortelle oss hvor i stringen man finner et ord. Den returnerer (gir tilbake) posisjonen den fant ordet på, og akkurat der og da fungerer den som en vanlig variabel - vi kan hente posisjonen ut som en verdi, i form av et tall. Dette tallet er -1 om den ikke fant ordet, ellers er det hvor ordet er i stringen.

Når jeg oppretter variabelen utdrag, så bruker jeg enda en av string's metoder. substring returnerer en bestemt del av stringen, og har to overloads. Den ene er med kun ett argument, nemlig startposisjon. Det er denne overloaden jeg bruker i eksempelet, så substring vil returnere tekst fra og med posisjonen lagret i variabelen posisjon. Den andre overloaden er startposisjon,lengde. Dersom vi hadde skrevet tekst.substring(posisjon,6) i eksempelet, så ville vi fått stringen "en tek".

Til slutt bruker vi metoden trim. Denne kutter vekk alle tegnene gitt som argumenter fra start og slutt på stringen. Siden det eneste argumentet vi gir er tegnet punktum, så vil punktumet fjernes fra slutten av variabelen utdrag. Derfor vil variabelen utdrag til slutt bestå av stringen "en tekst".