| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2008 01:31:08
|
xandao99
Thread.start()
![[Avatar]](/images/avatar/5b915c0e379a039d9fe77cc124f6a4c4.jpg)
Membro desde: 29/07/2008 20:39:35
Mensagens: 33
Offline
|
Bom dia,
Galera sou novo no GUJ, estou postando pela primeira vez aqui no forum, pelo que estou vendo a aliança aqui é bem forte, e com isso estou precisando da ajuda de vocês;
Estou começando o basico do basico em Java, e aos poucos estão surgindo dúvidas, poderim me ajudar....
Como e qual maneira eu posso aplicar os comandos abaixo;
1) Double;
2) Boolean;
3) Long;
4) Byte;
Galera também estou com dúvida, por que tenho que aplicar uma casting do lado da variavel, existem regras na hora da aplicação???
Fico Grato pela atenção.
Tenha um bom dia!!!
____________________________________
Alexandre Dantas
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2008 02:14:58
|
dark_creator
JavaBaby
Membro desde: 07/09/2006 16:31:02
Mensagens: 84
Offline
|
Double, Boolean, Byte e Long são classes empacotadoras de primitivos (Wrappers(acho que é assim que escreve)).
em Java você possui os tipos primitivos byte, char, short, int, long, float, double e boolean e para cada tipo existe uma classe empacotadora Byte, Character, Short, Integer, Long, Float, Double e Boolean.
Em Java tirando os primitivos e as Interfaces acredito que pode-se dizer que tudo são objetos (me corrijam se estiver errado ) e quando você possui uma variavel de um tipo primitivo e nescessita usa-la como objeto é ai que os Wrappers então (veja collections depois)
Exemplo Casting
[code]
int inteiro = 10; //declara um inteiro
short numero = (short)inteiro;
[/code/]
Descupe-me mas estou morrendo de sono agora e tenho de ir me deitar, qualquer coisa amanhã respondo com mais tempo mais pesquise sobre Boxing, UnBoxing, Wrappers, tipo primitivos, tipos por referencia e Casting
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2008 08:48:30
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Leia também esse tópico: http://www.guj.com.br/posts/preList/98808/532303.java#532303 Vocês são estudam no mesmo colégio? São da mesma sala?
This message was edited 1 time. Last update was at 03/08/2008 08:48:55
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2008 16:35:53
|
xandao99
Thread.start()
![[Avatar]](/images/avatar/5b915c0e379a039d9fe77cc124f6a4c4.jpg)
Membro desde: 29/07/2008 20:39:35
Mensagens: 33
Offline
|
dark_creator wrote:Double, Boolean, Byte e Long são classes empacotadoras de primitivos (Wrappers(acho que é assim que escreve)).
em Java você possui os tipos primitivos byte, char, short, int, long, float, double e boolean e para cada tipo existe uma classe empacotadora Byte, Character, Short, Integer, Long, Float, Double e Boolean.
Em Java tirando os primitivos e as Interfaces acredito que pode-se dizer que tudo são objetos (me corrijam se estiver errado  ) e quando você possui uma variavel de um tipo primitivo e nescessita usa-la como objeto é ai que os Wrappers então (veja collections depois)
Exemplo Casting
Descupe-me mas estou morrendo de sono agora e tenho de ir me deitar, qualquer coisa amanhã respondo com mais tempo mais pesquise sobre Boxing, UnBoxing, Wrappers, tipo primitivos, tipos por referencia e Casting
Creator.. Valeu Brother..!! pela ajuda.!!
Realmente está um pouco difícil para interpretar o contexto, pois comecei a faculdade no começo do ano, terminei o básico em C++, primeiro semestre... Irei me esforçar.. quero aprender JAVA!!! ^^
Brother, vou dar uma lida nos assuntos que me referiu... Estou estudando pela apostila do Colégio CAELUM,
pois dizem que é uma ótima escola voltada no ensino de JAVA.
Brown, no tópico acima citado, por que quando aplicou o Short, você indicou o Short novamente do lado da variável... é regra isso?
Eu também estava montando um programinha simples usando IF e ELSE, queria saber aonde eu errei.. pois não estou conseguindo compilar....!!
Programa abaixo.
.... ! Não consegui Compilar (ECLIPSE) por causa do ElSE, agora não sei por que, pois acho que está normal.
Caso poder me dar uma dica, agradeço.
Grato pela atenção.
_______________________________
Alexandre Dantas
This message was edited 1 time. Last update was at 03/08/2008 21:45:56
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2008 16:54:32
|
xandao99
Thread.start()
![[Avatar]](/images/avatar/5b915c0e379a039d9fe77cc124f6a4c4.jpg)
Membro desde: 29/07/2008 20:39:35
Mensagens: 33
Offline
|
Vini.. Valeu !! ^^
Obtive dificuldade na compreenção... =P Acho que eu tenho que estudar muito muito ainda!!!
Qual é a função do ArrayList; List<Integer>; ??? O que eles fazem ???
Não consegui compilar suas linhas de comando o qual referiu para o nosso amigo Ediel, tentei
compilar no Eclipse, eu criei um .class, fiz errado nesse passo.. tenho que criar um class ou um
interface..?
COMANDO QUE VOCÊ SE REFERIU EM OUTRO TÓPICO.
============================================================
EU CRIEI DESTA FORMA -
Eu queria ver o que o seu programa fazia, mas não consegui obter sucesso!!! =/ provavelmente fiz algo errado.
Acho que estou com muitas dúvidas né !! ^^... Mais quero programar em Java se deus quizer!!!..
Valeu Vini, abraço.
Grato pela atenção,
______________________________
Alexandre Dantas
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2008 19:18:46
|
xandao99
Thread.start()
![[Avatar]](/images/avatar/5b915c0e379a039d9fe77cc124f6a4c4.jpg)
Membro desde: 29/07/2008 20:39:35
Mensagens: 33
Offline
|
Pessoal, cade vocês ? Podem me ajudar...
Please...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2008 19:48:58
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
xandao99 wrote:Pessoal, cade vocês ? Podem me ajudar...
Oi, nós estavamos aproveitando o nosso domingo!
Que falta de educação é essa? Ficar insistindo é muito pouco ético, fazer postagens só para o seu tópico voltar ao topo da lista também.
Por favor, não repita atitudes como essa.
Então, você criou um arquivo chamado BoxingEquality.java? Todo arquivo java deve ter o mesmo nome da classe. Faça isso e só então cole o código que eu postei no outro artigo.
Note que no exemplo que eu postei já existe um main. Se quiser fazer na sua própria classe, recorte só o corpo do main e cole no seu main. Colocar imports e definir outra classe dentro do main não vai dar certo mesmo.
A classe ArrayList é uma lista de objetos. Tal como um array, mas dinâmico (você não precisa se preocupar com o tamanho dele). Você verá isso ao estudar o tópico collections.
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2008 19:51:57
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
Agora... me diz uma coisa. Pelo seu grau de conhecimento, você estava mesmo perguntando sobre:
1) Double;
2) Boolean;
3) Long;
4) Byte;
Ou você queria dizer:
1) double;
2) boolean;
3) long;
4) byte;
Estou sentindo que era sobre o segundo caso. Note que as letras maiúsculas no início de cada palavra fazem toda diferença. A primeira lista se refere a classes do Java, que são usadas para representar valores numéricos. A segunda lista representa os tipos primitivos, que são tipos de variável que contém os valores básicos, e onde podemos fazer operações como soma, subtração, multiplicação, E, OU, etc...
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2008 22:32:51
|
xandao99
Thread.start()
![[Avatar]](/images/avatar/5b915c0e379a039d9fe77cc124f6a4c4.jpg)
Membro desde: 29/07/2008 20:39:35
Mensagens: 33
Offline
|
ViniGodoy wrote:
xandao99 wrote:Pessoal, cade vocês ? Podem me ajudar...
Oi, nós estavamos aproveitando o nosso domingo!
Que falta de educação é essa? Ficar insistindo é muito pouco ético, fazer postagens só para o seu tópico voltar ao topo da lista também.
Por favor, não repita atitudes como essa.
Então, você criou um arquivo chamado BoxingEquality.java? Todo arquivo java deve ter o mesmo nome da classe. Faça isso e só então cole o código que eu postei no outro artigo.
Note que no exemplo que eu postei já existe um main. Se quiser fazer na sua própria classe, recorte só o corpo do main e cole no seu main. Colocar imports e definir outra classe dentro do main não vai dar certo mesmo.
A classe ArrayList é uma lista de objetos. Tal como um array, mas dinâmico (você não precisa se preocupar com o tamanho dele). Você verá isso ao estudar o tópico collections.
Vini, desculpe pelo transtorno... Realmente tomei uma atitute incoerente...e totalmente indevida. Valeu pela dica!!! Desculpe atrapalhar seu domingão também poxa..!!!
Referente ao erro de compilação, agora consegui notar aonde foi meu error!!! Valeu ! ^^
Agora... me diz uma coisa. Pelo seu grau de conhecimento, você estava mesmo perguntando sobre:
1) Double;
2) Boolean;
3) Long;
4) Byte;
Ou você queria dizer:
1) double;
2) boolean;
3) long;
4) byte;
Estou sentindo que era sobre o segundo caso. Note que as letras maiúsculas no início de cada palavra fazem toda diferença. A primeira lista se refere a classes do Java, que são usadas para representar valores numéricos. A segunda lista representa os tipos primitivos, que são tipos de variável que contém os valores básicos, e onde podemos fazer operações como soma, subtração, multiplicação, E, OU, etc...
Referente ao assunto acima, realmente não sabia que tinha diferença entre MIUSCULOS e MINUSCULOS... A dúvida é, sobre o segundo...o qual citou, estou estudando Variaveis primitivas e Controle de fluxo, ou seja,
a dúvida é como aplicar estes comandos...
1) double;
2) boolean;
3) long;
4) byte;
Qual a maneira que eu uso eles, para soma?subtração?Qual sentido?...
Ex. do que estou querendo dizer é...
For -> Ele faz Loop
Do while -> Enquanto uma condição não for verdadeira ele repete o laço.
Tenha um bom começo de semana...
Grato pela atenção,
__________________________
Alexandre Dantas.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/08/2008 08:16:07
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
A regra do casting é simples. Você sempre precisará fazer cast de um tipo mais preciso para um menos preciso.
Ou seja:
long -> int -> short -> byte
ou de um tipo com casa decimal para um sem casa decimal:
double -> long, int, short ou byte
float -> long, int, short ou byte
Isso porque nesse tipo de conversão existe chance de você perder dados. Aí ocorre coisas esquisitas como essa aqui:
http://www.guj.com.br/posts/list/98657.java
No sentindo inverso, não há necessidade de conversão. Afinal, você não perde dados tornando sua variável mais precisa.
Quanto a somas, qual é a sua dúvida?
Você pode fazer soma normalmente:
Tome cuidado com os tipos literais. Por exemplo, o valor 10, na equação acima é do tipo inteiro. O java é esperto o suficiente para te poupar do cast em atribuições diretas:
byte x = 10; //Ok, ao invés de inteiro, esse 10 é byte mesmo.
Quando uma expressão mistura mais de um tipo, o cast é feito aumaticamente para o tipo mais preciso. Se houver um número de ponto flutuante (double ou float), o cast é feito para o tipo de ponto flutuante.
Tome cuidado que o simples fato de você dividir não provoca casts. Então, a conta abaixo pode causar surpresa em alguns iniciantes:
9 é inteiro. 2 é inteiro. Não houve cast no resultado e, por ser inteiro, perdeu as casas demais. Contas de inteiros são admitidas pela linguagem. Para contornar o problema, faça o seguinte:
Ou:
Ou ainda:
Cara, não entendi. Qual é o seu problema com o for e com o while?
This message was edited 1 time. Last update was at 04/08/2008 08:17:49
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/08/2008 12:42:13
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Acho que o problema com o for e o while é que não devem ter aprendido fluxogramas na escola.
Parecem coisas jurássicas, os fluxogramas, mas são muito úteis para explicar as coisas.
Se aprendermos fluxogramas, descobriremos que tudo é uma variação de "if" e "goto" - já que é assim que funciona o computador.
Acho que primeiramente deveria ser ensinado o "if", o "switch", então o "do/while" (que é relativamente fácil de representar em fluxogramas"), então o "while" (que é um pouco mais difícil de representar), e por fim o "for", que é uma espécie de "while" metido a besta.
Se bem que, pelo meu estilo de pensamento, preferiria primeiramente aprender o "for" (com os parâmetros padrão, do tipo "for (int i = 1; i <= 10; ++i)" ), depois o "if", e então o "do/while" e por fim o "while", que acho terrivelmente difícil de entender logo de cara.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/08/2008 23:09:28
|
xandao99
Thread.start()
![[Avatar]](/images/avatar/5b915c0e379a039d9fe77cc124f6a4c4.jpg)
Membro desde: 29/07/2008 20:39:35
Mensagens: 33
Offline
|
ViniGodoy wrote:A regra do casting é simples. Você sempre precisará fazer cast de um tipo mais preciso para um menos preciso.
Ou seja:
long -> int -> short -> byte
ou de um tipo com casa decimal para um sem casa decimal:
double -> long, int, short ou byte
float -> long, int, short ou byte
Isso porque nesse tipo de conversão existe chance de você perder dados. Aí ocorre coisas esquisitas como essa aqui:
http://www.guj.com.br/posts/list/98657.java
No sentindo inverso, não há necessidade de conversão. Afinal, você não perde dados tornando sua variável mais precisa.
Quanto a somas, qual é a sua dúvida?
Você pode fazer soma normalmente:
Tome cuidado com os tipos literais. Por exemplo, o valor 10, na equação acima é do tipo inteiro. O java é esperto o suficiente para te poupar do cast em atribuições diretas:
byte x = 10; //Ok, ao invés de inteiro, esse 10 é byte mesmo.
Quando uma expressão mistura mais de um tipo, o cast é feito aumaticamente para o tipo mais preciso. Se houver um número de ponto flutuante (double ou float), o cast é feito para o tipo de ponto flutuante.
Tome cuidado que o simples fato de você dividir não provoca casts. Então, a conta abaixo pode causar surpresa em alguns iniciantes:
9 é inteiro. 2 é inteiro. Não houve cast no resultado e, por ser inteiro, perdeu as casas demais. Contas de inteiros são admitidas pela linguagem. Para contornar o problema, faça o seguinte:
Ou:
Ou ainda:
Cara, não entendi. Qual é o seu problema com o for e com o while?
Vini, valeu !!! =P
Gostei da dica, achei bem interessante o problema do nosso amigo na conversão...
pois você explicou com numeros binários!! que showw ! =P Legal.
Então, Valeu pela dica, mais é assim o double faz a mesma função que o Float ?
Enquanto ao For e IF os dois comando eu aprendi.. Rs!!! Eu estava querendo dizer um exemplo de como poderia me explicar os assuntos, pois eu não estava achando outra maneira de explicar ^^
Ex. o BOOLEAN é parecido com o que ?
BYTE faz o que? Tem qual função no prgrama...
com o LONG você quiz dizer o que ? que tanto faz eu usar o int; short; byte a função é a mesma?
Nossa, o sono está pegando, rs ! Vamos dormir que amanhã tem mais!! rs ! boa noite Viny se cuida.
Valeuuuuuuu ! abraços.
________________________________
Alexandre Dantas
....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/08/2008 23:18:11
|
xandao99
Thread.start()
![[Avatar]](/images/avatar/5b915c0e379a039d9fe77cc124f6a4c4.jpg)
Membro desde: 29/07/2008 20:39:35
Mensagens: 33
Offline
|
thingol wrote:Acho que o problema com o for e o while é que não devem ter aprendido fluxogramas na escola.
Parecem coisas jurássicas, os fluxogramas, mas são muito úteis para explicar as coisas.
Se aprendermos fluxogramas, descobriremos que tudo é uma variação de "if" e "goto" - já que é assim que funciona o computador.
Acho que primeiramente deveria ser ensinado o "if", o "switch", então o "do/while" (que é relativamente fácil de representar em fluxogramas"), então o "while" (que é um pouco mais difícil de representar), e por fim o "for", que é uma espécie de "while" metido a besta.
Se bem que, pelo meu estilo de pensamento, preferiria primeiramente aprender o "for" (com os parâmetros padrão, do tipo "for (int i = 1; i <= 10; ++i)" ), depois o "if", e então o "do/while" e por fim o "while", que acho terrivelmente difícil de entender logo de cara.
Thingol, boa noite!!!
Valeu por responder no tópico.. ^^
Referente a dúvida, FOR e WHILE, uff graças a deus eu consegui fexar na facul.. rs !! Thin eu não faltei em aula de fluxo grama não!! rs, pois Isso eu aprendi .. ^^ Eu citei aquilo representando uma explicação.. Do while e while for, eu sei.. estou com dúvidas como eu posso usar aqueles comando.. qual sentido em uma operação,
qual melhor forma de aplicala....
Tenha uma boa noite!!! se cuida grande abraço.
________________________________
Alexandre Dantas
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2008 06:53:18
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
As variáveis tem um tamanho na memória. Esse tamanho, diz o quão grandes ou pequenos os valores das variáveis podem ser.
Uma variável byte, por exemplo, ocupa um único byte, (surpresa!!!), ou seja, oito bits. Por isso seus valores variam de -128 até 127 (eleve 2 a 8 e subtraia 1 = 255). É impossível guardar um valor fora desse intervalo em um único byte.
Uma variável short tem 16 bits, logo seus valores variam de 2^16-1=-32.768 até 32.767.
Um int, 32 bits, os valores variam de -2.147.483.648 até 2.147.483.647.
E um long tem 64 bits, os valores variam de 18.446.744.073.709.551.616 até 18.446.744.073.709.551.617.
No caso do double e do long, é basicamente a mesma coisa. O double tem o dobro de tamanho que um long, por isso, terá uma precisão muito maior, por suportará mais casas decimais.
A escolha dos tamanhos das variáveis tem algumas consequências:
1. Afeta a precisão dos seus resultados e os intervalos máximos e mínimos que o seu programa trabalha;
2. Envolve o consumo de memória do seu programa. Embora isso geralmente não seja um problema, exceto em aplicações muito específicas, como jogos de computadores;
4. Pode ter impacto na performance do seu programa. Geralmente, variáveis com o tamanho da palavra do seu processador (32 bits na maior parte dos computadores, embora estão se tornando comuns os micros de 64), são processadas mais rapidamente.
A recomendação geral é que vc escolha int e double. Mas é muito bom saber que outros tipos existem. Aliás, alguns tipos também são adequados em situações específicas:
long -> Quando trabalhamos com o tempo em milisegundos;
byte[] -> Em manipulação de dados no formato binário;
float -> Em aplicações de computação gráfica. Usa-se para representar cores, posição dos vértices de uma figura, normais de luz, etc.
Entre outros exemplos...
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/08/2008 22:41:06
|
xandao99
Thread.start()
![[Avatar]](/images/avatar/5b915c0e379a039d9fe77cc124f6a4c4.jpg)
Membro desde: 29/07/2008 20:39:35
Mensagens: 33
Offline
|
ViniGodoy wrote:As variáveis tem um tamanho na memória. Esse tamanho, diz o quão grandes ou pequenos os valores das variáveis podem ser.
Uma variável byte, por exemplo, ocupa um único byte, (surpresa!!!), ou seja, oito bits. Por isso seus valores variam de -128 até 127 (eleve 2 a 8 e subtraia 1 = 255). É impossível guardar um valor fora desse intervalo em um único byte.
Uma variável short tem 16 bits, logo seus valores variam de 2^16-1=-32.768 até 32.767.
Um int, 32 bits, os valores variam de -2.147.483.648 até 2.147.483.647.
E um long tem 64 bits, os valores variam de 18.446.744.073.709.551.616 até 18.446.744.073.709.551.617.
No caso do double e do long, é basicamente a mesma coisa. O double tem o dobro de tamanho que um long, por isso, terá uma precisão muito maior, por suportará mais casas decimais.
A escolha dos tamanhos das variáveis tem algumas consequências:
1. Afeta a precisão dos seus resultados e os intervalos máximos e mínimos que o seu programa trabalha;
2. Envolve o consumo de memória do seu programa. Embora isso geralmente não seja um problema, exceto em aplicações muito específicas, como jogos de computadores;
4. Pode ter impacto na performance do seu programa. Geralmente, variáveis com o tamanho da palavra do seu processador (32 bits na maior parte dos computadores, embora estão se tornando comuns os micros de 64), são processadas mais rapidamente.
A recomendação geral é que vc escolha int e double. Mas é muito bom saber que outros tipos existem. Aliás, alguns tipos também são adequados em situações específicas:
long -> Quando trabalhamos com o tempo em milisegundos;
byte[] -> Em manipulação de dados no formato binário;
float -> Em aplicações de computação gráfica. Usa-se para representar cores, posição dos vértices de uma figura, normais de luz, etc.
Entre outros exemplos...
Vini, mais uma vez agradeço pelas dicas... ótima dica!!! parabéns...
Eu vou dar uma estudada, pois ainda quero mexer com Java ^^, acho que não será impossivel !!!
Nossa, realmente está bem legal a função que me passou do Double e diferenças entre eles... bem explicado..
Eu não manjo ainda... As aplicações e sua diferença, mais quem sabe mais pra frente !!! ^^
Vini, você tem hotmail ? Desculpe más não sei se fazer esta pergunta no forum é proibido.
Por favor, caso for, me corrija...
Grato pela atenção, tenha um boa noite!!! Está ficando tarde já ! rs !
Abraços..
___________________________
Alexandre Dantas
|
|
|
 |
|
|
|
|