Uttrykk

Et uttrykk er en bit Java-kode som ligner på en matematisk formel, ved at det beregnes en verdi fra det når programmet utføres. Når verdien beregnes sier vi at uttrykket evalueres til en verdi. Et uttrykk være en enkel variabel-referanse, en matematisk beregning med tall og operatorer (+, -, ...), metodekall med uttrykk som argumenter eller kombinasjoner av alt dette.

I koden under inneholder av kallene til System.out.println(...) et uttrykk (i parentesen). Når println-kallet utføres, så evalueres først uttrykket inni kallet og så gis verdien som argument til println-metoden. Beregning av verdien til et sammensatt uttrykk skjer innenfra og ut, ved at de innerste uttrykkene evalueres først og så brukes verdien i den videre evalueringen av uttrykket utenfor. Dette er forsøkt illustrert i kommentarene bak println-kallene. '=>'-tegnet leses som "evalueres til", f.eks. leses "a => 0" som "a evalueres til 0".

int a = 0;
System.out.println(a); // enkel variabelreferanse: a => 0
System.out.println(a + 1); // matematisk beregning: a => 0, 0 + 1 => 1
System.out.println("uttrykk".substring((a + 1) * 2)); // metodekall med matematisk beregning: a => 0, 0 + 1 => 1, 1 * 2 => 2, "uttrykk".substring(2) => "trykk"

Når en lager sammensatte uttrykk, er det viktig at (typen til) verdien til de indre uttrykkene passer til bruken i uttrykket utenfor. En kan f.eks. ikke skrive "uttrykk".substring("2") fordi substring-metoden forventer et heltall som argument og uttrykket "2" evaluerer til en String. Siden Java er såkalt statisk typet, dvs. typen til et uttrykk kan leses direkte fra koden uten å utføre den, så vil editoren eller kompilatoren si fra om slike feil. Selv om slik typesjekk skjer automatisk, er det viktig at vi som programmerere vet hvordan beregning av typen til et uttrykk foregår. Dette kommer vil tilbake til når vi går gjennom hvilke typer uttrykk som finnes.

  • No labels