Operadores Flashcards
(36 cards)
int i = 5;
char c = i;
Não compila
Char não pode receber int sem cast
Uma variável char pode receber um byte?
Não
Uma variável char pode receber um int?
Não
char c = ‘c’;
int i = c;
Ok!
Compila
Quando o cast é obrigatório?
Quando existe a possibilidade de perda de informação.
byte b = 5;
short s = b;
Ok!
Compila
short s = 15;
int i = s;
Ok!
Compila
byte b = 100;
double d = b;
Ok!
Compila
double d = 100;
float f = d;
Não compila sem cast
Qual o resultado da operação abaixo?
float fl = 5/2;
2.0
long l = 10;
float f = l;
Ok!
Compila
double d = 50;
long l = d;
Não compila sem Cast
Quais os tipos aceitos em um switch?
byte short int char String (Aceito desde Java 7)
Não são aceitos:
Long
Double
Float
Quais os tipos não aceitos em um switch?
Não são aceitos:
Long
Double
Float
São aceitos: byte short int char String (Aceito desde Java 7)
final int TWENTY = 20;
…
case TWENTY:
O código compila
final int TWENTY;
TWENTY 20;
…
case TWENTY:
O código não compila
int NUM = 10;
…
case NUM:
Não compila pois a sintaxe case aceita somente constantes.
Deve ser final!
case (1+1):
Ok
Compila pois 1 é uma constante
final int NUM = 20;
case (1+NUM):
Ok
Compila pois 1 e NUM são constantes
O que é promoção numérica?
Em uma operação envolvendo dois tipos diferentes o resultado será sempre o tipo mais amplo.
byte i = 1;
byte j = 1;
byte resultado = i + j;
Não compila pois ocorre a promoção numérica na operação.
O que o continue; faz em um laço for
Pula para a próxima iteração sem concluir a atual.
Qual a diferença entre o break; e o continue; ?
O break para a execução do laço e não executa mais repetições.
O continue para a execução da iteração atual, pulando para a próxima.
Qual exceção lançada em uma divisão por zero?
ArithmeticException