java double tutorial with programming examples
Aquest tutorial explicarà el tipus de dades primitives Java Double. També parlarem de classes relacionades com Java BigDecimal i DecimalFormat Class amb exemples:
En aquest tutorial, explorarem el tipus de dades doble amb l'ajut de sintaxi i exemples de programació.
El format decimal Java i les classes de decimals grans s’expliquen aquí amb algunes preguntes més freqüents que us ajudaran a entendre clarament el tipus de dades dobles.
=> Feu una ullada a la guia per a principiants de Java aquí.
Què aprendreu:
Tipus primitius de Java
Com tots sabem, Java té vuit tipus primitius, és a dir, int, curt, llarg, byte, float, double, char i booleà. El doble de Java és un dels primers tipus de dades l’amplada i l’interval de les quals són més que flotants.
Tipus primitius | Amplada (bits) | Rang |
---|---|---|
doble | 64 | 4.9e-324 a 1.8e + 308 |
Java Double
Java double s’utilitza per representar nombres de coma flotant. Utilitza 64 bits per emmagatzemar un valor variable i té un rang superior al tipus float.
Sintaxi:
// square root variable is declared with a double type. double sqrt;
Java Doble Exemple
En aquest exemple, estem calculant l'arrel quadrada de l'àrea d'un rectangle. Hem pres la longitud i l'amplada com a enter i hem calculat l'àrea que és de tipus enter.
Com que és més probable que l'arrel quadrada us doni un valor decimal, hem declarat la variable Area_sqrt com a doble i hem calculat l'arrel quadrada.
public class doubleExample { public static void main(String() args) { int length=15, breadth=25; int area; area = length*breadth; // calculating area of the rectangle System.out.println('Area of rectangle is ' + area); // declared a varibale which will store the square root double Area_sqrt; // calculating square root of Area of the rectangle Area_sqrt = Math.sqrt(area); System.out.println('Square root of area is ' +Area_sqrt); } }
Sortida
Java DecimalFormat
Java té una classe especial anomenada DecimalFormat que s’utilitza per formatar els números. Aquest format es pot personalitzar.
A l'exemple següent, hem definit un patró delimitat per comes ',' i un nombre decimal de tipus doble. Utilitzant aquest patró o format, mostrarem el nostre número d’entrada.
Hem passat el patró a la classe de format Decimal i hem formatat la sortida mitjançant la referència ‘df’.
import java.text.DecimalFormat; public class ExampleFormat { public static void main(String() args) { // defining a format in which number will be displayed String formatter = '##,###,###.##'; // initialized the decimal number double num = 12345678.12; // passed the pattern into the Decimal format class DecimalFormat df = new DecimalFormat(formatter); // printed the formatted number System.out.println('The formatted number is: ' +df.format(num)); } }
Sortida
Java BigDecimal
Aquesta és de nou una classe Java especial que proporciona operacions aritmètiques simples sobre el nombre (sumar, restar, multiplicar i dividir), arrodonint el resultat, conversió de format, etc.
Vegem l'exemple següent per entendre-ho millor.
Arrodonint el número
com fer un atac ddos en un lloc web
A l'exemple següent, hem demostrat la diferència entre la resta simple de decimal i la resta a través de la classe Big-Decimal.
Hem inicialitzat dues variables dobles i hem calculat la diferència entre els seus valors. De nou hem inicialitzat dues variables mitjançant la classe Big-Decimal amb el mateix valor i hem calculat la seva diferència.
Finalment, vam imprimir els dos valors i podeu veure la diferència entre ells. El valor calculat de Big Decimal es va arrodonir automàticament.
import java.math.BigDecimal; public class example { public static void main(String() args) { // Initialized two double numbers double length1 = 1.06; double breadth1 = 1.07; // Subtracting length and breadth double sub = breadth1-length1; System.out.println('Simple Subtraction = ' +sub); // Initialized two big decimal numbers with same value BigDecimal length2 = new BigDecimal('1.06'); BigDecimal breadth2 = new BigDecimal('1.07'); // Subtracting length and breadth length2 = breadth2.subtract(length2); System.out.println('Big Decimal Subtraction = ' + length2); } }
Sortida
Preguntes freqüents
P # 1) Quants bytes pren un tipus doble?
Resposta: 8 bytes.
Q # 2) Què és MathContext a Java?
Resposta: El MathContext és una classe a Java que especifica el mode i la precisió del número d'arrodoniment. Proporciona objectes immutables i també s’encarrega d’imposar certes regles per als operadors implementades per la classe Big Decimal.
Les regles són:
RoundingMode.CEILING,
RoundingMode.DOWN,
RoundingMode.FLOOR,
RoundingMode.UP
A l'exemple següent, hem inicialitzat una variable doble i hem establert diferents regles d'arrodoniment dels dígits. Funciona d'acord amb l'especificador de sortida que hem aprovat.
Per exemple, A la primera declaració d’impressió, estem calculant la funció de sostre on hem passat ‘3’ com a especificador de sortida. Això significa que la sortida tindrà tres dígits. De la mateixa manera, a l'última declaració, hem passat '1' de manera que la sortida contindrà 1 dígit.
import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMode; public class example { public static void main(String() args) { double d = 3.14; // Rounded off to the upper limit, the output will contain 3 digit System.out.println(new BigDecimal(d, new MathContext(3, RoundingMode.CEILING))); // Rounded off to the lower limit, the output will contain 3 digit System.out.println(new BigDecimal(d, new MathContext(3, RoundingMode.DOWN))); /* * Rounded off to the previous integer (discards the decimal value) * The output will contain 1 digit */ System.out.println(new BigDecimal(d, new MathContext(1, RoundingMode.FLOOR))); /* * Rounded off to the next integer (discards the decimal and increments integer) * The output will contain 1 digit */ System.out.println(new BigDecimal(d, new MathContext(1, RoundingMode.UP))); } }
Sortida
P # 3) Java Big Decimal és immutable?
Resposta: Sí. Cada vegada que fem una determinada operació a Big Decimal, tornen un objecte nou en lloc de modificar els objectes ja creats.
Q # 4) Quina diferència hi ha entre flotant i doble?
Resposta: A continuació es detallen les diferències entre el flotant i el doble.
Flotador | Doble |
---|---|
Representa nombres de precisió única. | Representa nombres de doble precisió. |
L’amplada és de 32 bits i l’interval és d’1,4e – 045 a 3,4e + 038 | L'amplada és de 64 bits i l'abast és de 4,9e – 324 a 1,8e + 308 |
Conté 7 dígits. | Conté entre 15 i 16 dígits. |
Útil en operacions de conversió de divises. | Útil en sin (), cos (), sqrt () ja que el tipus de retorn és doble. |
Més lent que la doble precisió. | En els processadors moderns construïts per realitzar operacions matemàtiques llargues, la doble precisió és molt més ràpida. |
Q # 5) Què és una classe de matemàtiques?
Resposta: Una classe de matemàtiques és una classe de Java que conté tots els mètodes que s’utilitzen en operacions matemàtiques. Té dues constants dobles, és a dir, E (2.72) i pi (3.14).
Per exemple, mètodes de trigonometria sin (), cos (), tan (). sqrt (), log (), pow () mètodes exponencials. Un exemple de programació a pow () ja està descrit a dalt (exemple doble de Java).
quina és la millor aplicació gratuïta de descàrrega de música
Conclusió
En aquest tutorial, hem explicat el tipus primitiu doble amb un exemple adequat. També hem inclòs DecimalFormat i BigDecimal Java amb programes.
Les preguntes més freqüents també s’inclouen en diverses àrees del tipus doble, com ara rang, amplada, mida, classe de matemàtiques, etc.
En passar per aquest tutorial, podreu entendre detalladament el doble tipus i podreu utilitzar aquests conceptes per escriure la vostra pròpia lògica sobre operacions aritmètiques.
=> Llegiu la sèrie de formació Java fàcil.
Lectura recomanada
- Tutorial Java Float amb exemples de programació
- Java String conté () Tutorial de mètode amb exemples
- Java Integer i Java BigInteger Class amb exemples
- Tutorial de cadenes de Java | Mètodes de cadena Java amb exemples
- Java Reverse String: Tutorial amb exemples de programació
- Mètode Java substring (): tutorial amb exemples
- Operador ternari a Java: tutorial amb exemples
- Matriu dentada a Java: tutorial amb exemples