Pular para conteúdo

Exercícios 03 - Introdução ao Kotlin 💜

🟢 Fáceis

  1. Conversão: Converta o código Java abaixo para Kotlin.
    final String fruta = "Maçã";
    int quantidade = 10;
    
  2. Inferência: O que acontece se eu tentar fazer isso em Kotlin? Por que?
    var nota = 10
    nota = "Dez"
    

🟡 Médios

  1. Null Safety: Você tem uma variável var nome: String? = null. Escreva um código que imprime o tamanho do nome SE ele não for nulo, e imprime "0" se for nulo, usando o operador Elvis (?:).
  2. Funções: Reescreva a função abaixo usando a sintaxe Single-Expression (linha única).
    fun quadrado(x: Int): Int {
        return x * x
    }
    

🔴 Desafio

  1. Data Classes e Cópia:
    • Crie uma data class Celular(val marca: String, val modelo: String, val preco: Double).
    • Instancie um "iPhone 14" de 5000 reais.
    • Use o método .copy() para criar um novo celular igualzinho, mas mudando apenas o modelo para "iPhone 15" e o preco para 6000.
    • Imprima os dois objetos.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Conversão **Resolução e Implementação:**
// Estrutura de implementação recomendada para Conversão
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Introdução ao Kotlin**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Inferência **Resposta Comentada:** - **Fundamentação:** No contexto de **Introdução ao Kotlin**, o conceito abordado (Inferência) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Null Safety **Resposta Comentada:** - **Fundamentação:** No contexto de **Introdução ao Kotlin**, o conceito abordado (Null Safety) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Funções **Resposta Comentada:** - **Fundamentação:** No contexto de **Introdução ao Kotlin**, o conceito abordado (Funções) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Data Classes e Cópia **Resolução e Implementação:**
// Estrutura de implementação recomendada para Data Classes e Cópia
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Introdução ao Kotlin**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.