Programa do Curso

Introdução à Java

  • História e evolução de Java
  • Visão geral das versões e actualizações do Java
  • O que há de novo no Java 17
  • Configuração do Java Development Kit (JDK 17) e do IDE

Estrutura do programa Java

  • Escrevendo um programa Java simples
  • Visão geral da sintaxe Java
  • Compilação e execução de Java aplicações

Tipos de dados e variáveis

  • Tipos de dados primitivos e classes de invólucro
  • Declarar variáveis e constantes
  • Conversão de tipos e casting

Operadores em Java

  • Operadores aritméticos, relacionais, lógicos e bit a bit
  • Precedência e associatividade de operadores

Declarações de fluxo de controlo

  • Declarações condicionais (if-else, switch)
  • Construções de looping (for, while, do-while)
  • Expressões switch melhoradas (Java 17 funcionalidades)

Introdução aos conceitos de OOP

  • Classes e objectos
  • Encapsulamento, herança, polimorfismo e abstração

Criação de classes e objectos

  • Declarando e inicializando objetos
  • A palavra-chave this
  • Construtores (padrão e parametrizados)

Herança

  • Extensão de classes (palavra-chave extends)
  • Sobreposição de métodos e a palavra-chave super
  • Classes e métodos abstractos

Polimorfismo

  • Polimorfismo em tempo de compilação vs. polimorfismo em tempo de execução
  • Sobrecarga e sobreposição de métodos

Interfaces

  • Definição e implementação de interfaces
  • Interfaces funcionais e métodos por defeito

Classes de registo (Java 17 feature)

  • Compreender os registos em Java 17
  • Como os registos simplificam o encapsulamento de dados

Genéricos em Java

  • Compreender os parâmetros de tipo
  • Classes, métodos e interfaces genéricos
  • Tipos limitados e curingas

Tratamento de excepções

  • Tipos de excepções (verificadas e não verificadas)
  • Blocos try-catch-finally
  • Lançamento e captura de excepções
  • Criação de excepções personalizadas

Java Estrutura de colecções

  • Interfaces List, Set, Map e Queue
  • Implementações populares: ArrayList, HashMap, HashSet
  • Iteradores e loops for melhorados

Expressões lambda Express e funcionais Programming

  • Introdução às expressões lambda
  • Sintaxe e utilização
  • Interfaces funcionais

API de fluxo

  • Descrição geral de Java Fluxos
  • Operações de fluxo (filtragem, mapeamento, redução)
  • Fluxos paralelos e considerações de desempenho

Classes seladas

  • Definição e utilização de classes seladas
  • Subclasses permitidas e restrições

Correspondência de padrões para instanceof (Java 17 feature)

  • Simplificando verificações de tipo com pattern matching

Blocos de texto

  • Trabalhar com blocos de texto com várias linhas em Java
  • Comparação com o tratamento tradicional de strings

Registos e melhorias na serialização

  • Serialização e compatibilidade com versões anteriores
  • Como os registos melhoram a legibilidade e a manutenção do código

Depreciação e remoção de recursos

  • APIs obsoletas em Java 17
  • Remoção de funcionalidades desactualizadas

Melhorias no switch Express ião

  • Correspondência de padrões em switch
  • Uso de expressões switch para um código mais limpo

Função estrangeira e API de memória (Incubadora)

  • Visão geral do módulo incubadora
  • Trabalhando com código nativo em Java

Java Sistema de módulos (Projeto Jigsaw)

  • Introdução aos módulos em Java
  • Criando e usando módulos
  • Descritores de módulo e module-info.java
  • Vantagens da modularização

Concorrência e Multithreading

  • Introdução a threads e multithreading
  • Interface executável e interface chamável
  • Sincronização, bloqueios e segurança de thread

Assíncrono Programming com CompetableFuture

  • Escrevendo código assíncrono
  • Usando CompetableFuture para operações sem bloqueio

Implementando Java Aplicações

  • Criando e executando arquivos JAR
  • Empacotando e distribuindo aplicações Java
  • Introdução ao GraalVM (opcional)

Melhores práticas e otimização de código

  • Escrevendo código Java eficiente e de fácil manutenção
  • Armadilhas comuns de desempenho e como evitá-las
  • Técnicas de refatoração de código

Resumo e próximos passos

Requisitos

  • Conhecimentos básicos de programação

Público

  • Programadores de software
  • Programadores
 35 Horas

Número de participantes


Preço por Participante

Próximas Formações Provisórias

Categorias Relacionadas