Olá pessoal.
Pode ser uma duvida meio amadora mas…
o q significa o “L” nesta expressão ?
“long dias = dt / 86400000[color=red]L[/color];”
Obrigado !!!
Olá pessoal.
Pode ser uma duvida meio amadora mas…
o q significa o “L” nesta expressão ?
“long dias = dt / 86400000[color=red]L[/color];”
Obrigado !!!
Long

hahahaha… sério ?
é só isso ?
É sério… é só isso mesmo…
Do mesmo jeito que tb existe o F…
float teste = 1234F;
Olá pessoal.
Pode ser uma duvida meio amadora mas…
o q significa o “L” nesta expressão ?“
long dias = dt / 86400000[color=red]L[/color];”Obrigado !!!
agora q vc se meteu com isso ai, rs, tente explica o POR QUE do L ou F no final … 
abs
puxa… eu pensei que fosse algo sobrenatural…
hehehe…
só mais uma duvida:
pq eu precisaria por um “L” no final do numero se a variavel que está recebendo ela, já esta como Long ?
Pra que eu precisaria dizer denovo que aquele numero é um Long ?
ai e existe o “E” também…n eskeçam dele…mauzinhos… :oops:
puxa… eu pensei que fosse algo sobrenatural…
hehehe…
tu esta certo
os desenvolvedores do java são guiados por forças macabras
cuidado
Puxa !!! que sobrenaturalidade !! hahahaha !! mto bom !!
mas ainda não me responderam o pq que o L é usado se a variavel já esta como long ?
Puxa !!! que sobrenaturalidade !! hahahaha !! mto bom !!
mas ainda não me responderam o pq que o L é usado se a variavel já esta como long ?
Cara,
A questão é a seguinte:
Números inteiros são, por padrão, do tipo [b]int[/b]. Já números de ponto flutuante são, por padrão, [b]double[/b]. Então, se você escrever:
float f = 3.14;
vai levantar uma exceção, já que está atribuindo um double a uma variável float. Os seguintes códigos estão corretos:
float f = 3.14f;
ou
float f = (float)3.14
ou seja, é necessário fazer um cast de double para float.
Já com relação a [b]int[/b]s e [b]long[/b]s, este casting não seria necessário de [b]int[/b] para [b]long[/b], já que um [b]int[/b] "cabe" em um [b]long[/b]. Neste caso, você usa o "l' (ou "L") apenas por questão de clareza.
[EDITADO]
MOTIVO: O CARA ACIMA RESPONDEU JÁ…DE FORMA MAIS CLARA… =)
Vou lhe explicar direitinho.
Java não quer saber se a variável já é long ou não; ele quer saber se cada elemento da expressão é long ou não. Se você tem um número
12
pela definição da linguagem esse número é um int, não um long ou um byte ou um char.
Se você tem este outro número:
123456789012
o Java tenta ler este número como um int, mas como esse número não cabe em um int, dá um erro de compilação.
Para tirar esse erro você teria de usar:
123456789012L
AAAAAAAAAA bom !!!
beleza !!!
agora clareou as idéias !!
aquele abraço e muito obrigado pelas respostas !
Puxa !!! que sobrenaturalidade !! hahahaha !! mto bom !!
mas ainda não me responderam o pq que o L é usado se a variavel já esta como long ?
Outra coisa:
Quando você coloca no código fonte de sua aplicação um número com casas decimais, ele entende SEMPRE como double.
Dessa forma a declaração causa uma erro de compilação:
float meuFloat = 1.0; //não compila
Já as declarações abaixo funcionam perfeitamente:
float meuFloat = 1.0F; //Pode ser F ou f
double meuDouble = 1.0; //não precisa do D (ou d), pois, como falei, o compilador entende como double.
Abraços.
O L é usado para dizer que o literal em sí é de fato e deve ser tratado como um long.
Se vc faz:
long a = 1;
Na verdade vc está atribundo um int ao long, mas como o int é menor que o long, o cast é feio implicitamente.
Além do sufixo L para long, existe o F para float e D para double. A utilidade é dizer ao desenvolvedor (e ao compilado/máquina virtual) que aquele literal (como falei acima) é de fato do tipo que o sufixo denota. Vc pode tanto usar os sufixos em maiúsculo quanto em minúsculo, mas recomenda-se usar em maiúsculo, pois o L minúsculo parece o número um:
1 = l ????
Vc precisaria usar o L caso seu literal represente um valor que não seja um int ao atribuir ao long.
Por exemplo:
// ERRO: integer number too large
long t = 999999999999999999;
// OK
long t = 999999999999999999L;
Até mais!
Essa história do “F”, “L”, “D” etc. são coisas herdadas da linguagem C.
A letra “E” que é usada para notação científica (muita gente boa não tem a menor idéia que é a notação científica e acha que é um erro porque “erro” começa com a letra “E”) é herdado do C, que em última instância copiou isso do Fortran (a mãe de todas as linguagens compiladas modernas).
Significa Long e seu uso é como se fizesse um cast do dado