Prévia do material em texto
Java Concepts Cheat Sheet para Desenvolvimento dos Módulos de Reservas e Catálogo
1. Estrutura de Classe
- Declaração: public class NomeClasse { ... }
- Pacotes: package com.exemplo.reservas;
- Importações: import java.util.*;
2. Atributos e Tipos de Dados
- Tipos primitivos: int, double, boolean.
- Objetos: String, LocalDate, BigDecimal (para valores monetários).
- Modificadores de acesso: private, protected, public.
3. Construtores
public Reserva(int numeroQuarto, String nomeHospede, int dias, BigDecimal valorTotal) {
this.numeroQuarto = numeroQuarto;
this.nomeHospede = nomeHospede;
this.diasEstadia = dias;
this.valorTotal = valorTotal;
}
- Sobrecarga de construtores para flexibilidade e diferentes cenários de criação de objetos.
4. Encapsulamento
Getters e Setters:
public int getDiasEstadia() { return diasEstadia; }
public void setDiasEstadia(int dias) { this.diasEstadia = dias; }
5. Métodos e Assinaturas
- Assinatura: tipo-de-retorno nomeMetodo(parâmetros)
public Reserva buscarPorQuarto(int numeroQuarto) { /* ... */ }
public boolean adicionarReserva(Reserva r) { /* ... */ }
6. Controle de Fluxo
- Condicionais: if, else if, else, switch.
- Loops: for, for-each, while, do-while.
Exemplos de Loops
For simples:
for (int i = 0; i reservas = new ArrayList();
- Map (HashMap): mapeamento chave-valor para buscas rápidas.
Map mapaPorNome = new HashMap();
- Set (HashSet): conjunto sem elementos duplicados.
Set nomesHospedes = new HashSet();
8. Comparação de Valores
Inteiros:
- Operadores: ==, !=, , =.
int a = 5;
int b = 10;
if (a 0) System.out.println("s1 vem depois");
else System.out.println("são iguais");
9. Utilitários e APIs Comuns
- Scanner (entrada do usuário):
Scanner sc = new Scanner(System.in);
int numero = sc.nextInt();
String texto = sc.nextLine();
- Java Time (datas): LocalDate, Period.
- BigDecimal: cálculos financeiros sem erros de ponto flutuante.
10. Boas Práticas
- Convenções de nome: camelCase para atributos e métodos; PascalCase para classes.
- Tratamento de exceções: lançar exceções próprias (IllegalArgumentException, NoSuchElementException).
- Modularização: separar responsabilidades em classes e pacotes.
- Testes unitários: JUnit para garantir qualidade e regressões controladas.