Java Flashcards
Qual a diferença de uma linguagem dinamicamente tipada e estaticamente tipada. Também, fortemente tipadas e fracamente tipadas?
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
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));
}
}
2044hello world
hello world202420
hello world2044
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);
}
}
2047 hello world ++ ano202421
hello world212024222027
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)); } }
true
true
false
true
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); } }
Isaac
ISAAC
(Strings em Java são imutáveis)
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); } }
Seu nome é Isaac, Seu Sobrenome é Rodrigues
Seu nome é Isaac e seu sobrenome é Rodrigues
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);
}
}
Isaac Rodrigues
O StringBuilder é mutável, e pode ser modificado com a.append
Diferente da String comum
Explique a diferença entre list, set e map.
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.
Em list, qual a diferença entre encadeamento simples e encadeamento duplo?
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)
Qual a regra de uma Pilha(stack) LIFO?
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.
Quais os principais comandos de uma Pilha (stack)?
Push = Colocar dados.
Pop = Retirar dados.
Peek = Verifica a cabeça da pilha sem alterar os dados.
Em filas (= queue), qual a ordem de entrada e saída de dados FIFO?
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
Quais os comandos de uma fila (= queue)?
- 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.
Em orientação a objetos, o que é uma classe abstrata?
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.