'Double' e 'double'

  1. O que vem a ser Double?
  2. ‘Double’ é DIFERENTE de ‘double’ ? (letras minusculas)

double é um tipo de dados primitivo (ou predefinido) utilizado para declarar uma variavel com uma precisao de ate 8 bytes .
Já Double é uma classe .Cada tipo primitivo tem uma classe correspondente(Como Char, Float e Double) provenientes do pacote java.lang.Essas classes,conhecidas como classes invólucro-wrapper class-fornecem métodos para processamento de valores do tipo de dados primitivo(Como converter um String em um desses tipos ).Os tipos de dados primitivos não tem métodos.Logo,os métodos relacionados com um tipo primitivo estão localizados na classe invólucro(ou empacotadora,ou wrapper) de tipo correspondente(isto é,o método parseDouble que converte um String num valor double esta localizado na classe Double).e assim por diante nos demais tipos primitivos.

Se não for pedir muito tem como você me mandar alguns exemplos?
Tipo dar um ‘toString’ em um int[] ? (aliás, tem como?)

Um array eh um tipo de objeto, entao voce pode simplesmente fazer

int n[] = new int[10];

String s = n.toString();

Rafael

desenterrando haha…

alguém sabe me dizer pq isso não pode:

double n1 = 11111111111;

e isso pode:

double n2 = 11111111111111111.22222;

o n2 não passa de 8 bytes??

[quote=alves.Felipe]desenterrando haha…

alguém sabe me dizer pq isso não pode:

double n1 = 11111111111;

e isso pode:

double n2 = 11111111111111111.22222;

o n2 não passa de 8 bytes??[/quote]

quando vc coloca um número assim, como vc colocou no n1 (um número qualquer sem ponto para representar a virgula q agente usa) o compilador o considera um int… e esse número é mto grande para um int(e por isso não aceita)… coloca um d no final do número para dizer que é um double

quando vc usa o ponto, ou seja, uma parte fracionaria, o compilador o considera um double por padrão… e por isso aceita

[quote=maior_abandonado][quote=alves.Felipe]desenterrando haha…

alguém sabe me dizer pq isso não pode:

double n1 = 11111111111;

e isso pode:

double n2 = 11111111111111111.22222;

o n2 não passa de 8 bytes??[/quote]

quando vc coloca um número assim, como vc colocou no n1 (um número qualquer sem ponto para representar a virgula q agente usa) o compilador o considera um int… e esse número é mto grande para um int(e por isso não aceita)… coloca um d no final do número para dizer que é um double

quando vc usa o ponto, ou seja, uma parte fracionaria, o compilador o considera um double por padrão… e por isso aceita[/quote]
Correto, mesmo você colocando um valor absurdo. O compilador se encarrega de fazer o resto, claro com a letra d no final.

double n1 = 123456789065465465465465d;

Abraço!

[quote=truck1n]
Correto, mesmo você colocando um valor absurdo. O compilador se encarrega de fazer o resto, claro com a letra d no final.

double n1 = 123456789065465465465465d;

Abraço![/quote]

Não pode ser tão absurdo assim… o tamanho do dobule é limitado

Por isso criaram as classes BigDecimal para valores com pontos flutuantes e BigInteger para numeros inteiros.

ok… valeu pelas respostas…

[quote=Mark_Ameba][quote=truck1n]
Correto, mesmo você colocando um valor absurdo. O compilador se encarrega de fazer o resto, claro com a letra d no final.

double n1 = 123456789065465465465465d;

Abraço![/quote]

Não pode ser tão absurdo assim… o tamanho do dobule é limitado

Por isso criaram as classes BigDecimal para valores com pontos flutuantes e BigInteger para numeros inteiros.[/quote]

Na verdade até pode ser bem absurdo, porque double usa notação científica. Pode armazenar um número até 1.7976931348623157E308, o que é bastante, não? A partir disso, trata o valor como Infinity. Mas é claro que BigDecimal e BigInteger são recomendadas para grandes números (até mesmo por causa da precisão).