Data Types Flashcards

1
Q

O que é uma variável de instância?

A

São os atributos dos objetos.

Declaradas fora de qualquer método ou construtor

Existe uma cópia para cada objeto

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

Uma variável de instância pode ser declarada dentro do método da classe?

A

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.

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

Quando duas variáveis podem ter o mesmo nome?

A

Quando estiverem em escopos diferentes

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

O que é uma variável literal?

A

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

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

O que é uma inicialização Explicita?

A

Quando a inicialização de uma variável é feita pelo desenvolvedor.

O valor é inserido diretamente na variável.

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

Se uma variável for declarada como membro de uma classe, ela é implícita ou explicita?

A

Implícita.

Quando uma variável é membro de uma classe, ela é inicializada implicitamente junto com o objeto com um valor default.

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

Qual a saída do código abaixo?

public class teste(){
int[] numbers = new int[10];
[...]
System.out.println(numbers[0]);
A

A saída é 0

Pois a inicialização é implícita, ou seja, não é declarado um valor, mas o

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

O que é uma inicialização implícita?

A

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.

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

Qual o range pode ser armazenado em uma variável do tipo byte?

A

1 byte (8 bits, de -128 a 127);

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

Qual o range de valores que podem ser armazenados em variáveis do tipo short?

A

16bits

-32.768 e 32.767

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

Como armazenar um valor de base octal?

A

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

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

Por que o valor abaixo não compila?

int i = 0769;

A

Pois todo valor que começa com zero pertence a base octal.

Podendo receber valores de 0 a 7.

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

Como armazenar valores hexadecimal em java?

A

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

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

Como armazenar um valor binário em uma variável java?

A

Deve começar com 0b ou 0B e usar somente 0 e 1.

int b1 = 0b100001011; // binary
System.out.println(b1); // 267

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

Por que a linha abaixo não compila?

float i = 5.0;

A

Por definição todo valor decimal é tratado como double em java.

Portanto é preciso especificar o tipo manualmente.

float i = 5.0f;

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

É possível armazenar um numero em uma variável do tipo char?

A

Sim

Char é considerado um tipo numérico, portanto armazena números.

char c = 65;
char c = ‘A’;

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

O que é uma classe Wrapper?

A

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…

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

Para que serve o método ValueOf?

A

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');
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Para que serve os métodos parse?

A

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”);

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

Porque o código abaixo não compila?

Byte by = new Byte(1); // Não compila

A

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

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

O que o código abaixo imprime?

String s = “Java”;

System.out.println(s.length());

A

4

Lembre-se que em string, lenght é um método, portanto precisa de parenteses.

O método size() não existe em string.

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

O que o código abaixo imprime?

String s = “Java”;
System.out.println(s.length);

A

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.

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

O que o código abaixo imprime?

String s = “Java”;
System.out.println(s.size());

A

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.

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

Para que serve o método concat() da classe String?

Como é usado?

A

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”);

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

Qual a sintaxe do método replace() da classe String?

A

Substitui todas as ocorrências de determinado char por outro;

String replace(char oldChar, char newChar)

System.out.println(“abcabc”.replace(‘a’, ‘A’)); // AbcAbc

System.out.println(“abcabc”.replace(“a”, “A”)); // AbcAbc

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

Qual a diferença entre os metodos equals() e compareTo() da classe String?

A

Ambos fazem uma comparação entre os caracteres de uma String. A diferença fica por conta do retorno.

equals() retorna um boolean dizendo se os objetos são iguais ou diferentes.

compareTo() retorna um int que é a distancia entre os dois primeiros caracteres que diferem.

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

Qual método usado para descobrir uma posição de um caractere em uma String?

A

int indexOf(char) e int indexOf(String)

devolvem o índice da primeira ocorrência do parâmetro

String string = “animals”;
System.out.println(string.indexOf(‘a’)); // 0

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

Qual método é usado para criar uma string secundária em java?

A

String substring(int beginIndex, int endIndex)

Devolve a substring a partir dos índices de começo e fim

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

O método concat() da classe String faz o que?

A

String concat(String)

Concatena o parâmetro ao fim da String atual e devolve o resultado;

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

Qual método é usado para concatenar um valor ao final de uma StringBuilder?

A

append()

Concatena um novo valor à String atual. Aceita vários tipos de dados, não somente String

StringBuilder sb = new StringBuilder().append(1).append(‘c’);

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

Qual método é usado para inserir valores no meio de uma StringBuilder?

A

insert()

Permite inserir valores no meio. Para isso use o índice.

StringBuilder sb = new StringBuilder("animals");
sb.insert(7, "-"); 
// sb = animals-sb.insert(0, "-");
// sb = -animals- 
StringBuilder sb = new StringBuilder("www.com");
sb.insert(3, ".google");
//www.google.com
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

O que o método reverse() da classe StringBuilder faz?

A

Inverte o valor da string:

System.out.println(new StringBuffer(“guilherme”).reverse()); // emrehliug

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

Qual a diferença entre os métodos delete() e deleteCharAt()?

A

O método delete() remove uma sequencia de caracteres entre dois intervalos.

O método deleteChatAt() remove um caractere especifico no índice especifico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q
StringBuffer sb = new StringBuffer();
sb.append("012345678");
sb.delete(1, 3);
System.out.println(sb);
A

0345678

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q
StringBuffer sb = new StringBuffer();
sb.append("Saulo Victor");
sb.delete(5, 8);
System.out.println(sb)
A

Sauloctor

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

Qual a diferença entre o método equals() da classe StringBuilder para o da classe String?

A

Não existe uma implementação para o método na classe StringBuilder.
Ainda é possível usar o método. Mas ele não faz uma comparação entre valores. Mas sim uma comparação entre referencias.

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

Para que serve a classe LocalDate?

A

Trabalha apenas com informações de data. Não armazenando informações sobre hora.

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

Para que serve a classe LocalTime?

A

Trabalha apenas com informações de Hora. Não armazenando informações sobre Data.

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

Para que serve a classe LocalDateTime?

A

Trabalha com informações sobre Data e Hora.

Armazenando informações sobre ambos os valores.

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

Como recuperar a hora local?

A

System.out.println(localTime.now());

41
Q

Como recuperar a data local?

A

System.out.println(localDate.now());

42
Q

Como somar 2 dias em uma data?

A

date = date.plusDays(2);

43
Q

Como somar 3 dias e 1 hora em uma data?

A

date = date.plusDays(3).plusHours(1);

44
Q

Como reduzir 4 segundos em uma variável de data?

A

date = date.minusSeconds(4);

45
Q

Como criar um objeto com a data e hora atual?

A

LocalDateTime agora = LocalDateTime.now();

46
Q

Como criar um período de um ano e um mês?

A

Period everyYearAndAWeek = Period.of(1, 1, 0);

47
Q

Como criar um período de três anos e cinco semanas?

A

Period everyYearAndAWeek = Period.of(3, 1, 5);

48
Q

Como somar um período a uma data?

A

upTo = upTo.plus(period);

49
Q

Qual método usar para saber se uma data é anterior a outra?

A

upTo.isBefore(end);

while (upTo.isBefore(end))

50
Q

Como criar um periodo de 7 anos?

A

Period annually = Period.ofYears(7);

51
Q

Como criar um periodo de 4 semanas?

A

Period everyThreeWeeks = Period.ofWeeks(3);

52
Q

Como criar um periodo de 12 meses?

A

Period quarterly = Period.ofMonths(12);

53
Q

Como imprimir uma data no formato abaixo:

27, outubro, 2019

A

DateTimeFormatter DTF = DateTimeFormatter.ofPattern(dd,MMMM,yyyy);

System.out.println(DTF.format(tipoData);

54
Q

Como imprimir somente o mês de uma Data?

A

System.out.println(date.getMonth());

55
Q

Como imprimir somente o dia da semana uma Data?

A

System.out.println(date.getDayOfWeek());

56
Q

Como imprimir somente o ano de uma Data?

A

System.out.println(date.getYear());

57
Q

Como imprimir o dia do ano de uma Data?

A

System.out.println(date.getDayOfYear());

58
Q

O que são varArgs?

A

É o recurso usado para receber um número não fixo de parâmetros em um método.

public int sum(int… nums){

59
Q

Porque o método abaixo não compila?

public int sum(int[ ] nums, String[ ] Vars ){ }

A

O método recebe dois parâmetros varArgs. Em java só é permitido um.

60
Q

Porque o método abaixo não compila?

public int sum(int[ ] nums, String Var ){ }

A

O método recebe um parâmetro do tipo String depois de uma varArgs.

Em java o parâmetro varArgs deve ser o último da assinatura.

61
Q

O código abaixo compila?

public int sum(String Var, int[ ] nums ){ }

A

Sim!

Mesmo que o método receba dois parâmetros, o último é um varArgs.

62
Q

O código abaixo compila?

public static void main(String str[]){
public int var = 10;
}

A

Não

Uma variável local não pode ter modificadores.

63
Q

O código abaixo compila?

public void metodo(){
private int var = 50;
}

A

Não

Uma variável local não pode ter modificadores.

64
Q

O código abaixo compila?

public void metodo(){
static int var = 50;
}

A

Não

Uma variável local não pode ter modificadores. Static é um modificador.

65
Q

Quais são os dois construtores da classe Boolean?

A

Boolean(String);

Boolean(boolean);

66
Q
Qual o resultado da comparação abaixo?
new Boolean("true") == new Boolean("true")
A

False

O resultado será um false, pois é feita a comparação entre as referências.

67
Q

O que é autoboxing?

A

É conversão automática de tipos de dados primitivos em seu objeto equivalente.

Integer integer = 9;

68
Q

O que é unboxing?

A
É a conversão automática de objetos wrappers para tipos primitivos.
int in = 0;
in = new Integer(9);
69
Q

O código abaixo compila?

int k = new Integer(5 ) + new Integer(10);

A

Sim

Neste caso ocorre o autoboxing. Os valores do tipo Integer são convertidos automaticamente para seu tipo primitivo.

70
Q

O código abaixo compila?

int k = new Integer(5 ) + 10;

A

Sim

O valor Integer é convertido automaticamente para seu tipo primitovo.

71
Q
O código abaixo compila?
void method(int a) {
    double x;
        if(a > 1) {
            x = 6;
        }
    System.out.println(x);
}
A

Não

Pois tentamos acessar uma variável que pode não ter sido inicializada.

72
Q
O código abaixo compila?
void method(int a) {
    double x;
        if(a > 1) {
            x = 6;
        }else{
            x = 0;
        }
    System.out.println(x);
}
A

Sim

Todas as variáveis foram inicializadas, e não existe chance de tentar imprimir uma variável não inicializada.

73
Q
O código abaixo compila?
void method(int a) {
    double x;
        if(a > 1) {
            x = 6;
        }else{
            return;
    System.out.println(x);
}
A

Compila

Pois não existe a possibilidade de imprimir uma variável não inicializada.

74
Q

O código abaixo compila?

class MyString extends String{
    MyString(){ 
        super(); 
    } 
}
A

Não

String é Final, portanto não pode ser herdada.

75
Q

O que o código abaixo faz?

StringBuilder b1 = new StringBuilder("CANADA");
System.out.println(b1.substring(4));
A

DA
str.substring(int start, int end); //Retorna o intervalo

str.substring(int start); //Retorna a partir deste ponto

76
Q

Qual metodo da classe StringBuilder não altera o valor da variável mas retorna uma nova variável?

A

substring
Diferente de append, insert e delete que faz as alterações na própria string e retorna uma referência para a mesma, o método substring retorna uma nova string.

77
Q

O que o código abaixo retorna?

StringBuilder sb = new StringBuilder();
sb.append("Teacher,");
String s = sb.append(" Good").append("Morning!").toString();
A

Teacher, GoodMorning!

78
Q

O código abaixo compila?

String nulled = null;
System.out.println(“value: “ + nulled);

A

Sim! Imprime:

value: null

79
Q

O código abaixo compila?

StringBuffer sb2 = new StringBuffer("Java");
String name = new String(sb2);
A

Sim

Uma String pode receber um StringBuilder.

80
Q

O que imprime o código abaixo?

String value = 15 + 00 + “ certification”;

A

15 certification

81
Q

Porque o código abaixo não compila?

LocalDate data = new LocalDate.now();

A

Pois está tentando instanciar uma classe LocalDate. Estas classes não possuem construtores. Apenas variáveis e métodos estáticos. Portanto não podem ser inicializadas.

82
Q

Como criar um LocalDate com as informações abaixo?

25 de julho de 2008

A

LocalDate data = LocalDate.of(2008,07, 25);

83
Q

Como criar um LocalTime com as informações abaixo?

8: 50
9: 30:05
13: 15:31:40

A

LocalTime time = LocalTime.of(8,50);
LocalTime time = LocalTime.of(9,30,05);
LocalTime time = LocalTime.of(13,15,31,40);

84
Q

Quais os métodos de busca para String e StringBuilder?

A

Para String pode se usar o constains e o indexOf.
O primeiro retorna um boolean e o segundo um int,

Para StringBuilder temos apenas o indexOf.

85
Q

Como criar uma substring nas classes StringBuilder e String?

A

Substring

Vale ressaltar que o método substring da classe StringBuilder não altera o valor da variável, mas sim retorna uma nova.

86
Q

Como adicionar um valor ao final de uma String e StringBuilder?

A

Concat - Adiciona um valor a uma String e retorna um novo valor.

append - Adiciona um valor a uma StringBuilder, alterando o valor atual.

87
Q

o método append pertence a qual classe?

A

StringBuilder

88
Q

o método substring pertence a qual classe?

A

StringBuilder e String

89
Q

o método indexOf pertence a qual classe?

A

StringBuilder e String

90
Q

o método contains pertence a qual classe?

A

String

91
Q

o método insert pertence a qual classe?

A

StringBuilder

92
Q

o método concat pertence a qual classe?

A

String

93
Q

o método equals pertence a qual classe?

A

String

94
Q

o método replace pertence a qual classe?

A

String

95
Q

o método charAt pertence a qual classe?

A

String

96
Q

o método delete pertence a qual classe?

A

StringBuilder

97
Q

o método toString pertence a qual classe?

A

StringBuilder

98
Q

o método compareTo pertence a qual classe?

A

String

99
Q

o método reverse pertence a qual classe?

A

StringBuilder