java double tutorial with programming examples
Tento výukový program vysvětlí primitivní datový typ Java Double. Budeme také diskutovat související třídy jako Java BigDecimal a DecimalFormat Class s příklady:
V tomto kurzu prozkoumáme dvojitý datový typ pomocí příkladů syntaxe a programování.
Zde jsou vysvětleny desítkový formát Java a velké desetinné třídy s některými často kladenými otázkami, které vám pomohou jasně pochopit dvojitý datový typ.
=> Prohlédněte si příručku Java Beginners Guide zde.
Co se naučíte:
Primitivní typy Java
Jak všichni víme, Java má osm primitivních typů, tj. Int, short, long, byte, float, double, char a boolean. Java double je jedním z primitivních datových typů, jejichž šířka a rozsah je více než float.
Primitivní typy | Šířka (bity) | Rozsah |
---|---|---|
dvojnásobek | 64 | 4,9e-324 až 1,8e + 308 |
Java Double
Java double slouží k reprezentaci čísel s plovoucí desetinnou čárkou. K ukládání hodnoty proměnné používá 64 bitů a má rozsah větší než floatový typ.
Syntax:
// square root variable is declared with a double type. double sqrt;
Dvojitý příklad Java
V tomto příkladu počítáme druhou odmocninu oblasti obdélníku. Vzali jsme délku a šířku jako celé číslo a vypočítali jsme plochu, která je typu celé číslo.
Protože druhá odmocnina vám s největší pravděpodobností poskytne desetinnou hodnotu, deklarovali jsme proměnnou Area_sqrt jako dvojnásobnou a vypočítali jsme druhou odmocninu.
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); } }
Výstup
Java DecimalFormat
Java má speciální třídu nazvanou DecimalFormat, která se používá k formátování čísel. Toto formátování je přizpůsobitelné.
V níže uvedeném příkladu jsme definovali vzor oddělený čárkou „,“ a desetinné číslo typu double. Pomocí tohoto vzoru nebo formátu zobrazíme naše vstupní číslo.
Předali jsme vzor do třídy formátu Decimal a výstup jsme naformátovali pomocí odkazu „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)); } }
Výstup
Java BigDecimal
Jedná se opět o speciální třídu Java, která poskytuje jednoduché aritmetické operace s číslem (sčítání, odčítání, násobení a dělení), zaokrouhlování výsledku, převod formátu atd.
Podívejme se na níže uvedený příklad, abychom tomu lépe porozuměli.
Zaokrouhlení čísla
společnosti, které vám platí za testování jejich produktů
V níže uvedeném příkladu jsme demonstrovali rozdíl mezi jednoduchým odečtením desetinného čísla a odčítáním prostřednictvím třídy Big-Decimal.
Inicializovali jsme dvě dvojité proměnné a vypočítali rozdíl mezi jejich hodnotami. Opět jsme inicializovali dvě proměnné pomocí třídy Big-Decimal se stejnou hodnotou a vypočítali jejich rozdíl.
Nakonec jsme obě hodnoty vytiskli a vidíte rozdíl mezi nimi. Vypočítaná hodnota Big Decimal byla automaticky zaokrouhlena.
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); } }
Výstup
Často kladené otázky
Otázka č. 1) Kolik bajtů trvá dvojitý typ?
Odpovědět: 8 bytů.
Otázka 2) Co je MathContext v Javě?
Odpovědět: MathContext je třída v Javě, která určuje zaokrouhlovací číselný režim a přesnost. Poskytuje neměnné objekty a je také zodpovědný za zavedení určitých pravidel pro operátory, které jsou implementovány třídou Big Decimal.
Pravidla jsou:
RoundingMode.CEILING,
RoundingMode.DOWN,
RoundingMode.FLOOR,
RoundingMode.UP
otázky a odpovědi obchodního analytika
V níže uvedeném příkladu jsme inicializovali dvojitou proměnnou a nastavili různá pravidla zaokrouhlování číslic. To funguje v souladu se specifikátorem výstupu, který jsme předali.
Například, V prvním tiskovém prohlášení počítáme funkci stropu, kde jsme předali „3“ jako specifikátor výstupu. To znamená, že výstup bude mít tři číslice. Podobně jsme v posledním příkazu předali „1“, takže výstup bude obsahovat 1 číslici.
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))); } }
Výstup
Otázka 3) Je Java Big Decimal neměnná?
Odpovědět: Ano. Pokaždé, když provedeme určitou operaci v Big Decimal, vrátí nový objekt namísto úpravy již vytvořených objektů.
Otázka č. 4) Jaký je rozdíl mezi floatem a double?
Odpovědět: Níže jsou uvedeny rozdíly mezi floatem a double.
Plovák | Dvojnásobek |
---|---|
Představuje čísla s přesnou přesností. | Představuje čísla s dvojitou přesností. |
Šířka je 32 bitů a rozsah je 1,4e – 045 až 3,4e + 038 | Šířka je 64 bitů a rozsah je 4,9e – 324 až 1,8e + 308 |
Obsahuje 7 číslic. | Obsahuje mezi 15-16 číslicemi. |
Užitečné při operacích převodu měny. | Užitečné v sin (), cos (), sqrt (), protože návratový typ je dvojitý. |
Pomalejší než dvojnásobná přesnost. | U moderních procesorů, které jsou konstruovány pro provádění dlouhých matematických operací, je dvojnásobná přesnost mnohem rychlejší. |
Otázka č. 5) Co je to matematická třída?
Odpovědět: Třída Math je třída v Javě, která obsahuje všechny metody používané v matematických operacích. Má dvě dvojité konstanty, tj. E (2,72) a pí (3,14).
Například, sin (), cos (), tan () metody trigonometrie. sqrt (), log (), pow () exponenciální metody. Příklad programování na pow () je již zahrnut výše (dvojitý příklad Java).
Závěr
V tomto kurzu jsme vysvětlili dvojitý primitivní typ pomocí vhodného příkladu. Do programů jsme zahrnuli také DecimalFormat a BigDecimal Java.
Často kladené otázky jsou také zahrnuty v různých oblastech dvojitého typu, jako je rozsah, šířka, velikost, matematická třída atd.
Po absolvování tohoto kurzu budete schopni podrobně porozumět dvojitému typu a budete schopni tyto koncepty použít při psaní vlastní logiky pro aritmetické operace.
=> Přečtěte si řadu Easy Java Training Series.
Doporučené čtení
- Výukový program Java Float s příklady programování
- Java String obsahuje () Výukový program metod s příklady
- Celé číslo Java a třída Java BigInteger s příklady
- Výukový program Java String | Metody řetězců Java s příklady
- Reverzní řetězec Java: Výukový program s příklady programování
- Metoda Java substring () - výuka s příklady
- Ternární operátor v Javě - výuka s příklady
- Jagged Array In Java - výukový program s příklady