CodeGym /Java blogg /Slumpmässig /Java dubbelt nyckelord
John Squirrels
Nivå
San Francisco

Java dubbelt nyckelord

Publicerad i gruppen
Det dubbla Java- nyckelordet, som i alla andra språk, indikerar ett datorformat för att representera ett flyttal, som upptar 64 bitar, eller 8 byte, i minnet. I den här artikeln ska vi prata om dubbel och titta på några exempel.

Flyttal och beräkning: en kort matematisk beskrivning

Bråktal är antingen fast eller flyttal. Det första alternativet kan representeras som ett vanligt bråk, där täljaren (själva talet) och nämnaren (dess skalningsfaktor) kommer att vara heltal. Till exempel är talet 2,7 27 med en skalfaktor på 10, 3,14 - 314 med en faktor 100. Detta tillvägagångssätt är dock inte särskilt exakt ur beräkningssynpunkt, därför använder de ofta flyttalsrepresentation. Inom beräkningar är flyttalsaritmetik en speciell aritmetisk representation av reella tal som en approximation för att stödja en avvägning mellan avstånd och precision. Huvudformatet för att representera flyttal i Java kallas flytande. Dess namn kommer från flytande punkt. Float är 32 bitar, varav 1 bit är signerad bit, 8 bit för exponent och 23 bit för significand. Dess räckvidd är ±3. 40282347E + 38F dvs 6-7 signifikanta siffror. Namnet dubbel kommer från double float. Dedubbel typ är dubbelt så stor som float : 8 byte mot 4. Det kallas också för ett reellt tal med dubbel precision. Av de 64 bitarna som är reserverade för ett dubbeltal är 1 teckenbit, 11 bitar är för exponent och 52 bitar är för signifikand. Java dubbelbråk lagrar tal i intervallet ±1,79769313486231570E + 308 dvs. 15-16 signifikanta siffror. Dubbel är ett mer exakt format. Så om du behöver lagra riktigt stora antal är det en bra idé att föredra dubbelt framför flytande . Förresten, matematiska metoder som sqrt, sin eller cos och många andra returnerar dubbla värden. Du bör dock betala för dubbel precision med minne.

Skapa en dubbel variabel

Dubbeltypen används för att lagra reella tal . För att skapa en variabel i koden som kommer att kunna lagra reella tal, måste du använda kommandot:

double name;
Där namn är namnet på variabeln.

double myPrice;  //here we create a variable called myPrice
double action; //and here -- action. 
Du kan också använda stenografi för att skapa flera variabler av typen double :

double name1, name2, name3;

Java dubbelt nyckelord Exempel

Låt oss ge några exempel på hur du använder det dubbla nyckelordet Java för att skapa en variabel.

double myPrice = 5.0;
double height = 180;
double x = 7.1, y = 3.0;
Här i variabeln myPrice har vi värdet 5,0, i variabeln höjd — 180, i x sätter vi värdet 7,1 och 3,0 i y .

Dubbel som ett heltal

I Java kan dubbla variabler tilldelas både reella tal och heltal. När man tilldelar heltal omvandlas de helt enkelt till reella tal. Även om ibland en liten förlust av noggrannhet är möjlig.

double height = 180;
int k = 2; 
int i = 5; 
double myDouble = k*i;
Faktum är att höjdvariabeln lagrar talet 180.0 och myDouble -variabeln lagrar talet 10.0.

Dubbel- och heltalsinteraktion

Dessutom, om ett heltal och ett reellt tal är inblandade i något uttryck, så konverteras heltalet först till ett reellt tal och interagerar först därefter med ett annat reellt tal.

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 det här exemplet blir utdata:
5,0 10,0 14,0
Även om siffran myDouble1 betecknas som 5 och inte 5.0, ser Java detta nummer som en dubbel , så det ser faktiskt ut som 5.0. Om vi ​​multiplicerar int och dubbel får vi alltid en dubbel , även om detta tal i själva verket är ett heltal. Vi kan tilldela variabler av typen dubbel till variabler av typen int . För att göra detta måste du göra en explicit typkonvertering. Naturligtvis kommer bråkdelen att kasseras, talet kommer att trunkeras till ett mindre heltal.

public class DoubleDemo {
   public static void main(String[] args) {
       double x = 57.789;
       int almostX;
       almostX = (int)x;
       System.out.println(almostX);
   }
}
Utgången är:
57
Till sist, låt oss prata om division. Det här är det mest intressanta. Du kanske redan har stött på det faktum att om du delar två heltal, så får vi som ett resultat av division ett heltal, även om de inte är jämnt delbara med varandra:

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7/2;
       System.out.println(myDouble);
   }
}
Resultatet är:
3.0
Detta beror på att Java-maskinen först delar två heltal (och får 3), och sedan lagrar detta värde i en variabel av typen dubbel, och får 3.0 som ett resultat. För att inte få heltal, utan vanlig division, måste du fuska. Skriv till exempel ett av talen som ett reellt tal (då konverteras hela uttrycket automatiskt till reellt). Om vi ​​arbetar med variabler av heltalstyp, så kan de multipliceras med 1,0. Detta kommer inte att ändra värdet, men det kommer att ändra typen av variabel från int till 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);
   }
}
Utgången är:
3,5 2,5
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION