Lecture overview -- Keyboard shortcut: 'u'  Previous page: Udtryk og operatorer i Java [Section] -- Keyboard shortcut: 'p'  Next page: Operator prioriteter -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Play sound for this page -- Keyboard shortcut: 'y'  Page 29 : 39
Forelæsningsnoter i Objekt-orienteret Programmering
De ikke objekt-orienterede dele af Java
Udtryk og operatorer i Java

Vi går nu nu over til at studere udtryk og operator, som de optræder i Java. Som vi vil se, er der langt flere operatorer i Java end i Pascal. Der er desværre også optræk til en betydelig forvirring, hvor udtryk og kommandoer blandes sammen på en uheldig måde. Vi vil forsøge at bringe orden i denne forvirring inden den får alvorlige konsekvenser for os.

Et udtryk er et program fragment, der alene beregnes med henblik på produktion af en værdi.

Beregning af et udtryk kan ikke føre til tilstandsforandringer af variable mv.

Et udtryk kan beregnes, og det returnere altid en værdi. Dette er den rene definition af begrebet. I Java er udtryk dog et mere udflydende begreb. Som vi vil se, er der mange 'udtryk' i Java, som også ændrer tilstanden i programmets lager.

  • Forskellige slags udtryk/operatorer i Java

    • Aritmetiske

      • Operator input og output er af numeriske typer

      • +  -  *  /  %

    • Sammenlignende

      • Output er boolsk.

      • ==  !=  <  <=  >  >= 

    • Logiske

      • Både input og output er boolsk

      • !  &  &&  |  ||  ^

    • Increment/decrement

      • Optællende/nedtællende assignment. Uvæsentlige.

      • ++  --

    • Assignment

      • Assignment er en operator i Java

      • Værdien af et assignment 'v = udtryk' er udtryk's værdi

      • =

    • Akkumulerende assignment

      • Assignment hvor samme variabel forekommer på begge sider af assignment symbolet. Uvæsentlige.

      • +=  -=  *=  /=  %=  <<=  
        >>=  >>>=  &=  ^=  |=

    • Bitvise

      • Lavniveau operatorer, der arbejder på bitrepræsentation af data

      • ~  <<  >>  >>>  &  ^  |  

    • Betinget

      • Speciel, tertiær operator. If-then-else for udtryk.

      • ?:

  • Oversigt over Java operatorer: Lewis and Loftus (2ed), appendix D, side 549
    The reference above goes to paper material
 

En del operatorer er overloadede, således at deres betydning af hænger af typen af parametrene