/ / Programmering: Java. Datatyper

Programmering: Java. Typer data

Datatypen bestemmes av tre komponenter:

  • et sett med verdier eller objekter;
  • et sett med operasjoner som kan brukes på alle verdier i et sett;
  • presentasjon av data, definere lagring av dem.

Hva er typene data i Java?

Programmeringsspråket inneholder noen forhåndsdefinerte innebygde typer og lar programmerere definere sine egne, tilpassede.

I Java er datatyper delt inn i primitive og referansetyper.

"Primitive" betyr det videredeling er ikke mulig. Programmeringsspråket tillater ikke utvidelse eller endring av programmeringsspråk. Denne datatypen er beskrevet av primitive og andre brukerdefinerte typer.

En variabel av primitiv type inneholder en verdi, og en referansevariabel inneholder adressen til et objekt i minnet.

java datatyper

Java-språk. Datatyper: tid og dato

Sammensatte data er delt inn i klasser, grensesnitt og matriser. Medlemmene av en grensesnitttype er abstrakte metoder og konstanter. I Java er datatyper for dato og klokkeslett spesifisert av konstruktøren Date ():

  • d = ny dato ().

En streng er også et eksempel på en lenke.

Java-språk. Datatyper: streng

En streng er en klasse som er definert i Java-biblioteket, og den kan brukes til å manipulere tekst (en sekvens av tegn).

Erklæringen om en referansestrengvariabel er som følger: Strengstr.

Før du tildeler en referanse til et objekt til en slik variabel, må du opprette den ved hjelp av den nye operatoren. For eksempel kan du opprette et objekt av klasse String med teksten "Hei":

  • str = ny streng ("Hei").

Hva skjer når denne koden kjøres?Først tildeles minne og str assosieres med den minneplasseringen. Dette er ikke forskjellig fra å erklære en primitiv variabel. Den andre koden lager et strengobjekt i minnet med teksten "Hei" og lagrer en referanse til det (eller en minneadresse) i str.

Java-refererte datatyper tillater ogsåtilordne en referanse til et objekt som er lagret i en variabel til en annen. De refererer begge til det samme objektet i minnet. Dette kan oppnås som følger:

  • Streng str1;
  • Streng str2;
  • str1 = ny streng ("Hei");
  • str2 = str1;

Det er en null permanent referanse som kan tilordnes en hvilken som helst referansevariabel. Det refererer ikke til noe objekt.

Et strengobjekt opprettes ved hjelp av den nye operatoren.Men siden strenger brukes mye, er det en enklere måte å lage den på. Alle strenglitteraler, det vil si en rekke tegn som er omsluttet av doble anførselstegn, blir behandlet som strengobjekter. Derfor, i stedet for den nye operatøren, kan du bruke strengbokstaver:

  • String str1 = "Hei".

Java primitive datatyper - byte, kort, int,lang, røye, flyte, dobbelt og boolsk. De faller i to kategorier: logisk og numerisk. Sistnevnte kan deles inn i heltall og flytende tall.

Java-heltall datatyper er numeriske typer hvis verdier er heltall. Det er fem av dem: byte, kort, int, lang og røye.

java datatyper

Int

Int er en 32-bits signert primitiv datatype. Variabelen tar 32 biter minne. Gyldig område er -2147483648 til 2147483647 (-231 opptil 231 - en). Alle heltall i dette området er heltall bokstaver eller konstanter. For eksempel er 10, -200, 0, 30, 19 int-bokstaver. De kan tilordnes en int-variabel:

  • int num1 = 21;

Heltallbokstaver kan uttrykkes som binære, oktale, desimale og heksadesimale tall.

Når en bokstav begynner med null og har minst to sifre, anses den å være i oktalt format. 0 og 00 representerer samme verdi - null.

Alle bokstaver i heksadesimalt format starter med 0x eller 0x og må inneholde minst ett heksadesimalt siffer:

  • int num1 = 0x123.

Int-bokstaver i binært format starter med 0b eller 0B:

  • int num1 = 0b10101.

java datatyper tid

Lang

Det er en 64-bits signert primitiv type. Brukes når resultatet av en beregning kan overstige int-området. Lang rekkevidde - fra -263 opptil 263- 1. Alle heltall i dette området er bokstaver av lang type.

For å skille mellom int og lange datatyper i Java, slutter bokstavelig av sistnevnte type alltid med L eller l.

Langtall heltall bokstaver kan også uttrykkes i oktalt, heksadesimalt og binært format.

Når en lang bokstav er tildelt en lang variabel,Java-kompilatoren sjekker den tildelte verdien og sørger for at den er i et akseptabelt område; Ellers vil det oppstå en kompileringsfeil.

Siden rekkevidden av int er mindre enn for lang,verdien av en int-variabel kan alltid tilordnes en variabel av typen long. Men omvendt oppdrag er ikke mulig selv innenfor intervallet int. For dette brukes en eksplisitt indikasjon:

  • num1 = (int) num2;

java streng datatyper

Byte

Byte er en 8-biters primitiv type. Rekkevidden er -128 til 127 (-27 opptil 27 - en). Dette er den minste heltallstypen som er tilgjengelig i Java.Som regel brukes bytevariabler når programmet involverer mange verdier i området fra -128 til 127, eller når du arbeider med binære data. I motsetning til int og lang bokstav, er det ingen byte bokstav. Du kan imidlertid tildele en hvilken som helst int-bokstav til en bytevariabel, siden den overlapper byteområdet.

Hvis verdien til en variabel er utenfor området, vil Java kaste en kompilatorfeil.

I tillegg kan du bare tildele en int-bokstavelig, men ikke verdien som er lagret i int-variabelen, da dette kan føre til tap av presisjon. Dette vil kreve en eksplisitt rollebesetning.

  • b1 = (byte) num1.

Kort

Representerer en 16-bits signert heltall primitiv datatype. Dens rekkevidde er -32768 til 32767 (eller -215 opptil 215 - en).

Generelt behovet for korte variableroppstår når et program bruker et stort antall verdier som ikke overskrider det angitte området. Det er ingen kort bokstavelig, men du kan tilordne hvilken som helst bokstavelig bokstav innen området kort. Verdien til en bytevariabel kan alltid tildeles. Resten av reglene for å tildele en int eller lang til en kort er den samme som for byte.

primitive java datatyper

Char

Char er 16-biters usignerten primitiv datatype som representerer et Unicode-tegn. Fraværet av et tegn betyr at variabelen ikke kan ha en negativ verdi. Området er 0 til 65535, som samsvarer med kodingen av Unicode-tegnsettet. En bokstav representerer en rød verdi og kan uttrykkes i følgende former:

  • et tegn innesluttet i enkelt anførselstegn
  • sekvens av kontrolltegn;
  • en sekvens av unicode kontrolltegn;
  • en sekvens av oktale kontrolltegn.

Et symbol kan uttrykkes ved å legge det innenkelt anførselstegn: char C1 = "A". Dobbel anførselstegn betegner en strengliteral som ikke kan tilordnes en variabel med tegn, selv om strengen bare inneholder ett tegn. Dette er ikke tillatt fordi en henvisning til en primitiv variabel ikke er tildelt. Alle strenglitteraturer er strengobjekter og referanser, mens karakterbokstavene er av den primitive typen.

En flukt sekvens bokstavelig er skrevet som en tilbakeslag, etterfulgt av et tegn i enkelt anførselstegn. Det er totalt 8 av dem: ‘n’, ‘r’, ‘f’, ‘b’, ‘t’, ‘\’, ‘” ’,‘ ’’.

Unicode Escape-sekvensen er"uxxxx", der u (et tilbakeslag etterfulgt av små bokstaver u) betegner starten og xxxx representerer nøyaktig fire heksadesimale sifre i Unicode-tegnkoden. For eksempel er "A" 65 desimal og 41 heksadesimal. Dermed kan denne karakteren bli representert som "u0041".

Den oktale rømningssekvensen skrives som "nnn", der n er et oktalt siffer (0-7). Verdiene varierer fra "00" til "377", hvor 3778 tilsvarer 25510... Derfor brukes den til å representeretegn med en kode fra 0 til 255, som kreves for kompatibilitet med andre programmeringsspråk. I motsetning til unicode-sekvenser, som krever alle fire heksadesimale sifrene, kan du bruke 1, 2 eller 3 oktale sifre her: "n", "nn" eller "nnn".

java referansedatatyper

Boolsk type

Boolsk har bare to gyldige verdier:sant og usant. De kalles boolske bokstaver. En boolsk variabel kan ikke kastes til en annen type og omvendt. Java spesifiserer ikke størrelsen på boolesk - det avhenger av den spesifikke implementeringen av JVM.

Java flytende punkt datatyper

Et tall som inneholder en brøkdel i minnetdatamaskinen kan lagres i en representasjon med et fast antall sifre før og etter punktet eller som indikerer dens posisjon. Siden antall sifre kan variere, sies det at punktet "flyter".

På Java-språket bruker datatyper med flytende punkt 32 bits. I henhold til IEEE 754-standarden tilsvarer dette en enkelt presisjon, som lar deg representere for eksempel tall 1,4 x 10-45 og 3,4 x 1038, både positive og negative.

Alle reelle tall som ender på f eller F kalles flytebokstaver. De kan være representert i desimalformat og i vitenskapelig notasjon. For eksempel:

  • flottør f1 = 3,25F;
  • flottør f2 = 32.5E-1F;
  • flottør f3 = 0,325E + 1F.

Typen definerer to nuller: + 0.0F (eller 0.0F) og -0.0F.For sammenligningsformål anses imidlertid begge nuller som like. I tillegg definerte han to typer uendelig: positiv og negativ. Resultatene av noen operasjoner (for eksempel å dele 0,0F med 0,0F) er udefinerte og er representert av den spesielle verdien NaN.

datatyper for java dato og klokkeslett

Dobbelt presisjon

En dobbel bruker 64 bits til å lagre flytende tall. Dobbelt presisjonstall kan representere positive og negative verdier på 4,9 x 10-324 og 1,7 x 10308.

Alle reelle tall er som standarddobbel bokstav. Eventuelt kan de eksplisitt angis med suffikset d eller D, for eksempel 19.27d. Dobbel bokstavelig kan uttrykkes i desimalform og i vitenskapelig notasjon.