CodeGym /Java-blogg /Tilfeldig /Java dobbelt nøkkelord
John Squirrels
Nivå
San Francisco

Java dobbelt nøkkelord

Publisert i gruppen
Java- dobbeltnøkkelordet , som på et hvilket som helst annet språk, indikerer et datamaskinformat for å representere et flyttall, som opptar 64 biter, eller 8 byte, i minnet. I denne artikkelen skal vi snakke om dobbel og se på noen eksempler.

Flytepunkt og databehandling: en kort matematisk beskrivelse

Brøktall er enten fast eller flytende komma. Det første alternativet kan representeres som en vanlig brøk, der telleren (selve tallet) og nevneren (skaleringsfaktoren) vil være heltall. For eksempel er tallet 2,7 27 med en skaleringsfaktor på 10, 3,14 - 314 med en faktor 100. Denne tilnærmingen er imidlertid ikke særlig nøyaktig fra et beregningsmessig synspunkt, derfor bruker de ofte flytende kommarepresentasjon. I databehandling er flytepunktaritmetikk en spesiell aritmetisk representasjon av reelle tall som en tilnærming for å støtte en avveining mellom rekkevidde og presisjon. Hovedformatet for å representere flyttall i Java kalles float. Navnet kommer fra flytende punkt. Float er 32 biter, hvorav 1 bit er fortegnsbit, 8 bit for eksponent og 23 bit for signifikand. Dens rekkevidde er ±3. 40282347E + 38F dvs. 6-7 signifikante sifre. Navnet double kommer fra double float. Dedobbel type er dobbelt så stor som float : 8 byte mot 4. Det kalles også et reelt tall med dobbel presisjon. Av de 64 bitene som er reservert for et dobbelt tall, er 1 fortegnsbit, 11 biter er for eksponent og 52 biter er for signifikand. Java dobbelbrøk lagrer tall i området ±1,79769313486231570E + 308 dvs. 15-16 signifikante sifre. Dobbel er et mer presist format. Så hvis du trenger å lagre veldig store tall, er det en god idé å foretrekke dobbel fremfor flytende . Forresten, matematiske metoder som sqrt, sin eller cos og mange andre returnerer doble verdier. Du bør imidlertid betale for dobbel presisjon med minne.

Opprette en dobbel variabel

Den doble typen brukes til å lagre reelle tall. For å lage en variabel i koden som vil kunne lagre reelle tall, må du bruke kommandoen:

double name;
Der navn er navnet på variabelen.

double myPrice;  //here we create a variable called myPrice
double action; //and here -- action. 
Du kan også bruke stenografi for å lage flere variabler av typen double :

double name1, name2, name3;

Java doble søkeord Eksempler

La oss gi noen eksempler på bruk av Java- dobbelt nøkkelord for å lage en variabel.

double myPrice = 5.0;
double height = 180;
double x = 7.1, y = 3.0;
Her i variabelen myPrice har vi verdien 5,0, i variabelen høyde — 180, i x setter vi verdien 7,1, og 3,0 i y .

Dobbelt som et heltall

I Java kan doble variabler tildeles både reelle tall og heltall. Når du tildeler heltall, blir de ganske enkelt konvertert til reelle tall. Selv om noen ganger er et lite tap av nøyaktighet mulig.

double height = 180;
int k = 2; 
int i = 5; 
double myDouble = k*i;
Faktisk lagrer høydevariabelen tallet 180.0, og myDouble- variabelen lagrer tallet 10.0.

Dobbelt- og heltallsinteraksjon

I tillegg, hvis et heltall og et reelt tall er involvert i et eller annet uttrykk, blir heltallet først konvertert til et reelt tall og først deretter samhandler det med et annet reelt tall.

public class DoubleDemo {
   public static void main(String[] args) {
       int k = 2;
       double myDouble1 = 5;
       double myDouble = k*7.0;
       System.out.println(myDouble1);
       System.out.println(k*myDouble1);
       System.out.println(myDouble);
   }
}
I dette eksemplet vil utgangen være:
5,0 10,0 14,0
Selv om tallet myDouble1 er angitt som 5 og ikke 5.0, ser Java dette tallet som en dobbel , så det ser faktisk ut som 5.0. Hvis vi multipliserer int og dobbel, får vi alltid en dobbel , selv om dette tallet faktisk er et heltall. Vi kan tilordne variabler av typen double til variabler av typen int . For å gjøre dette, må du gjøre en eksplisitt typekonvertering. Selvfølgelig vil brøkdelen bli forkastet, tallet vil bli avkortet til et mindre heltall.

public class DoubleDemo {
   public static void main(String[] args) {
       double x = 57.789;
       int almostX;
       almostX = (int)x;
       System.out.println(almostX);
   }
}
Utgangen er:
57
Til slutt, la oss snakke om deling. Dette er det mest interessante. Du har kanskje allerede kommet over det faktum at hvis du deler to heltall, så får vi som et resultat av divisjon et heltall, selv om de ikke er jevnt delbare med hverandre:

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7/2;
       System.out.println(myDouble);
   }
}
Resultatet er:
3.0
Dette er fordi Java-maskinen først deler to heltall (og får 3), og deretter lagrer denne verdien i en variabel av typen double, og får 3.0 som et resultat. For å få ikke heltall, men vanlig divisjon, må du jukse. Skriv for eksempel et av tallene som et reelt tall (da blir hele uttrykket automatisk konvertert til reelt). Hvis vi jobber med variabler av heltallstype, kan de multipliseres med 1,0. Dette vil ikke endre verdien, men det vil endre typen av variabelen fra int til double .

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7.0/2;
       int x = 5;
       int y = 2;
       System.out.println(myDouble);
       System.out.println(x*1.0/y);
   }
}
Utgangen er:
3,5 2,5
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION