Java Flashcards

1
Q

Qual a diferença de uma linguagem dinamicamente tipada e estaticamente tipada. Também, fortemente tipadas e fracamente tipadas?

A

Dinamicamente Tipada: Em linguagens dinamicamente tipadas, os tipos das variáveis são associados em tempo de execução. Isso significa que você não precisa declarar explicitamente o tipo de uma variável e pode reatribuir diferentes tipos a ela durante a execução do programa. Python

Estaticamente Tipada: Em linguagens estaticamente tipadas, os tipos das variáveis são associados em tempo de compilação. Isso significa que você precisa declarar explicitamente o tipo de uma variável e não pode mudá-lo durante a execução do programa. C#

Fortemente Tipada: Em linguagens fortemente tipadas, a linguagem impõe restrições rígidas sobre como os tipos de dados podem ser combinados. Isso significa que operações entre tipos incompatíveis geralmente resultam em erros. Java

Fracamente Tipada: Em linguagens fracamente tipadas, as conversões entre tipos são realizadas implicitamente pelo sistema, e não há restrições rígidas sobre como os tipos de dados podem ser combinados. JavaScript

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

Quais os resultados do código:

public class App {
public static void main(String[] args) throws Exception {
int ano = 2024;
int idade = 20;
System.out.println(ano + idade + “hello world”);
System.out.println(“hello world” + ano + idade);
System.out.println(“hello world” + (ano + idade));
}
}

A

2044hello world
hello world202420
hello world2044

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

Qual o resultado do código abaixo:

public class App {
public static void main(String[] args) throws Exception {
int ano = 2024;
int idade = 20;
int a = ano++;
int b = ++idade;
System.out.println(ano++ + ++idade + “ hello world ++ ano” + a + b);
System.out.println(“hello world” + b + a + idade + ++ano);
}
}

A

2047 hello world ++ ano202421
hello world212024222027

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

Qual o resultado da compilação?

public class App {
public static void main(String[] args) throws Exception {
String nome = “Isaac”;
String nome1 = “Isaac”;
System.out.println(nome == nome1); // Busca no sistema de memória
System.out.println(nome.equals(nome1)); // Busca diretamente no conteúdo

    String nome2 = new String("Isaac");
    String nome3 = new String("Isaac");
    System.out.println(nome2 == nome3);
    System.out.println(nome2.equals(nome3));
} }
A

true
true
false
true

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

Qual o resultado?
public class App {
public static void main(String[] args) throws Exception {
String nome = “Isaac”;
nome.toUpperCase();
System.out.println(nome);

    String nome2 = nome.toUpperCase();
    System.out.println(nome2);
} }
A

Isaac
ISAAC

(Strings em Java são imutáveis)

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

Qual o resultado do código?

public class App {
public static void main(String[] args) throws Exception {
String nome = “Isaac”;
String sobrenome = “Rodrigues”;

    System.out.println("Seu nome é " + nome + ", Seu Sobrenome é "+ sobrenome );
    System.out.printf("Seu nome é %s e seu sobrenome é %s", nome, sobrenome);
} }
A

Seu nome é Isaac, Seu Sobrenome é Rodrigues
Seu nome é Isaac e seu sobrenome é Rodrigues

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

Qual a função do StringBuilder?

public class App {
public static void main(String[] args) throws Exception {
StringBuilder a = new StringBuilder(“Isaac”);
a.append(“ Rodrigues”);
System.out.println(a);
}
}

A

Isaac Rodrigues

O StringBuilder é mutável, e pode ser modificado com a.append

Diferente da String comum

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

Explique a diferença entre list, set e map.

A

List (Lista):

Uma lista é uma coleção ordenada de elementos onde os elementos podem ser repetidos.
Os elementos são acessados através de um índice baseado em zero (zerobased) [0,1].
Implementações comuns incluem ArrayList, LinkedList, e Vector.
Útil quando a ordem dos elementos é importante e você precisa de acesso sequencial aos elementos.

Set (Conjunto):

Um conjunto é uma coleção que não permite elementos duplicados.
Os elementos em um conjunto não têm uma ordem específica.
(Não há como acessar por índice)
Implementações comuns incluem HashSet, TreeSet, e LinkedHashSet.
Útil quando você precisa garantir a exclusividade dos elementos em uma coleção.

Map (Mapa):

Um mapa é uma coleção de pares chave-valor (cada chave associada a um valor), onde cada chave é única.
Cada chave está associada a exatamente um valor. (Espalhados por um algoritmo de hash)
Implementações comuns incluem HashMap, TreeMap, e LinkedHashMap.
Útil quando você precisa mapear chaves a valores e recuperar valores rapidamente usando chaves.

Em resumo, List é usada para armazenar uma coleção ordenada de elementos, Set é usada para armazenar uma coleção de elementos únicos sem ordem definida, e Map é usada para armazenar uma coleção de pares chave-valor únicos, onde os valores podem ser recuperados rapidamente usando as chaves correspondentes.

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

Em list, qual a diferença entre encadeamento simples e encadeamento duplo?

A

Encadeamento Simples: Anda somente em um sentido, não consegue retornar.

Encadeamento Duplo: Tem as referências tanto indo como voltando, ao percorrer uma lista, pode-se avançar e retornar pelos objetos.
(Costuma ter melhor performance)

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

Qual a regra de uma Pilha(stack) LIFO?

A

Last in First out (O último a entrar é o primeiro a sair)

Na estrutura da pilha, o último dado a entrar vai para a cabeça da pilha
E o primeiro item a entrar, vai para a base da pilha.

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

Quais os principais comandos de uma Pilha (stack)?

A

Push = Colocar dados.
Pop = Retirar dados.
Peek = Verifica a cabeça da pilha sem alterar os dados.

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

Em filas (= queue), qual a ordem de entrada e saída de dados FIFO?

A

FIFO = first in first out
o primeiro dado a entrar é o primeiro a sair da fila.
Entrada = 1 - 20 - 40 - 5
Saída = 1 - 20 - 40 - 5

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

Quais os comandos de uma fila (= queue)?

A
  • Enqueue
  • Dequeue

A fila é munida de duas operações: enqueue, que insere uma coisa na coleção, e dequeue, que remove a coisa mais antiga da coleção.

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

Em orientação a objetos, o que é uma classe abstrata?

A

Assim, como uma classe abstrata possui métodos abstratos, — ela não pode ser instanciada — , ou seja, um objeto não pode ser criado a partir dela.

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