quinta-feira, 18 de abril de 2013

Casting

Fala "blogonautas javeiros", fiquei devendo uma postagem sobre o cast (hihihihi), faz um tempinho, mas estou revisando alguns conceitos básicos e tenho maior prazer de compartilahr com vocês meu conhecimento; até porque meu aprendizado começa junto com o seu. :)

Casting

Consiste em atribuir uma (variável ou valor) de um tipo a uma variável de outro tipo. Este recurso é muito utilizado no desenvolvimento de
aplicações Java. O casting pode ser melhor compreendido com a tradução para nossa língua que é: "Moldagem", ou seja, vamos mudar o molde.

Existem duas maneiras de realização de cast: Implícitos e Explícitos

Casting Implícito:

Neste caso a conversão é feita automaticamente pelo java. Seguindo sempre a ordem:

byte -> short -> int -> long -> float -> double

Podemos converter automaticamente um byte para short  ou para long. Converter também um int para double  tranquilamente.


long num = 1;   // => 1 é numero inteiro logo é feito casting implícito para armazenar numa variável tipo long.


Agora para fazer o contrário desse seguimento?!?!   ex: de double para short.  E agora José???


int num = 1.5;  // => ??????????  Atribuição para uma variável tipo int, porém o valor é do tipo double; lembre se que double são 8 bytes
e int são 4 bytes


Neste caso se trata de Casting Explícito:

Casting Explícito é feito "na unha":

double num1 = 1.5;
int num2 = (int) num1;

CUIDADO com Casting Explícito:  Se apresentarmos o resultado de num2 o que será apresentado ?!?!  Resposta:   1

int não armazenam casas decimais, sendo assim perdidas.


Sobre tipo Char: 

Para Char o Casting implícito acontece apartir do int, veja o seguimento:

char -> int -> long -> float -> double

TABELINHA:  Esta tabelinha ajuda a compreender  o que será implícito e o que será explícito:

Caelum - FJ11



Até o próximo!

Nenhum comentário:

Postar um comentário