Notizen
Ohne Titel
Inhalt der Notizen (11)
Seite 1
equalsIgnoreCase("exit")
equalsIgnoreCase("exit")
👉 É uma forma de comparar textos (Strings)
👉 ignorando letras maiúsculas e minúsculas
Significa literalmente:
“é igual, ignorando maiúsculas/minúsculas?”
!search.equalsIgnoreCase("exit")
Tradução:
“search NÃO é igual a exit”
Ou seja:
se for "exit" → false
se for qualquer outra coisa → true
Seite 2
Equals X ==
Comparação bem visual 🧩
==
“É o mesmo objeto?”
equals
“O texto é o mesmo?”
📓 Regra de ouro pra anotar
Nunca use == para comparar String
Use equals ou equalsIgnoreCase
Seite 3
setPrettyPrinting()
Ele é um configurador do Gson.
Quando você usa:
Gson gson = new GsonBuilder()
.setPrettyPrinting()
.create();
Você está dizendo:
“Quando transformar objetos Java em JSON, formate o JSON bonitinho.”
Seite 4
Quando criar um método?
Crie um método quando:
1️⃣ O código faz UMA coisa só
👉 Ex: montar URL, ler JSON, salvar arquivo
2️⃣ Você consegue dar um nome claro para o trecho
👉 Ex: montarEndereco()
3️⃣ O código está grande ou confuso
4️⃣ O código pode ser reutilizado
5️⃣ Você quer esconder detalhes no main
📌 Regra:
Se cabe numa frase curta → método
✂️ EXEMPLO (método)
String endereco = BASE_URL + search.replace(" ", "+") + "&apikey=" + API_KEY;
Depois:
montarEndereco(search);
Identificar blocos
2️⃣ Dar nome para cada bloco
3️⃣ Transformar em método
4️⃣ Usar no main
Quando criar classes?
Crie uma classe quando:
1️⃣ Existe um CONCEITO claro
👉 Ex: Filme, Usuário, Cliente da API
2️⃣ A classe está fazendo muitas coisas diferentes
3️⃣ Você quer reutilizar em outro programa
4️⃣ O main virou um “Deus” (faz tudo)
📌 Regra:
Se é um “ser” ou “serviço” → classe
🧱 EXEMPLOS DE CLASSES
✔️ Titulo → representa um filme
✔️ TitleOmdb → representa dados da API
✔️ ErroConsultaGitHubException → representa um erro
🧠 DECISÃO RÁPIDA (anotar)
Pergunte:
❓ “Isso é só um PASSO do processo?”
➡️ Método
❓ “Isso é uma COISA do sistema?”
➡️ Classe
🚦 ORDEM CORRETA (importante)
1️⃣ Primeiro: organize com métodos
2️⃣ Depois: extraia classes
3️⃣ Nunca pule direto para classes
📝 FRASE FINAL (pra grifar)
Métodos organizam o código.
Classes organizam o sistema.
Por exemplo, quando você precisa processar uma lista de alunos para calcular a média das notas e então retornar em listas distintas os alunos aprovados e reprovados. Para este tipo de processamento criamos classes.
Criamos uma classe quando temos que processar algo do lado do servidor, como por exemplo, gerar um relatório, fazer uma consulta, fazer uma integração entre sistemas.
Criamos classe também quando é necessário obter informações da base de dados, precisamos da classe para fazer a conexão com o banco. E assim poder fazer consultas, transitar dados de um lado para o outro, entre tantas outras transações pertinentes a base de dados, como gravar, atualizar e consultar uma base de registros.
Seite 5
Modificadores
📌 MODIFICADORES EM JAVA (LISTA COMPLETA)
Em Java, modificadores são palavras-chave que alteram:
acesso
comportamento
herança
pertencimento
concorrência
Modificadores de acesso
Modificador Quem pode acessar
public Qualquer lugar
protected Mesmo pacote + subclasses
(default) Mesmo pacote
private Apenas a própria classe
Tudo que é detalhe interno da classe → private
Exemplo mental
Imagine sua casa 🏠
Sala → qualquer um entra (public)
Quarto → só você (private)
2️⃣ MODIFICADORES DE PERTENCIMENTO
Modificador O que faz
static Pertence à classe
(não static) Pertence ao objeto
3️⃣ MODIFICADORES DE RESTRIÇÃO / COMPORTAMENTO
Modificador Significado
final Não pode ser alterado
abstract Deve ser implementado
synchronized Controla acesso concorrente
volatile Controle de memória em threads
transient Não é serializado
nativeI mplementado fora do Java
4️⃣ MODIFICADORES DE CLASSE (nível da classe)
Modificador Uso
public Classe visível
abstract Classe incompleta
final Classe não pode ser herdada
strictfp Precisão matemática
sealed Herança controlada
non-sealed Libera herança
static Apenas para classes internas
5️⃣ MODIFICADORES DE MÉTODO
Modificador Uso
public / protected / private Acesso
static Método da classe
final Não pode ser sobrescrito
abstract Sem corpo
synchronized Thread-safe
native Código externo
strictfp Precisão matemática
6️⃣ MODIFICADORES DE ATRIBUTO
Modificador Uso
public / protected / private Acesso
static Compartilhado
final Constante
transient Ignorado na serialização
volatile Threads
Dicas
Pertencimento
static
└── pertence à CLASSE
(não static)
└── pertence ao OBJETO
✍️ Anote:
Quem é o dono?
🌿 3. RESTRIÇÃO
final
├── variável: não muda
├── método: não sobrescreve
└── classe: não herda
✍️ Anote:
Não pode ser alterado
🌿 4. OBRIGAÇÃO
abstract
├── método: sem corpo
└── classe: incompleta
✍️ Anote:
Alguém tem que implementar
Seite 6
normalmente, os métodos pertencem a um objeto.
Seite 7
try-with-resources
O try-with-resources é um try especial que:
👉 trata exceções
👉 fecha recursos automaticamente
Sintaxe:
try (Recurso recurso = new Recurso()) {
// código
} catch (Exception e) {
}
try normal
try {
// código
} catch (Exception e) {
}
5️⃣ O que pode entrar no try-with-resources?
Só coisas que:
têm método close()
implementam AutoCloseable
Exemplos:
FileWriter
Scanner
BufferedReader
InputStream
Regra de ouro ⭐
✍️ Se você abrir algo que precisa fechar → use try-with-resources.
✍️ Se não precisa fechar nada → try normal já basta.
Seite 8
IOException x RunTimeException
5️⃣ Diferença importante (anota isso 📒)
IOException
✔️ Problema externo
✔️ Arquivo / rede
✔️ Não depende da lógica do seu código
RuntimeException
❌ Erro de lógica
❌ Programador errou
Ex: NullPointerException, NumberFormatException
Seite 9
O main é o chefe
Os métodos são os funcionários
O chefe manda, os funcionários fazem
O tipo da variável que recebe o retorno
tem que ser o mesmo tipo retornado pelo método
Quando eu chamo um método que tem return,
o resultado volta e pode ser guardado numa variável.
Em Java todo parâmetro precisa de:
tipo
nome
Com objetos, o método recebe uma cópia da referência.
Se você muda o objeto, todo mundo vê.
Seite 10
Mudanças de valores primitivos
int a = 10;
muda(a);
static void muda(int x) {
x = 20;
}
1️⃣ a nasce com valor 10
2️⃣ Quando você chama:
muda(a);
O Java faz:
pega o valor de a → 10
copia esse valor
coloca a cópia dentro de x
Agora temos:
a = 10
x = 10
3️⃣ Dentro do método:
x = 20;
Agora:
a = 10
x = 20
📌 Só o x mudou, porque:
x é uma variável do método
a é outra variável, fora do método
4️⃣ O método termina → x desaparece
Sobra:
a = 10
Frase-chave (essa é a regra)
✍️ O método recebe uma CÓPIA do valor.
Não recebe a variável.
Não recebe um “atalho” para a variável.
Mudança de valores de Objetos
Imagine essa classe simples:
class Filme {
String nome;
}
E este código:
Filme filme = new Filme();
filme.nome = "Matrix";
processa(filme);
3️⃣ O que é o “valor” de filme?
Aqui está o ponto importante 👇
filme não guarda o filme
filme guarda uma referência para o filme
Pense assim (só mentalmente):
filme = REF123
E em algum lugar da memória:
REF123 → Filme(nome = "Matrix")
📌 Essa REF123 é o valor da variável filme.
4️⃣ Quando você chama o método
processa(filme);
E o método é:
static void processa(Filme f) {
}
O Java faz a MESMA coisa que fez com int:
1️⃣ pega o valor de filme → REF123
2️⃣ copia esse valor
3️⃣ coloca a cópia em f
Agora temos:
filme = REF123
f = REF123
👉 Duas variáveis
👉 Mesmo valor
👉 Mesmo objeto
5️⃣ Caso A — Mudar o OBJETO (importante)
static void processa(Filme f) {
f.nome = "Outro nome";
}
O que muda?
Você não trocou o valor de f
Você mexeu dentro do objeto
Resultado final:
filme.nome = "Outro nome"
📌 Por quê?
Porque filme e f apontam para o mesmo objeto.
6️⃣ Caso B — Mudar a REFERÊNCIA (igual ao int)
static void processa(Filme f) {
f = new Filme();
f.nome = "Novo filme"; }
Agora acontece isso:
f = REF999 → Filme("Novo filme")
filme = REF123 → Filme("Matrix")
📌 O que mudou?
Só f
filme ficou igual antes
Seite 11
Resuminho para anotar 📓
this.campo → acessa atributo da classe
record não usa getX()
acessa com objeto.campo()
construtor copia valores de um objeto para outro
Informationen
- Beschreibung
- Notiz am Ohne Titel, erstellt von Brenda Gabriela Senra da Silva am 01/01/2026.
- Erstellt von
- Brenda Gabriela Senra da Silva
- Aufrufe
- 8
- Bewertung