Data Types Flashcards
O que é uma variável de instância?
São os atributos dos objetos.
Declaradas fora de qualquer método ou construtor
Existe uma cópia para cada objeto
Uma variável de instância pode ser declarada dentro do método da classe?
Não!
São consideradas variáveis de instância aquelas variáveis declaradas fora de métodos e construtores.
Existe uma cópia para cada objeto da classe.
Quando duas variáveis podem ter o mesmo nome?
Quando estiverem em escopos diferentes
O que é uma variável literal?
São variáveis cujo o valor é passado diretamente para a variável.
‘a‘ // literal char
12 // literal int
true // literal boolean
23.4 // litreal double
O que é uma inicialização Explicita?
Quando a inicialização de uma variável é feita pelo desenvolvedor.
O valor é inserido diretamente na variável.
Se uma variável for declarada como membro de uma classe, ela é implícita ou explicita?
Implícita.
Quando uma variável é membro de uma classe, ela é inicializada implicitamente junto com o objeto com um valor default.
Qual a saída do código abaixo?
public class teste(){ int[] numbers = new int[10]; [...] System.out.println(numbers[0]);
A saída é 0
Pois a inicialização é implícita, ou seja, não é declarado um valor, mas o
O que é uma inicialização implícita?
Quando uma variável primitiva de instância ou de classe não é inicializada explicitamente pelo programador, ela assume um valor padrão implicitamente. No caso do tipo int, esse valor é 0. E no caso do tipo double, esse valor é 0.0.
Qual o range pode ser armazenado em uma variável do tipo byte?
1 byte (8 bits, de -128 a 127);
Qual o range de valores que podem ser armazenados em variáveis do tipo short?
16bits
-32.768 e 32.767
Como armazenar um valor de base octal?
Deve começar com zero a esquerda e usar apenas algarismos de 0 a 7.
int i = 0761; // octal
System.out.println(i); // 497
int i = 0769; // compile error
Por que o valor abaixo não compila?
int i = 0769;
Pois todo valor que começa com zero pertence a base octal.
Podendo receber valores de 0 a 7.
Como armazenar valores hexadecimal em java?
Deve começar com 0X ou 0x e usar algarismos de 0 a 15, sendo as letras de A a F.
int j = 0xAB3400; // hexadecimal
System.out.println(j); // 11219968
Como armazenar um valor binário em uma variável java?
Deve começar com 0b ou 0B e usar somente 0 e 1.
int b1 = 0b100001011; // binary
System.out.println(b1); // 267
Por que a linha abaixo não compila?
float i = 5.0;
Por definição todo valor decimal é tratado como double em java.
Portanto é preciso especificar o tipo manualmente.
float i = 5.0f;
É possível armazenar um numero em uma variável do tipo char?
Sim
Char é considerado um tipo numérico, portanto armazena números.
char c = 65;
char c = ‘A’;
O que é uma classe Wrapper?
Cada tipo primitivo possui uma classe correspondente.
O nome dessa classe começa sempre em maiúsculo.
Boolean para tipos boolean
Integer para tipos int
etc…
Para que serve o método ValueOf?
Converte um valor para um tipo especifico.
Retorna um tipo wrapper. Diferente dos métodos parse que retorna um tipo primitivo.
Byte.valueOf("2"); Integer.valueOf("2"); Integer.valueOf(58); String.valueOf(2.2); String.valueOf('c');
Para que serve os métodos parse?
Convertem Strings para outros tipos.
Retorna um tipo primitivo. Diferente dos métodos ValueOf que retorna um tipo wrapper.
Boolean.parseBoolean(“true”);
Byte.parseByte(“1”);
Integer.parseInt(“1”);
Double.parseDouble(“1”);
Porque o código abaixo não compila?
Byte by = new Byte(1); // Não compila
Pois todo valor literal em java é por padrão um int.
Portanto é obrigatório o cast na hora da inicialização.
Vale lembrar que esta regra somete é aplicada para as classes Wrappers. Valores nativos sofrem autobox e não precisam da conversão.
Byte by = new Byte((byte)1); // ok
O que o código abaixo imprime?
String s = “Java”;
System.out.println(s.length());
4
Lembre-se que em string, lenght é um método, portanto precisa de parenteses.
O método size() não existe em string.
O que o código abaixo imprime?
String s = “Java”;
System.out.println(s.length);
Não compila
Lembre-se que em string, lenght é um método, portanto precisa de parenteses.
O método size() não existe em string.
O que o código abaixo imprime?
String s = “Java”;
System.out.println(s.size());
Não compila
Lembre-se que em string, lenght é um método, portanto precisa de parenteses.
O método size() não existe em string.
Para que serve o método concat() da classe String?
Como é usado?
Concatena o parâmetro ao fim da String atual e devolve o resultado;
Lembre-se que que as instancias de String são imutáveis. portanto o cósigo abaixo não faz nada se não retornar um valor.
s2.concat(“3”);
O correto é:
String s2 = s1.concat(“2”);