Você está na página 1de 10

INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAÇÕES

DEPARTAMENTO DE TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO


Licenciatura em Engenharia Informática e Telecomunicações

Programação III
Casting

Docente: Mujhahid Karim/ Erick Mahanjane

Maputo, 31 de Julho de 2023


Conteúdo da aula
1. Introdução
2. Casting

2
1. Introdução
• Na linguagem de programação Java é possível se atribuir o valor de um tipo
de variável a outro tipo de variável, porém para tal é necessário que esta
operação seja apontada ao compilador. A este tipo a apontamento designa-
se por casting.

• É possível fazer conversões de tipos de ponto flutuante para inteiros, e


inclusive entre o tipo caractere, porém estas conversões podem ocasionar
a perda de valores, quando se molda um tipo de maior tamanho, como um
tipo double dentro de um int.

3
2. Casting
• Como apresentado na parte introdutória, em java não existe suporte a
atribuições arbitrárias entre variáveis de tipos diferentes, por exemplo
não pode-se inicializar uma variável inteira e atribui-lhe um valor
decimal sem indicar de forma explícita o processo a usar. Veja o código
abaixo:

4
2. Casting
• Para resolver isso usamos um processo chamado casting. Quando
atribuímos um valor a uma variável, e o valor passado é incompatível
com o tipo de dado definido, ocorrerá uma conversão. Para alguns
casos, essa conversão será automático e em outros casos o
programador deve indicar de que forma o valor será convertido ao tipo
de dado da variável.

5
2. Casting
• Quando o casting for feito de forma automática, estamos perante um
casting implícito. Veja o exemplo abaixo apesar de 10 ser um número
inteiro, o tipo de dado da variável numeroLongo continua sendo do tipo
long.

6
2. Casting
• Quando o casting for feito de forma automática, estamos perante um
casting implícito. Veja o exemplo abaixo apesar de 10 ser um número
inteiro, o tipo de dado da variável numeroLongo continua sendo do tipo
long.

7
2. Casting
• Como visto nos exemplos anteriores, algumas conversões não podem
ser realizadas de forma automática, pois o compilador não pode
assumir que tipo de conversão ele deve realizar, isso acontece porque o
tamanho de tipo de dado a ser recebido por uma variável é maior que o
tamanho pré-definido para o tipo dessa variável, logo o compilador não
sabe como ajustar os bits que excederam.

8
Bibliografia
1. Caelum FJ. (2011). Java e Orientação a Objectos,
http://www.caelum.com.br/download/caelum-java-objetos-fj11.pdf ,
2. Caelum FJ (2011). Java para Desenvolvimento Web,
http://www.caelum.com.br/download/caelum-java-web-fj21.pdf,
3. Oracle, (2011). Especificações do padrão JAVA EE,
http://www.oracle.com/technetwork/java/javaee/tech/index.html,
4. Campione, Mary e Walrath, Kathy, (2005). The Java Tutorial - Basics, Sun
Microsystems, http://java.sun.com/docs/books/tutorial/index.html#basics ,
5. Coelho, P. (2005). Programação com JSP, FCA. W3schools, (1999 – 2014).
Tutorial de HTML, http://www.w3schools.com/html/

9
DÚVIDAS E/OU QUESTÕES

10

Você também pode gostar