Java Flashcards

(116 cards)

1
Q

Como fazer a leitura de dados a partir do console?

A

Utilizando a classe Scanner

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

O que passar como parâmetro para ler do console utilizando a classe Scanner?

A

System.in

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

Quais métodos mais utilizados da classe Scanner?

A

next -> lê o próximo token(palavra) usa o espaço como delimitador padrão.
nextLine -> lê a linha atual e passa pra próxima.
nextInt -> lê o próximo inteiro.

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

Como saber o tamanho de uma String?

A

Utilizando o método length

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

Qual a diferença entre print, printf e println?

A

print só printa o conteúdo no console, println printa e pula uma linha já o printf permite a formatação do conteúdo printado.

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

Como funciona a formatação no printf?

A

É realizada a partir de placeholders que representam o conteúdo a ser printado

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

Qual é a forma dos placeholders utilizados no printf?

A

%[arg$][flags][width][.precision]conversion

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

O que será printado na tela: System.out.printf(“%2$,3.2f %1$s”, “meters”, 1260.5052);?

A

1,260.51 meters

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

Quais placeholders são utilizados para imprimir inteiros, floats e strings no printf?

A

%d, %.2f (pra duas casas decimais), %s

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

Qual placeholder usar para alinhar uma String a esquerda em um campo com 10 caracteres no printf?

A

%-10s

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

O que faz o placeholder %05d no printf?

A

Printa o número com largura 5, preenchendo com 0’s caso o número tenha largura menor que 5.

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

Quais são os tipos primitivos de Java?

A

byte, short, int, long, float, double, boolean e char

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

Qual é o tamanho de cada tipo primitivo?

A

byte: 8-bit signed integer,
short: 16-bit signed integer,
int: 32-bit signed integer,
long: 64-bit signed integer,
float: 32-bit floating point,
double: 64-bit floating point,
boolean: true or false,
char: 16-bit Unicode character.

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

Como se faz o complemento de 2 de um número binário?

A

Trocando todos os seus dígitos e somando 1

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

O que faz o método hasLine da classe Scanner?

A

Retorna true se tem outra linha para ser lida e false se chegou no EOF

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

O que significa a palavra-chave static?

A

Indica que o membro pertence à classe, e não a uma instância.

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

O que é um método static?

A

Um método que pode ser chamado sem criar um objeto da classe.

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

O que é uma variável static?

A

Uma variável compartilhada por todas as instâncias da classe.

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

Um método static pode acessar membros não static da classe?

A

Não. Ele só pode acessar membros static.

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

O que é um bloco static?

A

Um bloco que é executado uma vez quando a classe é carregada pela primeira vez.

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

Pode-se usar this dentro de um método static?

A

Não. this se refere a uma instância, e métodos static não têm instância.

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

Para que serve o objeto Calendar?

A

Para trabalhar com datas

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

Qual o padrão de projeto utilizado pela classe Calendar?

A

Singleton

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

Qual a diferença entre as classes Calendar e Date?

A

A classe Calendar é mais completa e lida com questões como fuso horário

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Quais são as principais classes disponibilizadas pela API time e o que cada uma faz?
LocalDate - Representa uma data (yyyy-mm-dd), LocalTime - Representa um tempo (hh-mm-ss-ns), LocalDateTime - Representa uma data e um tempo (yyyy-mm-dd-hh-mm-ss-ns), ZonedDateTime - Representa uma data e hora com fuso horário e DateTimeFormatter - Formatador para definir o formato de datas e tempos.
26
Como se instancia um novo objeto do tipo Calendar?
Usando getInstance (pois é uma classe abstrata): Calendar c = Calendar.getInstance();
27
Como se obtém ou se define dados do objeto Calendar?
Usando os métodos get e set: c.set(2025, Calendar.MAY, 2); int dia = c.get(Calendar.DAY_OF_MONTH); int mes = c.get(Calendar.MONTH) + 1;
28
Como obter a data atual usando a classe LocalDate?
Usando o método now: LocalDate hoje = LocalDate.now(); System.out.println("Hoje: " + hoje);
29
Como criar uma data específica usando a classe LocalDate?
Usando o método of: LocalDate data = LocalDate.of(2025, 5, 2); // ano, mês, dia System.out.println("Data criada: " + data);
30
Como obter partes de uma data (ano | mês | dia | dia da semana) do tipo LocalDate?
Usando os métodos get: int ano = data.getYear(); int mes = data.getMonthValue(); // de 1 a 12 int dia = data.getDayOfMonth(); DayOfWeek dayOfWeek = data.getDayOfWeek();
31
Como adicionar ou subtrair dias | meses ou anos uma data do tipo LocalDate?
Usando os métodos plus, minus… LocalDate mais10dias = data.plusDays(10); LocalDate menos1mes = data.minusMonths(1);
32
Como comparar datas do tipo LocalDate?
Usando os métodos isAfter e isBefore.
33
Como verificar se um ano é bissexto em uma data do tipo LocalDate?
Usando o método isLeapYear.
34
Como converter de String para LocalDate?
Usando o método parse da classe LocalDate passando um formato DateTimeFormatter como parâmetro: String entrada = "08/05/2015"; DateTimeFormatter formato = DateTimeFormatter.ofPattern("dd/MM/yyyy"); LocalDate dataFormatada = LocalDate.parse(entrada, formato);
35
A lógica utilizada na classe LocalTime | LocalDate e LocalDateTime são as mesmas?
Sim.
36
Como formatar um LocalDateTime para string?
Usando o método format da classe LocalDateTime passando um DataTimeFormatter como parametro: LocalDateTime convertido = LocalDateTime.now(); DateTimeFormatter formatoSaida = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss"); String formatado = convertido.format(formatoSaida);
37
Como separar LocalDate e LocalTime de um LocalDateTime?
Usando os métodos toLocalDate e toLocalTime.
38
Como obter data/hora atual em um fuso horário específico?
Utilizando o método now da classe ZonedDataTime passando o fuso como parâmetro: ZonedDateTime emParis = ZonedDateTime.now(ZoneId.of("Europe/Paris"));
39
Como criar um ZonedDateTime com valores específicos?
Criando um ZonedDataTime a partir de um LocalDateTime: LocalDateTime ldt = LocalDateTime.of(2025, 5, 2, 14, 0); ZonedDateTime zoned = ldt.atZone(ZoneId.of("America/Sao_Paulo"));
40
Como converter entre fuso horários?
Utilizando o método withZoneSameInstant: ZonedDateTime sp = ZonedDateTime.now(ZoneId.of("America/Sao_Paulo"));
41
Quais são os símbolos utilizados para definir o formato de DateTime na classe DateTimeFormatter?
dd = Dia, MM = Mês, MMMM = Nome do Mês, yyyy = Ano, HH = Hora(24h), hh = Hora(12h), mm = Minuto, ss = Segundo, a = AM/PM, EEEE = Dia da Semana, z = Abreviação do Fuso, VV = Nome do Fuso
42
O que significa o caracter ‘<’ no printf?
Reutilizar o argumento anterior: long date = 1711638903488L; // Unix timestamp (number of milliseconds since January 1, 1970)
43
Quais são os símbolos utilizados como placeholder de hora, minutos e segundos no printf?
H - 24-hour format of an hour (00 to 23) I - 12-hour format of an hour (01 to 12) k - 24-hour format of an hour (0 to 23) l (lowercase 'L') - 12-hour format of an hour (1 to 12) M - Minutes with leading zeros (00 to 59) S - Seconds with leading zeros (00 to 59)
44
Qual a sintaxe do printf?
System.out.printf([locale,] formatString[, args])
45
Dado um double como fazer a formatação para a moeda de um país usando a classe NumberFormat?
Usando o método format em uma instância de NumberFormat criada passando a localidade da moeda de interesse.
46
Para que serve o Garbage Collector no java?
Para gerenciamento de memória, liberando memória não utilizada.
47
O java permite ponteiros?
Não
48
O java permite multithreading?
Sim
49
O que é JVM e para que serve?
Java Virtual Machine é a máquina que interpreta o bytecode compilado pelo compilador java (o arquivo .class)
50
Qual o fluxo para um programa java ser executado?
O compilador javac gera o arquivo .class que é interpretado pela JVM
51
Quais são as responsabilidades da jvm?
Garbage collection, Verificação de tipos e segurança, threads.
52
O que significa o termo “write once, run anywhere”?
Representa a independência de plataforma do java, uma vez o código escrito, o bytecode pode ser executado em qualquer SO que contenha uma JVM instalada.
53
O que é JRE?
Java Runtime Environment -> JVM + Bibliotecas padrão
54
O que é o JDK?
Java Development Kit -> JRE + Compilador + Ferramentas de desenvolvimento
55
Quais são os operadores bit a bit em java?
& (AND), | (OR), ^ (XOR), ~ (NOT).
56
Qual é a sintaxe do operador ternário em java?
condição ? valor_se_verdadeiro : valor_se_falso;
57
Quais são os operadores de deslocamento de bit em java?
<< Deslocamento para esquerda (multiplica por 2), >> Deslocamento para direita com sinal (divide por 2, mantendo sinal), >>> Deslocamento para direita sem sinal.
58
Java aceita switch?
Sim, aceita o switch case
59
Para que servem as palavras reservadas break e continue em java?
Break serve para interromper um laço ou switch, e continue serve para pular para a próxima iteração do laço.
60
Quais são os quatro pilares da orientação orientada a objetos?
Abstração, Encapsulamento, Herança e Polimorfismo.
61
O que é abstração na programação orientada a objetos?
Abstração é o princípio de ocultar detalhes internos e expor apenas o essencial. Em Java, isso permite focar no "o que faz", e não "como faz".
62
Quais recursos do Java permitem aplicar abstração?
Classes abstratas, Interfaces, Modificadores de Acesso (como private e protected)
63
O que é uma classe abstrata em Java?
Uma classe que não pode ser instanciada diretamente e pode conter métodos abstratos (sem implementação) e métodos normais.
64
O que é uma interface em Java (em relação à abstração)?
Uma interface define um contrato de métodos que as classes devem implementar, sem conter lógica interna (até o Java 7).
65
O que é encapsulamento em POO?
Encapsulamento é o princípio de esconder os dados internos de uma classe e controlar o acesso a eles por meio de métodos públicos (getters e setters).
66
Como se aplica o encapsulamento em Java?
Declarando atributos como private e Criando métodos public para acessar e modificar os dados
67
O que é herança em POO?
Herança é o mecanismo que permite a reutilização de código ao fazer uma classe (subclasse) herdar atributos e métodos de outra (superclasse).
68
Qual a palavra-chave usada para herança em Java?
A palavra-chave extends indica que uma classe herda de outra.
69
O que é uma superclasse e uma subclasse?
Superclasse: classe base (ex: Animal) Subclasse: classe derivada que herda (ex: Cachorro)
70
Qual a palavra-chave usada para herança em Java?
A palavra-chave extends indica que uma classe herda de outra. ## Footnote class Animal { } class Cachorro extends Animal { }
71
A herança em Java é simples ou múltipla?
Java não permite herança múltipla de classes (uma subclasse só pode herdar de uma superclasse), mas permite herança múltipla de interfaces.
72
O que é o método super() em Java?
super() é usado dentro da subclasse para chamar o construtor ou métodos da superclasse. ## Footnote super(); // chama o construtor da superclasse super.emitirSom(); // chama método da superclasse
73
O que é sobrescrita (override) na herança?
É quando uma subclasse redefine um método da superclasse para mudar seu comportamento. ## Footnote @Override void emitirSom() { System.out.println("Latido"); }
74
O que é polimorfismo em POO?
Polimorfismo é a capacidade de um objeto assumir várias formas, permitindo que um mesmo método ou referência se comporte de maneiras diferentes dependendo do contexto.
75
Quais são os dois tipos de polimorfismo em Java?
Polimorfismo de tempo de compilação (sobrecarga de métodos) Polimorfismo de tempo de execução (sobrescrita de métodos)
76
O que é sobrescrita de métodos (override)?
É quando uma subclasse redefine um método da superclasse, alterando seu comportamento.
77
O que é sobrecarga de métodos (overload)?
É quando métodos têm o mesmo nome, mas assinaturas diferentes (quantidade ou tipo de parâmetros). ## Footnote void mostrar(String s) { } void mostrar(int x) { }
78
O que o compilador usa para decidir qual método chamar em tempo de execução?
No polimorfismo dinâmico, o Java usa o tipo real do objeto (não da referência) para decidir qual implementação de método chamar.
79
Quais são os tipos de modificadores de acesso e quem pode acessar cada um?
public - Acesso total private - Acesso restrito a própria classe protected - Acesso permitido a mesma classe, ao mesmo pacote e a subclasses. default (sem modificador) - Acesso permitido apenas dentro do mesmo pacote.
80
O que é a stack?
É a memória usada para armazenar variáveis locais, referências de objetos e chamadas de métodos.
81
Como é o compartilhamento de stack entre threads?
Cada thread tem sua própria stack.
82
Quando um método é chamado, o que acontece na stack?
É adicionado um stack frame com as variáveis locais, parâmetros e o endereço de retorno.
83
O que é a heap?
É a memória usada para armazenar objetos criados com new e seus atributos.
84
Como é o compartilhamento de heap entre threads?
O heap é compartilhado entre todas as threads.
85
O que acontece quando um objeto da heap se torna inacessível?
É deletado pelo Garbage Collector.
86
Qual a diferença entre variável local e de instância?
A variável local é uma variável declarada dentro de um método ou de um bloco de código que a torna acessível somente naquele escopo, já a variável de instância é uma variável declarada dentro de uma classe mas fora de qualquer método.
87
Como crescem os endereços da stack e da heap?
Os endereços da stack crescem do maior para o menor e da heap cresce do menor para o maior.
88
Como é dividido os dados de um programa na memória?
Código, Dados Estáticos, Heap e Stack.
89
Do que é composta a assinatura de um método?
Nome e Tipos dos Parâmetros.
90
Qual o método da classe String utilizado para remover espaços em branco dos extremos de uma string?
trim.
91
Um objeto String é mutável ou imutável?
Imutável.
92
Qual a diferença entre um objeto mutável e imutável?
Um objeto mutável pode ser alterado depois de criado, e um objeto imutável não.
93
O que significa a palavra-chave final e onde ela pode ser aplicada?
É usada para indicar que algo não pode ser modificado após ser definido. Ela pode ser aplicada a variáveis, métodos e classes, e o comportamento varia conforme o contexto.
94
O que significa a palavra final em variáveis?
Indica que o valor da variável não pode ser alterado depois de atribuído (ou seja, é uma constante).
95
O que significa a palavra final em métodos?
Impede que o método seja sobrescrito (override) por subclasses.
96
O que significa a palavra final em classes?
Impede que a classe seja estendida (ou seja, não pode ter subclasses).
97
Como criar uma string mutável?
Usando o objeto StringBuilder.
98
Qualquer texto entre aspas é uma String em java?
Sim.
99
Uma variável pode ser utilizada sem ter sido inicializada?
Se for local não.
100
O que é um literal?
É um valor constante que é escrito diretamente no código do programa e que não pode ser alterado durante a execução.
101
Quais são os tipos de literais?
Numéricos, de Caractere, de String, Booleano e Null.
102
Como funciona o operador de igualdade ‘==’ para Strings?
Retorna true se as duas referências apontarem para o mesmo objeto na memória.
103
Quais são os métodos mais utilizados de comparação de String e o que cada um faz?
equals -> Retorna true se as strings têm os mesmos caracteres equalsIgnoreCase -> É um equals ignorando a distinção entre letras maiusculas e minúsculas. compareTo -> Retorna 0 se forem iguais, um n<0 se a string q invoca for menor e um n>0 caso contrário. (a É um compareTo ignorando a distinção entre letras maiusculas e minúsculas.
104
O que faz e qual a sintaxe do método concat da classe String?
Concatena duas strings. ## Footnote Sintaxe: string1.concat(string2)
105
O que faz e qual a sintaxe do método valueOf da classe String?
É um método estático da classe String que converte um tipo primitivo em um objeto do tipo String. ## Footnote Sintaxe: String.valueOf(variavel)
106
O que faz e qual a sintaxe do método length da classe String?
Retorna o comprimento do texto em uma String string1.length()
107
O que faz e qual a sintaxe do método charAt da classe String?
Retorna o caractere em uma localização específica em uma String. Sintaxe: string1.charAt(n)
108
O que faz e qual a sintaxe do método getChars da classe String?
Recupera um conjunto de caracteres de uma String. Sintaxe: string1.getChars(srcBegin, srcEnd, dst, dstBegin)
109
O que faz e qual a sintaxe dos métodos startsWith e endsWith da classe String?
Aceitam uma string e um número inteiro (opcional) como argumentos, retornando um valor booleano que indica se a string inicia ou termina, respectivamente, com o texto informado a partir da posição dada. Sintaxe: string1.startsWith(string2, [id]) string1.endsWith(string2)
110
O que faz e qual a sintaxe do método indexOf da classe String?
Localiza a primeira ocorrência de um caractere ou substring em uma string. Retorna o índice do caractere na String ou -1 caso não encontre o caractere. Pode começar a busca a partir de um index. Sintaxe: string1.indexOf(string_ou_caractere, [indice_de_inicio_da_busca])
111
O que faz e qual a sintaxe do método lastIndexOf da classe String?
Localiza a última ocorrência de um caractere ou substring em uma string. Retorna o índice do caractere na String ou -1 caso não encontre o caractere. Pode começar a busca de trás pra frente a partir de um index (verifica se a substring começa a partir desse index). Sintaxe: string1.lastIndexOf(string_ou_caractere, [indice_de_inicio_da_busca])
112
O que faz e qual a sintaxe do método substring da classe String?
Permite extrair substrings de strings. Sintaxe: string1.substring(ini[, fim])
113
O que faz e qual a sintaxe do método replace da classe String?
Retorna um novo objeto contendo a string original com um trecho especificado substituído por outra expressão indicada. Sintaxe: string1.replace(caracter_ou_string_a_ser_substituido, caracter_ou_string_a_ser_colocado)
114
O que fazem os métodos toUpperCase e toLowerCase da classe String?
Colocam todos os caracteres da string em maiusculo ou minúsculo.
115
O que faz e qual a sintaxe do método trim da classe String?
Gera um novo objeto string, removendo todos os caracteres de espaço em branco que aparecem no início ou no fim da string em que o método opera. Sintaxe: string1.trim()
116
O que faz e qual a sintaxe do método toCharArray da classe String?
Transforma uma string em um array de caracteres. Sintaxe: string1.toCharArray()