Revisão sobre a linguagem Java
- Linguagem de programação Java
- Paradigmas de Programação
- Modelo de Tipagem de dados
- Modelo de construção da Linguagem
- Estilo de código
- Versões
- Java 1.8
- Novas funcionalidades
- Java 11
- Novas funcionalidades
- Java 18
- Novas funcionalidades
- Java 19
- Novas funcionalidades
- Java 1.8
- Conjunto de palavras reservadas
- Ambiente de Desenvolvimento e Ferramentas
- Documentação oficial
- JDK
- IDEs
- Como criar um projeto Java em uma IDE
- Mercado
- Popularidade
- Tiobe
- Survey da Stackoverflow
- Survey da Jetbrains
- Vagas e salários
- Survey da Stackoverflow
- Survey da Jetbrains
- Áreas de aplicações da linguagem Java
- Survey da Stackoverflow
- Survey da Jetbrains
- Principais bibliotecas/frameworks
- Survey da Stackoverflow
- Survey da Jetbrains
- Popularidade
- Hello World
- Estrutura mínima de um código Java
- Nome do arquivo e Extensão
- Nome da classe
- Método main
- Escrever dados no console
- Indentação de código
- Delimitação de uma instrução
- Delimitação de bloco de instruções
- Compilação e Execução via linha de comando
- Tipos de Dados e operadores
- Tipos de Dados
- Declarações de variáveis
- Nomes válidos para variáveis e boas práticas
- Atribuição de valores
- Operadores
- Operadores aritméticos
- Operadores booleanos
- Conversão de tipos de dados
- Saída de Dados
- Método System.out.println
- Método System.out.print
- Exibir o valor de uma variável
- Exibir o valor de um decimal
- Classe Math
- Definição
- Principais operações
- String
- Concatenação de String
- Principais operações sobre String
- Comparação de String
- Diferença entre String e caracter
- Entrada de Dados
- Classe Scanner
- Obter um valor inteiro
- Obter um valor decimal
- Obter um valor de texto
- Classe Scanner
- Fluxo de Controle
- Estruturas de Decisões
- if-else-then
- switch
- Estruturas de Repetições
- for
- while
- do-while
- Comandos break e continue
- Estruturas de Decisões
- Arranjos e Matrizes
- Definição matemática
- Declaração de arranjos
- Declaração de matrizes
- Percorrer arranjos
- Percorrer matrizes
- Linha a linha
- Coluna a coluna
- Em diagonal
- Utilizar arranjos e matrizes como parâmetros de métodos
- Utilizar arranjos e matrizes como retorno de métodos
- Tratamento de Exceções
- Definição
- Exceções comuns
- Divisão por zero
- Conversão de tipos de dados inválidos
- Acessar uma posição inválida em um arranjo
- Acessar uma String nula
- Bloco para capturar uma exceção
- Bloco para capturar diferentes exceções
- Bloco finally
- Lançar uma exceção
- Métodos estáticos
- Estrutura de declaração de um método estático
- Nomes válidos e boas práticas
- Parâmetros
- Retorno
- Utilização de métodos estáticos
- Disponíveis na mesma classe
- Disponíveis em outra classe/arquivo.
- Recursão
- Classe
- Definição
- Representação de classe e objeto na UML
- Diferença entre classe e objeto
- Atributos
- Métodos
- Construtor
- Objeto
- Inicialização de um objeto
- Utilização de um objeto
- Comparação de objetos
- Método toString
- Visibilidade de atributos e métodos
- Público
- Privado
- Sobrecarga de métodos
- Sobrecarga de construtores
- Definição
- Pacotes
- Definição
- Representação de pacotes na UML
- Definição de um pacote em uma classe
- Importando uma classe de um pacote diferente
- Visibilidade de classes, atributos e métodos
- Default/Pacote
- Pacote default
- Importar uma classe em um pacote default
- Definição
- Escopo de classe e objeto
- Definição
- Palavra reservada static
- Herança
- Definição
- Representação de herança na UML
- Criação de uma classe que realiza herança
- Sobreescrita de métodos
- Polimorfismo
- Conversão de tipos
- Visibilidade de atributos e métodos
- Protegido
- Palavra reservada super
- Encadeamento de construtor
- Encadeamento de método
- Definição
- Interface
- Definição
- Representação de interface na UML
- Criação de uma classe que implementa uma interface
- Sobreescrita de métodos
- Polimorfismo
- Conversão de tipos
- Definição
- Classe abstrada
- Definição
- Representação de classe abstrata na UML
- Criação de uma classe que extende uma classe abstrata
- Polimorfismo
- Conversão de tipos
- Definição
- Coleções
- Definição
- List e Arraylist
- Aplicações
- Declaração
- Utilização
- Adicionar elementos
- Acessar elementos
- Atualizar elementos
- Remover elementos
- Map e HashMap
- Aplicações
- Declaração
- Utilização
- Adicionar elementos
- Acessar elementos
- Atualizar elementos
- Remover elementos
- Tipo Enumerado
- Definição
- Representação de tipos enumerados na UML
- Definição
- Representação de tempo
- Classe Date
- Classe Calendar
- API Date/Time Java 8
- LocalDate
- LocalTime
- LocalDateTime
- Period
- Duration
- Formação de Date/Time
- Modificador final
- Definição
- Representação de final no diagrama UML
- Modificador final em uma variável
- Variável de tipo primitivo
- Objeto
- Modificador final em um atributo
- Atributo primitivo
- Objeto
- Modificador final em um método
- Modificador final em uma classe
- Definição
- Objeto imutável
- Definição
- Aplicações
- Como criar um objeto imutável
- Como modificar um objeto imutável
- Tipos Genéricos
- Definição
- Representação de tipos genéricos na UML
- Criação de classes com tipos genéricos
- Inicialização de objetos com tipos genéricos
- Definição
- Testes Unitários
- TDD
- JUnit
- Adicionar JUnit no projeto Java
- Teste assertEquals
- Teste assertTrue/assertFalse
- Teste assertNull/assertNull
- Teste assertArrayEquals
- Teste fail
- Teste capturar uma exception
- JDBC
- Definição
- Driver de conexão
- Como adicionar o driver de conexão no projeto Java
- Criação de uma conexão com o banco de dados
- Classe DataManager
- String de conexão
- Banco SQLite
- Banco MySql
- Banco Postgre
- Classe Connection
- Enviar instruções SQL
- Classe Statement
- Classe PreparedStatment
- Consultar registros no banco de dados
- Classe ResultSet
- Obter um registro
- Obter uma coleção de registros
- Bloco de instruções try-with-resources
- Captura de exceções
- Driver não encontrado
- Conexão inválida
- Tabela não encontrada
- Registro não encontrado
- Erro ao inserir/atualizar
- Erro ao consultar
- Design Patterns
- Singleton Factory para criação de conexões
- Representação na UML
- DAO para manipular dados de uma tabela
- Representação na UML
- Singleton Factory para criação de conexões
SCHEIBEL, Glaucio. Exercícios de Programação
FURGERI, SÉRGIO. Java 8 Ensino Didático: Desenvolvimento e Implementação de Aplicações. Saraiva Educação SA, 2018.
Schildt, Herbert. Java para iniciantes. Bookman Editora, 2015.
Finegan, Edward, and Robert Liguori. OCA Java SE 8: Guia de Estudos para o Exame 1Z0-808. Bookman Editora, 2018.
Bloch, Joshua. Java Efetivo: 3a edição. Alta Books Editora, 2019.
Martin, Robert C. Código limpo: habilidades práticas do Agile software. Alta Books, 2019.
Fowler, Martin. UML Essencial: um breve guia para linguagem padrão. Bookman editora, 2014.