GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Notizen

Ohne Titel

Brenda Gabriela Senra da Silva Portugiesisch 11 Seiten

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.
Aufrufe
8
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck