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
Qual a sintaxe do método replace() da classe String?
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
26
Qual a diferença entre os metodos equals() e compareTo() da classe String?
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.
27
Qual método usado para descobrir uma posição de um caractere em uma String?
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
28
Qual método é usado para criar uma string secundária em java?
String substring(int beginIndex, int endIndex) Devolve a substring a partir dos índices de começo e fim
29
O método concat() da classe String faz o que?
String concat(String) Concatena o parâmetro ao fim da String atual e devolve o resultado;
30
Qual método é usado para concatenar um valor ao final de uma StringBuilder?
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');
31
Qual método é usado para inserir valores no meio de uma StringBuilder?
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 ```
32
O que o método reverse() da classe StringBuilder faz?
Inverte o valor da string: System.out.println(new StringBuffer("guilherme").reverse()); // emrehliug
33
Qual a diferença entre os métodos delete() e deleteCharAt()?
O método delete() remove uma sequencia de caracteres entre dois intervalos. O método deleteChatAt() remove um caractere especifico no índice especifico.
34
``` StringBuffer sb = new StringBuffer(); sb.append("012345678"); sb.delete(1, 3); System.out.println(sb); ```
0345678
35
``` StringBuffer sb = new StringBuffer(); sb.append("Saulo Victor"); sb.delete(5, 8); System.out.println(sb) ```
Sauloctor
36
Qual a diferença entre o método equals() da classe StringBuilder para o da classe String?
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.
37
Para que serve a classe LocalDate?
Trabalha apenas com informações de data. Não armazenando informações sobre hora.
38
Para que serve a classe LocalTime?
Trabalha apenas com informações de Hora. Não armazenando informações sobre Data.
39
Para que serve a classe LocalDateTime?
Trabalha com informações sobre Data e Hora. | Armazenando informações sobre ambos os valores.
40
Como recuperar a hora local?
System.out.println(localTime.now());
41
Como recuperar a data local?
System.out.println(localDate.now());
42
Como somar 2 dias em uma data?
date = date.plusDays(2);
43
Como somar 3 dias e 1 hora em uma data?
date = date.plusDays(3).plusHours(1);
44
Como reduzir 4 segundos em uma variável de data?
date = date.minusSeconds(4);
45
Como criar um objeto com a data e hora atual?
LocalDateTime agora = LocalDateTime.now();
46
Como criar um período de um ano e um mês?
Period everyYearAndAWeek = Period.of(1, 1, 0);
47
Como criar um período de três anos e cinco semanas?
Period everyYearAndAWeek = Period.of(3, 1, 5);
48
Como somar um período a uma data?
upTo = upTo.plus(period);
49
Qual método usar para saber se uma data é anterior a outra?
upTo.isBefore(end); while (upTo.isBefore(end))
50
Como criar um periodo de 7 anos?
Period annually = Period.ofYears(7);
51
Como criar um periodo de 4 semanas?
Period everyThreeWeeks = Period.ofWeeks(3);
52
Como criar um periodo de 12 meses?
Period quarterly = Period.ofMonths(12);
53
Como imprimir uma data no formato abaixo: | 27, outubro, 2019
DateTimeFormatter DTF = DateTimeFormatter.ofPattern(dd,MMMM,yyyy); System.out.println(DTF.format(tipoData);
54
Como imprimir somente o mês de uma Data?
System.out.println(date.getMonth());
55
Como imprimir somente o dia da semana uma Data?
System.out.println(date.getDayOfWeek());
56
Como imprimir somente o ano de uma Data?
System.out.println(date.getYear());
57
Como imprimir o dia do ano de uma Data?
System.out.println(date.getDayOfYear());
58
O que são varArgs?
É o recurso usado para receber um número não fixo de parâmetros em um método. public int sum(int... nums){
59
Porque o método abaixo não compila? public int sum(int[ ] nums, String[ ] Vars ){ }
O método recebe dois parâmetros varArgs. Em java só é permitido um.
60
Porque o método abaixo não compila? public int sum(int[ ] nums, String Var ){ }
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
O código abaixo compila? public int sum(String Var, int[ ] nums ){ }
Sim! | Mesmo que o método receba dois parâmetros, o último é um varArgs.
62
O código abaixo compila? public static void main(String str[]){ public int var = 10; }
Não | Uma variável local não pode ter modificadores.
63
O código abaixo compila? public void metodo(){ private int var = 50; }
Não | Uma variável local não pode ter modificadores.
64
O código abaixo compila? public void metodo(){ static int var = 50; }
Não | Uma variável local não pode ter modificadores. Static é um modificador.
65
Quais são os dois construtores da classe Boolean?
Boolean(String); | Boolean(boolean);
66
``` Qual o resultado da comparação abaixo? new Boolean("true") == new Boolean("true") ```
False | O resultado será um false, pois é feita a comparação entre as referências.
67
O que é autoboxing?
É conversão automática de tipos de dados primitivos em seu objeto equivalente. Integer integer = 9;
68
O que é unboxing?
``` É a conversão automática de objetos wrappers para tipos primitivos. int in = 0; in = new Integer(9); ```
69
O código abaixo compila? int k = new Integer(5 ) + new Integer(10);
Sim | Neste caso ocorre o autoboxing. Os valores do tipo Integer são convertidos automaticamente para seu tipo primitivo.
70
O código abaixo compila? int k = new Integer(5 ) + 10;
Sim | O valor Integer é convertido automaticamente para seu tipo primitovo.
71
``` O código abaixo compila? void method(int a) { double x; if(a > 1) { x = 6; } System.out.println(x); } ```
Não | Pois tentamos acessar uma variável que pode não ter sido inicializada.
72
``` O código abaixo compila? void method(int a) { double x; if(a > 1) { x = 6; }else{ x = 0; } System.out.println(x); } ```
Sim | Todas as variáveis foram inicializadas, e não existe chance de tentar imprimir uma variável não inicializada.
73
``` O código abaixo compila? void method(int a) { double x; if(a > 1) { x = 6; }else{ return; System.out.println(x); } ```
Compila | Pois não existe a possibilidade de imprimir uma variável não inicializada.
74
O código abaixo compila? ``` class MyString extends String{ MyString(){ super(); } } ```
Não | String é Final, portanto não pode ser herdada.
75
O que o código abaixo faz? ``` StringBuilder b1 = new StringBuilder("CANADA"); System.out.println(b1.substring(4)); ```
DA str.substring(int start, int end); //Retorna o intervalo str.substring(int start); //Retorna a partir deste ponto
76
Qual metodo da classe StringBuilder não altera o valor da variável mas retorna uma nova variável?
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
O que o código abaixo retorna? ``` StringBuilder sb = new StringBuilder(); sb.append("Teacher,"); String s = sb.append(" Good").append("Morning!").toString(); ```
Teacher, GoodMorning!
78
O código abaixo compila? String nulled = null; System.out.println("value: " + nulled);
Sim! Imprime: | value: null
79
O código abaixo compila? ``` StringBuffer sb2 = new StringBuffer("Java"); String name = new String(sb2); ```
Sim | Uma String pode receber um StringBuilder.
80
O que imprime o código abaixo? String value = 15 + 00 + " certification";
15 certification
81
Porque o código abaixo não compila? LocalDate data = new LocalDate.now();
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
Como criar um LocalDate com as informações abaixo? | 25 de julho de 2008
LocalDate data = LocalDate.of(2008,07, 25);
83
Como criar um LocalTime com as informações abaixo? 8: 50 9: 30:05 13: 15:31:40
LocalTime time = LocalTime.of(8,50); LocalTime time = LocalTime.of(9,30,05); LocalTime time = LocalTime.of(13,15,31,40);
84
Quais os métodos de busca para String e StringBuilder?
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
Como criar uma substring nas classes StringBuilder e String?
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
Como adicionar um valor ao final de uma String e StringBuilder?
Concat - Adiciona um valor a uma String e retorna um novo valor. append - Adiciona um valor a uma StringBuilder, alterando o valor atual.
87
o método append pertence a qual classe?
StringBuilder
88
o método substring pertence a qual classe?
StringBuilder e String
89
o método indexOf pertence a qual classe?
StringBuilder e String
90
o método contains pertence a qual classe?
String
91
o método insert pertence a qual classe?
StringBuilder
92
o método concat pertence a qual classe?
String
93
o método equals pertence a qual classe?
String
94
o método replace pertence a qual classe?
String
95
o método charAt pertence a qual classe?
String
96
o método delete pertence a qual classe?
StringBuilder
97
o método toString pertence a qual classe?
StringBuilder
98
o método compareTo pertence a qual classe?
String
99
o método reverse pertence a qual classe?
StringBuilder