java double tutorial with programming examples
Este tutorial explicará o tipo de dados primitivo Java Double. Também discutiremos classes relacionadas como Java BigDecimal e DecimalFormat Class com exemplos:
Neste tutorial, exploraremos o tipo de dados duplo com a ajuda de exemplos de sintaxe e programação.
O formato decimal Java e as classes decimais grandes são explicados aqui com algumas perguntas frequentes que o ajudarão a entender claramente o tipo de dados duplos.
=> Dê uma olhada no guia para iniciantes em Java aqui.
O que você aprenderá:
Tipos primitivos Java
Como todos sabemos, Java tem oito tipos primitivos, ou seja, int, short, long, byte, float, double, char e boolean. O duplo Java é um dos tipos de dados primitivos cuja largura e intervalo são mais do que flutuantes.
Tipos primitivos | Largura (bits) | Faixa |
---|---|---|
em dobro | 64 | 4.9e-324 a 1.8e + 308 |
Java Duplo
Java double é usado para representar números de ponto flutuante. Ele usa 64 bits para armazenar um valor de variável e tem um intervalo maior do que o tipo float.
Sintaxe:
// square root variable is declared with a double type. double sqrt;
Exemplo Duplo Java
Neste exemplo, estamos calculando a raiz quadrada da área de um retângulo. Pegamos comprimento e largura como inteiros e calculamos a área que é do tipo inteiro.
Como é mais provável que a raiz quadrada forneça o valor decimal, declaramos a variável Area_sqrt como double e calculamos a raiz 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); } }
Resultado
Java DecimalFormat
Java tem uma classe especial chamada DecimalFormat que é usada para formatar os números. Essa formatação é personalizável.
No exemplo a seguir, definimos um padrão delimitado pela vírgula ‘,’ e um número decimal do tipo double. Usando este padrão ou formato, exibiremos nosso número de entrada.
Passamos o padrão para a classe de formato Decimal e formatamos a saída usando a 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)); } }
Resultado
Java BigDecimal
Esta é novamente uma classe Java especial que fornece operações aritméticas simples sobre o número (somar, subtrair, multiplicar e dividir), arredondando o resultado, conversão de formato e assim por diante.
Vejamos o exemplo abaixo para entender isso melhor.
Arredondando o número
o que é teste de regressão em qa
No exemplo abaixo, demonstramos a diferença entre a subtração simples de decimal e a subtração por meio da classe Decimal Grande.
Inicializamos duas variáveis duplas e calculamos a diferença entre seus valores. Novamente, inicializamos duas variáveis usando a classe Big-Decimal com o mesmo valor e calculamos sua diferença.
Finalmente, imprimimos ambos os valores e você pode ver a diferença entre eles. O valor calculado de Big Decimal foi arredondado automaticamente.
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); } }
Resultado
perguntas frequentes
P # 1) Quantos bytes leva um tipo duplo?
Responda: 8 bytes.
P # 2) O que é MathContext em Java?
Responda: O MathContext é uma classe em Java que especifica o modo e a precisão do número de arredondamento. Ele fornece objetos imutáveis e também é responsável por impor certas regras para os operadores que são implementados pela classe Decimal grande.
As regras são:
RoundingMode.CEILING,
RoundingMode.DOWN,
RoundingMode.FLOOR,
RoundingMode.UP
No exemplo a seguir, inicializamos uma variável dupla e definimos regras diferentes para arredondar os dígitos. Isso funciona de acordo com o especificador de saída que passamos.
Por exemplo, Na primeira instrução de impressão, estamos calculando a função de teto onde passamos '3' como um especificador de saída. Isso significa que a saída terá três dígitos. Da mesma forma, na última declaração, passamos '1', então a saída conterá 1 dígito.
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))); } }
Resultado
P # 3) Java Big Decimal é imutável?
Responda: sim. Cada vez que fazemos uma determinada operação em Big Decimal, eles retornam um novo objeto em vez de modificar os objetos já criados.
Q # 4) Qual é a diferença entre float e double?
Responda: Listados abaixo estão as diferenças entre float e double.
Flutuador | Dobro |
---|---|
Representa números de precisão simples. | Representa números de precisão dupla. |
A largura é de 32 bits e o intervalo é 1,4e – 045 a 3,4e + 038 | A largura é de 64 bits e o intervalo é 4,9e – 324 a 1,8e + 308 |
Ele contém 7 dígitos. | Ele contém entre 15-16 dígitos. |
Útil em operações de conversão de moeda. | Útil em sin (), cos (), sqrt () já que o tipo de retorno é duplo. |
Mais lento do que a precisão dupla. | Em processadores modernos, construídos para realizar longas operações matemáticas, a precisão dupla é muito mais rápida. |
P # 5) O que é uma aula de matemática?
Responda: Uma classe Math é uma classe em Java que contém todos os métodos usados em operações matemáticas. Ele tem duas constantes duplas, isto é, E (2.72) e pi (3.14).
Por exemplo, métodos sin (), cos (), tan () de trigonometria. sqrt (), log (), pow () métodos de exponencial. Um exemplo de programação em pow () já foi abordado acima (exemplo duplo de Java).
Conclusão
Neste tutorial, explicamos o tipo primitivo duplo com um exemplo apropriado. Também incluímos DecimalFormat e BigDecimal Java com programas.
Perguntas mais frequentes também estão incluídas em várias áreas do tipo duplo, como alcance, largura, tamanho, aula de matemática, etc.
c número aleatório entre 0 e 1
Ao percorrer este tutorial, você será capaz de entender o tipo duplo em detalhes e poderá usar esses conceitos ao escrever sua própria lógica em operações aritméticas.
=> Leia a série de treinamento Easy Java.
Leitura recomendada
- Tutorial de Java Float com exemplos de programação
- Java String contains () Tutorial de método com exemplos
- Java Integer e classe Java BigInteger com exemplos
- Tutorial de Java String | Métodos Java String com exemplos
- Java Reverse String: Tutorial com exemplos de programação
- Método Java substring () - Tutorial com exemplos
- Operador ternário em Java - Tutorial com exemplos
- Jagged Array In Java - Tutorial com exemplos