02. Introdução à linguagem Java: variáveis, tipos primitivos, promoção e casting Flashcards
Quais são as duas categorias de variáveis em Java?
Variáveis primitivas e variáveis objeto.
Qual é sintaxe para se declarar e inicializar uma variável primitiva em Java?
Sintaxe: tipoPrimitivo nomeDaVariavel = valorPrimitivo;
Exemplo: int contador = 0;
Qual é a sintaxe para se declarar e inicializar uma variável objeto em Java?
Sintaxe: Classe nomeDoObjeto = new Classe(); Exemplo: Pessoa p = new Pessoa();
Explique o conceito de promoção de tipos em Java.
Quando valor primitivo de tamanho “menor” (ou seja, que utiliza menos bits para ser representado em memória) é atribuído para uma variável de um tipo primitivo de tamanho “maior” (ou seja, que utiliza mais bits para ser representado em memória), ele é promovido automaticamente para esse tipo primitivo “maior” da variável.
Ex: um valor short, quando atribuído para uma variável int, é promovido automaticamente para int, sem necessidade de interferência do programador via código.
Explique o conceito de casting de tipos em Java.
Quando um valor primitivo de tamanho “maior” (ou seja, que utiliza mais bits para ser representado em memória) é atribuído para uma variável de um tipo primitivo de tamanho “menor” (ou seja, que utiliza menos bits para ser representado em memória), um erro de compilação é lançado porque transformar um tipo “maior” em outro tipo “menor” pode acarretar em perda de informação.
Com o mecanismo de casting, o programador se responsabiliza pela transformação de tipos, como dissesse “eu sei que eu posso perder informações aqui, mas eu me responsabilizo por isso” e o compilador aceita essa transformação dos tipos.
A sintaxe de casting é colocar o tipo menor entre parênteses antes do valor do tipo maior. Ex:
int a = 1;
short b = (short) a;
Aqui fica óbvio que não existe perda de informação, pois um short consegue representar o número 1 sem problemas. Mas se o valor int fosse muito grande, maior que a amplitude de números que um short consegue representar, existirá perda de informação.
Qual é o tipo primitivo que o compilador assume quando você escreve o número literal 39 em seu código?
Um literal inteiro sempre será considerado implicitamente como o tipo int.
Qual é o tipo primitivo que o compilador assume quando você escreve o número literal 39.39 em seu código?
Um literal de ponto flutuante será considerado implicitamente como double.
Como você declara um literal do tipo long no seu código?
Um literal inteiro longo é declarado utilizando-se a letra L depois do número inteiro. Ex:
long a = 39L;
Embora seja possível usar-se o L minúsculo, é fortemente recomendado não se fazer isso, pela semelhança com o número 1. Veja o mesmo exemplo utilizando-se o L minúsculo:
long a = 39l;
Fica muito parecido com o número 391. Assim, SEMPRE use L!
Como você declara um literal do tipo float no seu código
Utilizando-se a letra F ou f depois do número. Ex:
float a = 39f;
float b = 39F;