java double tutorial with programming examples
Denna handledning förklarar primitiv datatyp Java Double. Vi kommer också att diskutera relaterade klasser som Java BigDecimal och DecimalFormat Class med exempel:
I denna handledning kommer vi att utforska den dubbla datatypen med hjälp av syntax och programmeringsexempel.
Java-decimalformat och stora decimalklasser förklaras här med några vanliga frågor som hjälper dig att förstå den dubbla datatypen tydligt.
=> Ta en titt på Java-nybörjarguiden här.
Vad du kommer att lära dig:
Primitiva Java-typer
Som vi alla vet har Java åtta primitiva typer, dvs. int, kort, lång, byte, flyt, dubbel, röd och boolesk. Java double är en av de primitiva datatyperna vars bredd och intervall är mer än flytande.
Primitiva typer | Bredd (bitar) | Räckvidd |
---|---|---|
dubbel | 64 | 4.9e-324 till 1.8e + 308 |
Java Double
Java double används för att representera flytande nummer. Den använder 64 bitar för att lagra ett variabelt värde och har ett område som är större än float-typen.
Syntax:
// square root variable is declared with a double type. double sqrt;
Java Double Exempel
I det här exemplet beräknar vi kvadratroten av en rektangel. Vi har tagit längd och bredd som heltal och beräknat det område som är av typen heltal.
Eftersom kvadratroten sannolikt ger dig decimalvärde, förklarade vi variabeln Area_sqrt som dubbel och beräknade kvadratroten.
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); } }
Produktion
Java DecimalFormat
Java har en speciell klass som heter DecimalFormat som används för att formatera siffrorna. Denna formatering kan anpassas.
I exemplet nedan har vi definierat ett mönster avgränsat med kommatecken ',' och ett decimaltal av typen dubbel. Med detta mönster eller format kommer vi att visa vårt inmatningsnummer.
Vi har skickat mönstret till decimalformatklassen och vi har formaterat utdata med referensen '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)); } }
Produktion
Java BigDecimal
Detta är återigen en speciell Java-klass som ger enkla aritmetiska operationer på numret (lägg till, subtrahera, multiplicera och dela), avrundar resultatet, formatkonvertering och så vidare.
Låt oss titta på exemplet nedan för att förstå detta bättre.
Avrundar numret
programvara för taligenkänning är mest populär för
I exemplet nedan har vi visat skillnaden mellan enkel subtraktion av decimal och subtraktion genom Big-Decimal-klassen.
Vi har initialiserat två dubbla variabler och beräknat skillnaden mellan deras värden. Återigen har vi initialiserat två variabler med stor decimalklass med samma värde och beräknat deras skillnad.
Slutligen skrev vi ut båda värdena och du kan se skillnaden mellan dem. Det beräknade värdet på Big Decimal avrundades automatiskt.
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); } }
Produktion
Vanliga frågor
F # 1) Hur många byte tar en dubbel typ?
Svar: 8 byte.
F # 2) Vad är MathContext i Java?
Svar: MathContext är en klass i Java som anger avrundningsnummerläge och precision. Det tillhandahåller oföränderliga objekt och är också ansvarig för att införa vissa regler för operatörerna som implementeras av Big Decimal-klassen.
Reglerna är:
RoundingMode.CEILING,
RoundingMode.DOWN,
RoundingMode.FLOOR,
RoundingMode.UP
I exemplet nedan har vi initierat en dubbel variabel och ställt in olika regler för att avrunda siffrorna. Detta fungerar i enlighet med den produktspecifikator som vi har passerat.
Till exempel, I det första utskriftsuttalandet beräknar vi takfunktionen där vi har passerat '3' som utgångsspecifikator. Detta innebär att utgången kommer att ha tre siffror. På samma sätt, i det sista uttalandet, har vi passerat '1' så utgången kommer att innehålla en siffra.
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))); } }
Produktion
F # 3) Är Java Big Decimal oföränderlig?
Svar: Ja. Varje gång vi gör en viss operation i Big Decimal returnerar de ett nytt objekt istället för att ändra de redan skapade objekten.
F # 4) Vad är skillnaden mellan float och double?
Svar: Nedan listas skillnaderna mellan float och double.
Flyta | Dubbel |
---|---|
Det representerar siffror med en precision. | Det representerar dubbla precisionsnummer. |
Bredden är 32 bitar och intervallet är 1.4e – 045 till 3.4e + 038 | Bredden är 64 bitar och intervallet är 4.9e – 324 till 1.8e + 308 |
Den innehåller 7 siffror. | Den innehåller mellan 15-16 siffror. |
Användbar vid valutakonvertering. | Användbar i sin (), cos (), sqrt () eftersom returtypen är dubbel. |
Långsammare än dubbel precision. | På modern processor som är byggd för att utföra långa matematiska operationer är dubbel precision mycket snabbare. |
F # 5) Vad är en matematikklass?
Svar: En matematikklass är en klass i Java som innehåller alla metoder som används i matematiska operationer. Den har två dubbla konstanter, dvs E (2.72) och pi (3.14).
Till exempel, sin (), cos (), tan () metoder för trigonometri. sqrt (), log (), pow () metoder för exponential. Ett programmeringsexempel på pow () behandlas redan ovan (Java-dubbelt exempel).
Slutsats
I denna handledning har vi förklarat den dubbla primitiva typen med ett lämpligt exempel. Vi har också inkluderat DecimalFormat och BigDecimal Java med program.
Vanliga frågor ingår också i olika områden av den dubbla typen såsom intervall, bredd, storlek, matematikklass etc.
bästa sättet att ladda ner youtube-ljud
När du har gått igenom denna handledning kommer du att kunna förstå den dubbla typen i detalj och du kommer att kunna använda dessa begrepp för att skriva din egen logik om aritmetiska operationer.
=> Läs igenom Easy Java Training Series.
Rekommenderad läsning
- Java Float Tutorial med programmeringsexempel
- Java String innehåller () Metodhandledning med exempel
- Java-heltal och Java BigInteger-klass med exempel
- Java String Tutorial | Java-strängmetoder med exempel
- Java Reverse String: Handledning med programmeringsexempel
- Java substring () Metod - Handledning med exempel
- Ternary Operator In Java - Handledning med exempel
- Jagged Array In Java - Handledning med exempel