Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

I java finnes det en Number-klasse som subklasses av de forskjellige wrapper-klassene som brukes. Number-klassen er abstrakt og et number-objekt vil alltid være en instans av en av subklassene.

 
Bildet er hentet fra oracle sinde Oracles sider. 

Først en tabell som beskriver egenskapene ved de primitive talltypene vi finner i java:

TypeInnholdDefault-verdiStørrelseVerdiområde
byteHeltall08-128 til 127
shortHeltall016-32,768 til 32,767
intHeltall032-2,147,483,648 til 2,147,483,647
longHeltall064-9,223,372,036,854,775,808 til 9,223,372,036,854,775,807
floatFlyttall0.032+/- 1.4E-45 til +/- 3.4028235E+38
doubleFlyttall0.064+/- 4.9E-324 til +/- 1.7976931348623157E+308

 

Wrapper-klassene

Tilfeller når man kan komme til å ville bruke wrapper-klasseneGrunner til å bruke en wrapper-klasse framfor en primitiv type:

  • Dersom vi ønsker å sende en klasse som et argument
  • Bruke konstanter klassen holder, som f.eks. MIN_VALUE/MAX_VALUE for den primitive typen
  • Bruke klassemetoder for å konvertere mellom de forskjellige primitive typene

Under følger en nærmere beskrivelse av de forskjellige tallklassene, verdiområdet deres og nøyaktighet ved beregninger med de.

Byte

Klassen pakker inn et byte.

...

Datatypen byte kan brukes til å erstatte int for å spare minne i veldig store arrays, dersom minnesparsommelighet er viktig. Kan også brukes til å tydeliggjøre koden ved at verdiområdet er begrenset.

...

Når man utfører divisjon med et byte vil det utføres heltallsdivisjon.
Dersom man ikke ønsker heltallsdivisjonen kan dette lett løses ved å deklarere ett av tallene som en double (se under), eller representere tallet som et number-objekt og bruke metoden doubleValue() på objektet. 

Short

Klassen pakker inn et byte.

...

Short-klassen har konstanter for MIN/MAX-verdier og ellers et sett med number-metoder for konvertering og sammenligning.

Datatypen short kan brukes på samme måte som et bytebare at et short vil bruke mer minneplass enn et byte. 

Integer

Klassen pakker inn et int.

...

...

Integer-klassen har konstanter for MIN/MAX-verdier og ellers et sett med number-metoder for konvertering og sammenligning.

Når man ikke har noen spesielle krav til verdiområde eller minnesparsommelighet vil et int veldig ofte være det naturlige valget av datatype for et heltall. Et int vil som regel kunne ta alle nødvendige verdier et program trenger, og dersom man trenger enda større tall, kan man prøve et long. 

Long

Klassen pakker inn et long.

  • 64-bit heltall
  • Verdiområde: -9,223,372,036,854,775,808 til og med 9,223,372,036,854,775,807

Long-klassen har konstanter for MIN/MAX-verdier og ellers et sett med number-metoder for konvertering og sammenligning.

Man bruker en long som datatype når verdiområdet til et int ikke holder.

Float

 Klassen pakker inn 

Double