Conversão de Tipos em Java Fábio Moura Governo de Pernambuco Agenda Introdução; Conversões entre tipos primitivos; Promoção aritmética; Conversão utilizando ‘cast’; Exercício. Introdução Conversões entre tipos e cast, acontecem frequentemente quando programamos em Java. int a = 20; double b = 10.5; System.out.println("Soma: " + (a + b)); Introdução As conversões ocorrem: – Entre tipos primitivos: – Atribuição; Passagem de parâmetro; Promoção aritmética. Entre Objetos: Atribuição; Passagem de parâmetros; Inbox e Outbox (conversão implícita de classe em tipo primitivo e vice-versa). Conversões entre tipos primitivos Conversão para um tipo de maior capacidade; Conversão para um tipo de menor capacidade; – Pode haver perda de informação. Essas conversões podem ser: – – Implícitas; Explícitas. Conversões entre tipos primitivos Na conversão por atribuição ou passagem de parâmetros é sempre possível quando a conversão ocorre de um tipo "menor" para um tipo "maior“. byte short int long float char As setas indicam a direção das conversões possíveis double Conversões entre tipos primitivos Conversão para um tipo de maior capacidade: int a = 10; double b = a; O valor de ‘b’ será: 10.0 Promoção aritmética Acontece quando valores de tipos diferentes são usados em uma expressão aritmética: int a = 10; double b = a; System.out.println( a + b ); A saída será: 20.0 Conversão utilizando ‘cast’ Usado para conversões explícitas. Usado em todos os tipos primitivos, exceto boolean. double a = 10.0; int b = (int) a; System.out.println( b ); A saída será: 10 Atenção! Pode haver perda de informação. Exercício 1. 2. 3. 4. 5. 6. Crie um Projeto e no método ‘main’ da Classe principal, crie três variáveis do tipo: char, int e double. Atribua valores para cada uma delas. Crie uma variável do tipo int, chamada ‘valorASCII’ e atribua a ela a variável do tipo char criada anteriormente. Mostre na tela o valor de ‘valorASCII’. Crie uma variável do tipo double e atribua a ela a variável do tipo int criada anteriormente. Crie uma variável do tipo int e atribua o valor da variável double criada anteriormente. Mostra na tela o valor das duas variáveis.