02. Introdução à linguagem Java: variáveis, tipos primitivos, promoção e casting Flashcards

1
Q

Quais são as duas categorias de variáveis em Java?

A

Variáveis primitivas e variáveis objeto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qual é sintaxe para se declarar e inicializar uma variável primitiva em Java?

A

Sintaxe: tipoPrimitivo nomeDaVariavel = valorPrimitivo;
Exemplo: int contador = 0;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual é a sintaxe para se declarar e inicializar uma variável objeto em Java?

A
Sintaxe: Classe nomeDoObjeto  = new Classe();
Exemplo: Pessoa p = new Pessoa();
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explique o conceito de promoção de tipos em Java.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Explique o conceito de casting de tipos em Java.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qual é o tipo primitivo que o compilador assume quando você escreve o número literal 39 em seu código?

A

Um literal inteiro sempre será considerado implicitamente como o tipo int.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qual é o tipo primitivo que o compilador assume quando você escreve o número literal 39.39 em seu código?

A

Um literal de ponto flutuante será considerado implicitamente como double.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Como você declara um literal do tipo long no seu código?

A

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!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Como você declara um literal do tipo float no seu código

A

Utilizando-se a letra F ou f depois do número. Ex:

float a = 39f;
float b = 39F;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly