Programando em Java
SL275 - Linguagem de Programação Java
Descrição:
O curso Linguagem de Programação Java fornece aos alunos informações sobre a sintaxe da linguagem de programação Java, programação orientada a objetos com a linguagem Java, criação de interfaces gráficas do usuário (GUI), exceções, entrada/saída de arquivos e segmentos, bem como operação em rede. Programadores que estiverem familiarizados com conceitos de orientação a objetos poderão aprender a desenvolver um aplicativo em Java. O curso aborda a plataforma Java Standard Edition 6 (Java SE 6) e utiliza o Java SE Development Kit 6 (JDK 6). As atividades práticas deste curso são realizadas utilizando-se o NetBeans Integrated Development Environment (IDE) 5.5 .
Tópicos:Introdução
- Examinar a tecnologia Java
- Introdução a um Aplicativo Simples em Java
- Executar um aplicativo Java
Programação orientada a objetos
- Definir os conceitos de modelagem: abstração, encapsulamento e pacotes
- Examinar a reutilização de código de aplicativo Java
- Definir classe, membro, atributo, método, construtor e pacote
- Usar os modificadores de acesso público e privado conforme adequado para as diretrizes de encapsulamento
- Invocar um método em um objeto específico
- Usar a documentação on-line da API Java
Identificadores, Palavras-chave e Tipos
- Usar comentários em um programa de origem
- Diferenciar identificadores válidos e inválidos
- Reconhecer palavras-chave da tecnologia Java
- Listar os oito tipos de primitivas
- Definir valores literais para tipos numéricos e textuais
- Definir os termos 'variável primitiva' e 'variável de referência'
- Declarar variáveis de tipo de classe
- Construir um objeto usando new
- Descrever a inicialização padrão
- Descrever o significado de uma variável de referência
- Indicar a conseqüência da atribuição de variáveis de tipo de classe
Expressões e Controle de Fluxo
- Diferenciar variáveis de local e de instância
- Descrever como inicializar variáveis de instância
- Reconhecer, descrever e usar operadores de software Java
- Diferenciar atribuições legais e ilegais de tipos de primitivas
- Identificar expressões booleanas e seus requisitos em construções de controle
- Reconhecer a compatibilidade de atribuições e a conversão necessária de tipos fundamentais
- Usar as construções if, switch, for, while e do e as formas rotuladas de break e continue como estruturas de controle de fluxo em um programa
Matrizes
- Declarar e criar matrizes de tipos de primitivas, de classes e de matrizes
- Explicar por que os elementos de uma matriz são inicializados
- Explicar como inicializar os elementos de uma matriz
- Determinar o número de elementos de uma matriz
- Criar uma matriz multidimensional
- Escrever código para copiar valores de uma matriz para outra
Projeto de Classe
- Definir herança, polimorfismo, sobrecarga, substituição e invocação de método virtual
- Usar os modificadores de acesso protegidos e padrão (adequado para pacotes)
- Descrever os conceitos de sobrecarga de construtor e método
- Descrever a operação completa de construção e de inicialização de objeto
Recursos de Classe Avançados
- Criar variáveis, métodos e inicializadores estáticos
- Criar classes, métodos e variáveis finais
- Criar e usar tipos enumerados
- Usar a instrução de importação estática
- Criar classes e métodos abstratos
- Criar e usar uma interface
Exceções e Declarações
- Definir exceções
- Usar as instruções try, catch e finally
- Descrever as categorias de exceções
- Identificar exceções comuns
- Desenvolver programas para manipular suas próprias exceções
- Usar declarações
- Identificar os usos adequados e inadequados de declarações
- Ativar declarações em tempo de execução
Estrutura de Coleções e Genéricos
- Descrever as implementações de uso geral das principais interfaces da estrutura de coleções
- Examinar a interface Map
- Examinar as classes de coleções legadas
- Criar ordens naturais e personalizadas implementando as interfaces Comparable e Comparator
- Usar coleções genéricas
- Usar parâmetros de tipo em classes genéricas
- Refatorar código não-genérico existente
- Escrever um programa para iteração em uma coleção
- Examinar o loop for avançado
Princípios Básicos de E/S
- Escrever um programa que use argumentos de linha de comando e propriedades do sistema
- Examinar a classe Properties
- Construir fluxos de processamento e nós e usá-los adequadamente
- Serializar e desserializar objetos
- Diferenciar leitores e gravadores de fluxos e selecioná-los adequadamente
Executar E/S de Console e E/S de Arquivo
- Ler dados do console
- Gravar dados no console
- Descrever a E/S de arquivo e arquivos
Criação de GUIs Java com a API Swing
- Descrever a Tecnologia JFC Swing
- Definir Swing
- Identificar os pacotes Swing
- Descrever os blocos de construção da GUI: recipientes, componentes e gerenciadores de layout
- Examinar propriedades de nível superior, de uso geral e de uso especial de um recipiente
- Examinar componentes
- Examinar gerenciadores de layout
- Descrever o modelo de segmento único swing
- Criar uma GUI com componentes swing
Manipulação de Eventos Gerados pela GUI
- Definir eventos e manipulação de eventos
- Examinar o modelo de evento do Java SE
- Descrever o comportamento da GUI
- Determinar a ação do usuário que originou um evento
- Desenvolver escutas de eventos
- Descrever a simultaneidade em GUIs baseadas no Swing e descrever os recursos da classe SwingWorker
Aplicativos Baseados em Interface Gráfica do Usuário
- Descrever como construir uma barra de menus, um menu e itens de menu em uma interface gráfica do usuário em Java
- Aprender a alterar a cor e a fonte de um componente
Segmentos
- Definir segmento
- Criar segmentos separados em um programa em Java, controlando o código e os dados usados pelo segmento
- Controlar a execução de um segmento e escrever código independente de plataforma com segmentos
- Descrever as dificuldades que podem surgir quando vários segmentos compartilham dados
- Usar wait e notify para comunicação entre segmentos
- Usar synchronized para proteger os dados contra corrupção
Operação em Rede
- Desenvolver código para configurar a conexão de rede
- Compreender TCP/IP
- Usar as classes ServerSocket e Socket para implementar clientes e servidores TCP/IP
Duração: 5 dias

