Buscar

Linguagem de Programação - Aulas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 76 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 76 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 76 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

LINGUAGEM DE PROGRAMAÇÃO
AULA 1: 
INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO 
JAVA
Nesta aula, você irá:
1.Identificar a importância das linguagens de 
programação;
2.Identificar as características da linguagem de 
programação java;
3.Conhecer os tipos de programas java;
4.Identificar os requisitos necessários para se 
programar;
5.Construir um ambiente de programação para a 
linguagem java;
6.Desenvolver pequenos programas com 
estruturas básicas.
Introdução Às Linguagens De Programação
Linguagem de Programação: 
Conjunto de regras sintáticas e semânticas, 
utilizados para se estabelecer comunicação entre o 
programador e o computador.
São usadas para se escrever programas ou 
softwares.
Métodos de implementação de Linguagens de 
Programação:
É a forma como uma linguagem de programação se 
comunica (é entendida e executada) com o 
computador.
O computador possui uma linguagem de máquina 
de nível baixo que oferece operações primitivas.
O software de sistema deve criar uma interface 
com os programas de nível mais alto.
O sistema operacional e as implementações de 
linguagens são dispostos em camadas sobre a 
interface de linguagem de máquina de um 
computador.
Introdução ao Java
Linguagem de programação orientada a objetos 
desenvolvida por um time de programadores, 
liderados por Patrick Naughton, Mike Sheridan e 
James Gosling, na empresa Sun Microsystems.
Linguagem de Alto desempenho, suporta 
multithreading, compilação just-in-time e utilização 
de código nativo.
É uma linguagem que é compilada para um 
“bytecode”, que é interpretada por uma máquina 
virtual – JVM.
Principais características:
PORTABILIDADE
O Java pode ser executado em qualquer 
plataforma ou equipamento que possua um 
in terpretador Java e que tenha s ido 
especialmente compilado para o sistema a ser 
utilizado.
ORIENTADA A OBJETOS
Contém a sintaxe similar a linguagem C/C++, 
mas é baseada no modelo Simula67
SEGURANÇA
Pode ser executado via rede, com restrições de 
execução, além de proteger o sistema do 
c l iente contra poss íve is a taques não 
intencionais.
Por que estudar Java?
• Orientação a Objetos: totalmente 00 - 
permitindo herança e reutilização de código de 
forma dinâmica e estática.
• Dinamismo: permite ser aumentado durante a 
execução.
• Facilidade: Derivada do C/C++ - Bem familiar. 
O ambiente ret i ra do programador a 
responsabilidade de gerenciar a memória e os 
ponteiros.
Utilizações E Aplicações Do Java:
• Desenvolvimento de aplicativos corporativos de 
grande porte
• Desenvolvimento de aplicativos WEB
• Fornecimento de aplicativos para dispositivos 
voltados para consumo popular (celulares, 
pagers, PDAs, etc.)
• Muitos outros propósitos
Funcionamento De Um Programa Java
EDITOR
É a escrita ou desenvolvimento do programa – 
código fonte. Faz-se necessário um editor de texto 
simples como o bloco de notas do Windows ou o vi 
do Linux.
Existem os ambientes de desenvolvimento 
i n t e g r a d o ( I D E – 
IntegratedDevelopmentEnviroment) que fornecem 
muitas ferramentas de suporte ao processo de 
desenvolvimento de software em Java e outras 
linguagens.
- NetBeans
- Eclipse
- JCreator
- BlueJ
COMPILADOR
O compilador Java converte o código-fonte Java em 
bytecodes, que representam as tarefas a serem 
realizadas durante a fase de execução. Os 
bytecodes são executados pela Java Virtual 
Machine (JVM) – uma parte do JDK e a base da 
plataforma Java. A maquina virtual Java (VM – 
virtual machine) é um aplicativo de software que 
simula um computador, mas oculta o sistema 
operacional e o hardware subjacentes dos 
programa que interagem com a VM.
CARREGADOR
Todo programa deve ser colocado na memória 
antes de poder executar. O carregador de classe 
transfere os arquivos .class contendo os bytecodes 
do programa para a memória principal. O 
carregador de classe também carrega qualquer 
arquivo .class fornecido pelo Java que seu 
programa utiliza. Os arquivos .class podem ser 
carregados a partir de um disco em seu sistema ou 
em uma rede.
VERIFICADOR
Enquanto as classes são carregadas, o verificador 
de bytecode examina os códigos para assegurar 
que eles são válidos e não violam restrições de 
segurança do Java. O Java impõe uma forte 
segurança para certificar-se de que os programas 
Java que chegam pela rede não danifiquem os 
arquivos de sistema.
INTERPRETADOR
Execução
A JVM executa o programa interpretando o 
bytecodes gerado na fase de compilação. Com isso, 
sequênc ias de ações espec i f i cadas pe lo 
programado são, enfim, executadas.
Atualmente, as JVM utilizam uma combinação de 
interpretação e de compilação just-in-time (JIT). 
Nesse processo, a JVM analisa os bytecodes à 
medida que eles são interpretados. Procurando hot 
spots (pontos ativos) – parte dos bytecodes, que 
são executadas com frequência. Para essas partes, 
um compilador JIT, conhecido como compilador 
Java HotSpot, traduz os bytecodes para a 
linguagem de máquina do computador subjacente.
Ambiente De Programação Em Java
O ambiente de desenvolvimento de software Java, 
Java SDK (antigamente, JDK), é formado, 
essencialmente, por um conjunto de aplicativos 
que permite, entre outras tarefas, realizar a 
compilação e a execução de programas escritos na 
linguagem Java. Este ambiente pode ser baixado 
gratuitamente a partir do site da Sun Microsystems 
http://java.sun.com. 
As ferramentas básicas do kit de desenvolvimento 
Java são:
• O compilador JAVA. javac
• O interpretador de aplicações Java (máquina 
virtual),java.
• O interpretador de applet Java, appletviewer.
ENTENDENDO AS SIGLAS DO AMBIENTE 
JAVA:
J2SE
Java2 Standard Edition – Fornece as 
principais APIs e enfoca o desenvolvimento 
de aplicações na arquitetura Cliente – 
Servidor. Não permite distribuição de 
objetos nem oferece suporte a tecnologias 
para Internet.
J2EE
Java2 Enterprise Edition – Fornece um 
conjunto de APIs para o desenvolvimento 
corporativo e enfoca na integração entre 
sistemas. Disponibiliza alta distribuição de 
objetos e o ferece tota l suporte a 
tecnologias para Internet.
J2ME
Java2 Micro Edition – Fornece as APIs 
para o desenvolvimento de aplicações para 
compu tação móve l , em pequenos 
dispositivos ou tecnologias embarcadas.
Tipos De Programas Java
Stand - alone – Aplicações baseadas na J2SE que 
tem total acesso aos recursos do sistema, 
memória, disco, rede, dispositivos, etc.
Java applets - Pequenas aplicações que não têm 
acesso aos recursos de hardware, necessitando de 
um navegador com suporte a J2SE para serem 
executados.
Java servlets - Programas desenvolvidos para 
serem executados em servidores Web, baseados na 
J2EE, comumente usados para gerar conteúdos 
dinâmicos para websites.
J a v a m i d l e t s - P e q u e n a s a p l i c a ç õ e s , 
extremamente seguras e construídas para serem 
executadas dentro do J2ME.
JavaBeans - São componentes de software 
escritos em Java que podem ser manipulados 
visualmente com a ajuda de uma ferramenta de 
desenvolvimento.
Construindo Um Ambiente Para Programação 
Em Java
Para desenvolver programas em Java, precisamos 
obter o Kit de Desenvolvimento Java, que é 
gratuito e disponível para download no seguinte 
endereço:
http://java.sun.com/javase/downloads/index.jsp
Neste link, a Sun disponibiliza uma série de kit’s 
para cada perfil. Sugerimos o JDK – JRE.
É necessário, ainda, que o usuário escolha a 
plataforma (o computador e sistema operacional) 
onde o kit será instalado.
Para instalar, clique no arquivo baixado e siga as 
instruções do site para efetuar a correta instalação.
Escrevendo E Executando O Primeiro 
Programa
1 . Abra o bloco de notas e digite o código
public class PrimeiroPrograma{
 public static void main(String args[]){
 System.out.println(“Bem vindo ao Mundo Java”);
 }
}
2 . Em Java, uma classe pública deve ser salva em 
um arquivo com o mesmo nome, com a 
extensão .java. Como nossa classe se chama 
PrimeiroPrograma, devemos salvar este arquivo 
como PrimeiroPrograma.java. Muita atenção com a 
caixada letra, pois o Java faz diferença entre letras 
maiúsculas e minúsculas.
3. Abra o prompt do DOS. Para compilar o código, 
iremos usar uma ferramenta SDK, o compilador 
javac. Isso faz com que o bytecode seja gerado. 
E s t e p r o c e s s o f a z c o m q u e o a r q u i v o 
PrimeiroPrograma.class seja gerado.
4. Observe na figura abaixo que estamos na pasta 
o n d e s a l v a m o s o n o s s o a r q u i v o 
PrimeiroPrograma.java. O comando javac foi 
executado, nenhum erro foi encontrado e foi 
gerado o arquivo PrimeiroPrograma.class.
5 . Para executar este código, temos que chamar a 
máquina virtual. Para isso, basta:
java PrimeiroPrograma
6 . Observe que não há necessidade de colocar a 
extensão neste passo.
Parabéns, você conseguiu executar seu primeiro 
programa!
SÍNTESE DA AULA
Nesta aula, você: 
• Compreendeu a importância das linguagens de 
programação;
• Conheceu o ambiente de programa java;
• Se familiarizou com os diversos tipos de 
plataformas java;
• Entendeu o funcionamento de um ambiente 
java;
• Aprendeu a montar um ambiente de 
programação e testes para a linguagem de 
programação java
REGISTRO DE PARTICIPAÇÃO
1. Não é um ambiente de desenvolvimento de 
software Java.
 1) JVM 
 2) J2SE 
 3) J2EE 
 4) J2ME 
2. Escolha a opção que não é uma característica do 
Java.
 1) Linguagem de programação estruturada 
 2) Portabilidade 
 3) Reutilização de código 
 4) Facilidade de entendimento por derivar de 
outras liguagens 
AULA 2
TIPOS DE DADOS E ESTRUTURAS BÁSICAS DE 
PROGRAMAÇÃO
Nesta aula, você irá: 
1.Identificar os tipos de dados primários;
2.Utilizar tipos de dados primitivos, variáveis 
simples;
3.Aplicar as estruturas de decisão em java;
4.Aplicar as estruturas de repetição em java; 
5.Desenvolver, ler e interpretar pequenos 
programas java, com estruturas básicas e seus 
tipos de dados;
AS CONVENÇÕES DO JAVA
A linguagem de programação Java é “Case 
Sensitive”. Existem várias convenções utilizadas. 
São elas:
• Nomes de variáveis e métodos começam com 
letras maiúsculas
• Nomes de c lasses in ic iam com letras 
maiúsculas
• Nomes compostos: utilizar letras maiúsculas 
para iniciais das palavras
• Letras maiúsculas para constantes
Comentários em Java
Existem três formas de se inserir comentários:
1.// comentário em uma linha
2./* comentário em uma ou mais linhas */
3./** Documento Comentário*/
Quando este tipo de comentário é colocado 
imediatamente acima da declaração (de uma 
função ou variável), indica que o comentário 
poderá ser incluído automaticamente em 
uma página HTML (gerado pelo comando 
javadoc - gerador de documentação do java)
TIPOS DE DADOS EM JAVA
O Java é uma linguagem de programação 
fortemente tipada, ou melhor, necessita que todas 
as variáveis tenham um tipo declarado. Existem 8 
tipos primitivos. Seis deles são numéricos, um é o 
caractere e o último é o booleano.
DECLARANDO E ATRIBUINDO VALORES A 
VARIÁVEIS
A declaração de variáveis em Java exige que o tipo 
da variável seja declarado. Você inicia a 
declaração, indicando o tipo da variável e o nome 
desejado, como nos exemplos a seguir:
int x, y; //declarando duas variáveis inteiras
x = 6; //atribuindo valores a 
variáveis
y = 1000;
 
float f = 3,141516f; //ponto 
flutuante
double w = 3,2310834; //ponto 
flutuante de dupla precisão
char ch = ‘a’; //Caractere
 
f inal int MAX = 9; Define a 
constante MAX com o valor de 9
OPERADORES ARITMÉTICOS E RELACIONAIS
OPERADOR ARITMÉTICOS
OPERADORES RELACIONAIS
O operador ! é chamado de not ou negado.
ESTRUTURAS BÁSICAS DE PROGRAMAÇÃO
Os comandos da linguagem permitem controlar o 
fluxo do programa e expressões condicionais.
BLOCOS
Conjunto de linhas de códigos situadas entre um 
abre e um fecha chaves( {} ). É permitido criar 
blocos dentro de blocos. 
 
{ //início de bloco
...
 /*bloco de comandos*/
...
} //fim de bloco
ESCOPO DAS VARIÁVEIS
Escopo de uma variável indica em que parte do 
código ou bloco de comandos do programa que 
podemos utilizar ou enxergar a variável. Existem 
variáveis locais e variáveis globais. O escopo define 
também quando a variável será criada e destruída 
da memória. As locais estão visíveis apenas dentro 
do bloco enquanto as globais estão disponíveis em 
qualquer bloco do programa.
Observação: escopo é diferente de visibilidade, o 
qual se aplica as variáveis de classe e tem a ver 
com a utilização destas fora da classe.
COMANDO CONDICIONAL
Desvia o fluxo natural do programa de acordo com 
um teste lógico.
if (expressão booleana)
 comando1 ou {bloco de comandos1}
 else
 comando2 ou {bloco de comandos2}
Quando o programa encontra um comando if, a 
expressão booleana é avaliada. Caso a expressão 
seja verdadeira o comando 1 é executado e o 
comando 2 não. Caso a expressão seja falsa o 
comando 2 é executado e o comando 1 não. Vale 
lembrar que o else é opcional.
Quando existe um conjunto de opções, podemos 
utilizar a estrutura switch-case
switch(variável)
{
 case(valor1):comando1;break;
 case(valor1):comando1;break;
 case(valor1):comando1;break;
 …
 default:comando_genérico; break;
}
Nesta estrutura, o programa avalia a variável. Caso 
o valor seja o valor1, o comando 1 é executado; 
caso seja o valor 2, o comando 2 é executado; e 
assim sucessivamente… Caso não seja encontrado 
o valor, o comando genérico é executado.
DESVIO DE FLUXO
Existem dois comandos de desvios de fluxo
break
continue;
break; O comando termina a execução de um loop 
sem executar o resto dos comandos e força a saída 
do laço.
continue; O comando termina a execução de um 
laço sem executar o resto dos comandos, voltando 
ao início do laço para uma nova iteração.
ESTRUTURAS DE REPETIÇÃO OU LAÇO
1. while(expressão)
 comando ou {bloco de comandos}
Enquanto a expressão for verdadeira, o comando 
será executado. Quando a expressão for falsa o 
programa segue para o seu caminho normal.
2. do
 comando ou {bloco de comandos}
 while(expressão);
Faz o comando,, enquanto a expressão for 
verdadeira. Quando a expressão for falsa o 
programa segue para o seu caminho normal. A 
grande diferença entre o do-while e o while é que 
no laço do-while o programa executa pelo menos 
uma vez o comando do laço.
3. for(inicialização; expressão; incremento)
 comando ou {bloco de comandos}
O comando for executa o laço enquanto a 
expressão for verdadeira, só que pode ser 
controlada por um contador. Esta expressão 
permite que o usuário inicialize e incremente o 
contador no controle do laço
MANIPULANDO COM STRINGS
Java é uma linguagem totalmente orientada a 
objetos. Então, todos os valores utilizados são 
objetos descritos por classes. Os tipos primitivos 
de dados permitem que possamos criar todos os 
tipos de objetos necessários para se implementar 
qualquer sistema. Um dos objetos mais utilizados é 
o String (com S maiúsculo porque, como vimos nas 
convenções, String é uma classe).
String é uma sequência de caracteres.
Ex.:
String um = “Curso”;
String dois = “Java”;
ATENÇÃO
Objetos da classe String não devem 
ser comparados usando os operadores 
relacionais, porque são objetos. 
Existem métodos especiais para 
executar tais funções. O objeto String 
em Java possui mais de 50 métodos 
diferentes.
MANIPULANDO COM VETORES
Vetores são estruturas utilizadas para armazenar 
um conjunto de dados do mesmo tipo. Esses 
podem ser de qualquer tipo, desde variáveis 
primitivas até objetos complexos. A sua alocação 
na memória é sempre contínua.
CONVERSÃO ENTRE TIPOS DE DADOS
Quando trabalhamos com expressões, o resultado 
de uma expressão pode ser de um tipo diferente 
dos seus operandos. Ou ainda, temos dois tipos de 
dados diferentes e queremos efetuar uma 
operação. Não é possível efetuar comparações ou 
operações com tipos diferentes. Para resolver este 
problema, podemos converter os tipos de dados.
Existem, basicamente, dois tipos de conversões de 
dados. A conversão implícita e a explícita de dados.
IMPLÍCITA
O primeiro caso ocorre sem a necessidade do 
programadorinterferir. Os valores são convertidos 
automaticamente. Isso ocorre na conversão de 
inteiro para real, de números para strings ou com o 
uso de operadores unários.
Ex.:
double x;
int i = 20;
 
x = i; // x recebe um valor inteiro
System.out.print(“i= ” + x); /* O valor de x é 
convertido para string e concatenado com a outra 
string para ser apresentada na tela */
EXPLÍCITA
O segundo caso, o programador controla a 
conversão informando qual tipo será utilizado, 
através de um operador unário. 
Ex.:
float eventos = 25.7;
float dias = 7.2;
 
x = (int) (eventos / dias); // O resultado é o inteiro 
3, pois 25/3 é 3.57
Exercícios
1) Com o seu ambiente de programação Java, 
escreva o programa abaixo no bloco de notas, 
salve em uma pasta de trabalho. No prompt de 
comando, vá até a pasta de trabalho e compile 
(utilizando o javac) seu programa.
Execute o programa (utiliza java <nome da 
classe>) e veja o resultado.
Além disso, faça as alterações abaixo e veja o 
resultado:
REGISTRO DE PARTICIPAÇÃO
1. O programa abaixo converte um inteiro em um 
byte. Qual o resultado apresentado como saída? 
Marque a opção correta.
 
public class TesteConvByte{
 public static void main(String args[]){
 int l=300;
 byte b;
 b=(byte) l;
 System.out.println("O valor de b é 
"+b);
 }
}
 1) 300. 
 2) -300. 
 3) 44. 
 4) -44. 
AULA 3
INTRODUÇÃO AS INTERFACES GRÁFICAS
Nesta aula, você irá:
1.Identificar e utilizar ides;
2.Utilizar netbeans;
3.Criar interfaces básicas, realizando operações 
simples;
4.Entender a hierarquia do pacote swing.
Introdução As Ides
IDE, do inglês Integrated Development Enviroment 
ou Ambiente Integrado de Desenvolvimento, é um 
software que engloba características e ferramentas 
para o desenvolvimento de programas. 
As IDEs facilitam a técnica de RAD que tem como 
principal objetivo a maior produtividade de seus 
desenvolvedores.
Existem várias IDEs disponíveis. Abaixo, a lista de 
algumas IDEs 
RAD- Rap id App l i ca t i on Deve lopment – 
Desenvolvimento Rápido de Aplicativos.
CONHECENDO A IDE NETBEANS
O NetBeans é uma IDE gratuita e de código aberto, 
totalmente escrito em Java para desenvolvedores 
de software na linguagem Java, C/C++, PHP, 
Groovy, Ruby e muito mais. Por ser escrito em 
Java, é multi-plataforma, ou melhor, funciona em 
vários ambientes como Windows, Linux, Solaris e 
M a c O S . O N e t B e a n s I D E o f e r e c e a o s 
desenvolvedores ferramentas necessárias para 
criar aplicativos profissionais de desktop, 
empresariais, Web e móveis.
Com projeto iniciado em 1996 por dois estudantes 
tchecos, teve como primeiro nome Xelfi, em alusão 
ao Delphi, porém foi totalmente desenvolvido em 
Java.
Em 1999, o projeto já havia evoluído para uma IDE 
p ropr i e tá r i o , com o nome de NetBeans 
DeveloperX2, nome este que veio da idéia de 
reutilização de componentes, que era a base do 
Java.
Nessa época, a empresa Sun Microsystems havia 
desistido de sua IDE Java Workshop e, procurando 
por novas iniciativas, adquiriu o projeto NetBeans 
DeveloperX2 ,incorporando-o a sua linha de 
softwares.
Por alguns meses, a Sun mudou o nome do projeto 
para Forte for Java e o manteve por um bom 
tempo como software proprietário, porém, em 
junho de 2000, a Sun disponibilizou o código fonte 
do IDE NetBeans tornando-o uma plataforma 
OpenSource. Desde então, a comunidade de 
desenvolvedores que utilizam e contribuem com o 
projeto não parou de crescer, tornando-se uma das 
IDE´s mais populares atualmente.
O NetBeans é considerado a melhor IDE para 
desenvolvedores iniciantes, pois, facilita o processo 
de programação, compilação e execução dos 
programas. Este sistema cria um ambiente 
completo de teste. O único problema é que para 
montar todo este ambiente, esta IDE exige uma 
configuração de hardware um pouco melhor, 
principalmente a quantidade de memória. 
Existem várias opções de download. A partir desta 
aula, iremos utilizar o NetBeans 6.9.1
Para fazer o Download da IDE, basta ir ao 
endereço:
http://netbeans.org/
Utilizando o NetBeans
Para utilizar o NetBeans, é necessário criar um 
projeto, e, para isto, siga os passos a seguir:
1º Passo: No menu Arquivo, clique em Novo 
projeto.
3º Passo: É aberta então a tela do NetBeans onde 
será criado o arquivo.java (arquivos fontes).
4º Passo: Note que, na janela pertencente à aba 
Main.java, está o método:
public static main(String[] args){
 
//TODO code application logic here
 
}
Este é o método inicial, então escrevemos 
alguns comandos de maneira a realizar a 
primeira execução de um programa em Java.
5º Passo: Agora digite o código abaixo no método 
main.
public static main(String[] args){
//TODO code application logic here
 int num1=2;
 int num2=8;
 int soma;
 
soma = num1+num2;
System.out.println(“A soma é %d\n”, 
soma);
}
6º Passo: Com o código fonte digitado, vamos 
executar o projeto principal. Para isso, podemos 
utilizar a tecla de atalho – F6, ou apertar no botão 
executar.
7º Passo: Note na janela saída, na parte inferior da 
tela, a execução do projeto e a apresentação do 
resultado de modo semelhante ao que ocorria 
quando executávamos no terminal da console.
Agora você está apto a executar um programa 
nesta IDE, basta explorar mais a ferramenta para 
tirar o máximo de proveito de seus recursos e 
facilidades.
INTRODUÇÃO A CONCEPÇÃO DE INTERFACES 
GRÁFICAS
Muitos dos programas conhecidos interagem com 
os usuários através da troca de informações. O 
meio pelo qual a parte humana solicita ao 
programa a execução de tarefas, alguma resposta, 
ou qualquer comunicação entre as partes é feito 
pela Interface. Muitas vezes confundida com o 
programa em si. 
A interface gráfica com o usuário (GUI) fornece a 
um programa um conjunto consistente de 
componentes intuitivos, familiarizando o usuário 
com as diversas funções e diminuindo o tempo de 
aprendizado da nova ferramenta. As GUIs são 
construídas a partir de componentes GUI, que são 
objetos com o qual o usuário interage através dos 
dispositivos de entrada, ou seja, o mouse, o 
teclado, a voz, etc. 
Imagine que construir interfaces consiste em colar 
adesivos em uma tela de vidro ou colocar 
componentes em um contêiner de componentes. 
Antes de tudo, é necessário possuir uma tela, que 
será representada pelos contêineres. Também 
dispor de adesivos de diversos tamanhos que 
podem ser distribuídos e anexados livremente pela 
superfície do vidro. Tais adesivos elementares 
serão os painéis. Além disso, dispor de adesivos 
mais elaborados que já estão pré-definidos com 
figuras de botões, rótulos, etc. Estes podem ser 
colados diretamente no vidro, ou sobre os outros 
adesivos rudimentares (painéis), tal qual é a nossa 
vontade, embora se limitando à capacidade do 
espaço físico disponível. Na imagem você pode ver 
alguns dos componentes que estudaremos mais a 
frente.
CRIAÇÃO DE INTERFACES GRÁFICAS
Em Java, as classes necessárias para criação de 
componentes gráficos, bem como para fornecer-
lhes funcionalidade, estão agrupadas em dois 
grandes pacotes: java.awt (pacote do núcleo)e 
javax.swing (pacote de extensão). Os dois pacotes 
definem componentes com peculiaridades distintas 
e que serão discutidas a seguir.
COMPONENTES SWING
O pacote javax.swing foi criado em 1997 e inclui os 
componentes GUI que se tornaram padrão em Java 
a partir da versão 1.2 da plataforma Java 2. A 
maioria dos componentes Swing é escrita, 
manipulada e exibida completamente em Java, 
estes são conhecidos como componentes Java 
puros. Isso oferece a eles um maior nível de 
portabilidade e flexibilidade. Os nomes de tais 
componentes recebem um “J”, como, por exemplo: 
JLabel, JButton, JFrame, JPanel, etc. Tal 
peculiaridade se justifica para diferenciar esses 
componentes dos que serão mencionados logo 
adiante. Os componentes Swing fornecem 
funcionalidade e aparência uniforme em todas as 
plataforma, sendo denominada de aparência de 
metal. 
O Swing também fornece flexibilidade parapersonalizar a aparência e o comportamento dos 
componentes de acordo com o modo particular de 
cada plataforma, ou mesmo alterá-los enquanto o 
programa está sendo executado. As opções são a 
personalização com o estilo do Microsoft Windows, 
do Apple Macintosh ou do Motif (UNIX).
metal look-and-feel
COMPONENTES BÁSICOS
O esquema a seguir mostra a maioria das classes 
que compõem o Java Swing e mostra também a 
relação entre as classes AWT (claro) e as classes 
Swing (escuro):
PAINÉIS
são áreas que comportam outros componentes, 
inclusive outros painéis. Em outras palavras, são 
elementos que fazem a intermediação entre um 
container e os demais GUI anexados. São criados 
com a classe JPanel, que é derivada da classe 
Container. A classe JPanel não tem painel de 
conteúdo como JFrames, assim, os elementos 
devem ser diretamente adicionados ao objeto 
painel. Além de agregar um conjunto de 
componentes GUI para fins de layout, pode-se criar 
áreas dedicadas de desenho e áreas que recebem 
eventos do mouse.
Criando O Primeiro Formulário
Componentes SWING
import javax.swing.*; 
public class Frm01 
{ 
 public void criaTela() 
 { 
 JFrame f= new JFrame(); 
 f.setSize(290,100); 
 f.setTitle("Cadastro"); 
 f.setLocation(10,10); 
 f.setDefaultCloseOperation(JFra
me.EXIT_ON_CLOSE); 
 f.setVisible(true); 
 } 
}
Componentes básicos
public class TestaFrm01 { 
 public static void main(String 
[]args){ 
 Frm01 tela = new Frm01(); 
 tela.criaTela(); 
 } 
}
A saída deste programa é:
O método setDefaultCloseOperation()também pode 
ser executado com outras constantes como 
argumento:
• DISPOSE_ON_CLOSE - Destróia a janela
• HIDE_ON_CLOSE - Apenas fecha a janela
• DO_NOTHING_ON_CLOSE - Desabilita opção
• EXIT_ON_CLOSE - Encerra a aplicação
INSERINDO COMPONENTES NA TELA
import javax.swing.*; 
public class Frm02 
{ 
public void criaTela() 
{ 
//criando o Frame 
JFrame f= new JFrame(); 
f.setSize(300,100); 
f.setTitle("Cadastro de Categorias"); 
f.setLocation(150,200); 
f.setDefaultCloseOperation(JFrame.EXIT_O
N_CLOSE); 
//criando o Painel 
JPanel pl = new JPanel(); 
pl.setLayout(null);// gerenciador de Layout 
//Criando os componentes: 
//Label 
JLabel meuLabel = new JLabel("Código"); 
meuLabel.setBounds(10, 10, 60, 20); 
// Campo de Texto 
JTextF ie ld meuCampoTexto = new 
JTextField(" "); 
meuCampoTexto.setBounds(80, 10, 60, 
20); 
// Botão 
J B u t t o n m e u B o t a o = n e w 
JButton("NomeBotão"); 
meuBotao.setBounds(150, 10, 100, 20); 
//colando os componentes no Painel 
pl.add(meuLabel); 
pl.add(meuCampoTexto); 
pl.add(meuBotao); 
//colando o painel no frame 
f.add(pl); 
f.setVisible(true); 
} 
}
Saída do programa:
Nesta aula, você: 
• Identificou a importância das ides;
• Utilizou uma IDE chamada netbeans;
• Manipulou interfaces gráficas;
• Desenvolveu e executou pequenos programas 
com interfaces gráficas e dentro de uma IDE.
Registro de Participação
1. Contêineres, painéis e botões são componentes:
 1) Interfaces com usuários. 
 2) Páginas HTML. 
 3) Apenas da AWT 
 4) GUI. 
AULA 4
PRINCÍPIOS DA ORIENTAÇÃO A OBJETOS
Nesta aula, você irá:
1.identificar os conceitos básicos da Orientação a 
Objetos;
2.criar e manipular classes e objetos em Java;
3.utilizar interfaces gráficas interagindo com 
objetos e classes previamente definidos;
4.implementar classes e instanciar objetos em 
Java.
INTRODUÇÃO CLASSES E OBJETOS
Todo sistema orientado a objetos pode ser definido 
como um conjunto de objetos que trocam 
mensagens entre si. Então, quando programamos 
em Java, que é uma linguagem de programação 
orientada a objetos, estamos escrevendo ou 
definindo um conjunto de objetos que trocam 
mensagens. 
Bom, mas o que é um Objeto? O que é uma 
classe? O que é mensagens?
As classes definem a estrutura e o comportamento 
de um tipo de objeto. Observe a figura abaixo:
A classe Árvore define um arcabouço de qualquer 
tipo de árvore. Uma árvore real, será um objeto 
com a estrutura definida pela classe, mas os 
valores de cada árvore serão únicas.
CLASSES
Um protótipo que define os atributos e os métodos 
comuns a todos os objetos de um determinado tipo 
e da própria classe, com a finalidade de servir de 
molde para a criação de objetos.
OBJETOS
São a representação de uma entidade do mundo 
real, que tem identificador único, propriedades 
embutidas e a habilidade de interagir com outros 
objetos e consigo mesmo. Um objeto é uma 
instância de uma classe. A classe descreve todas 
as características e funcionalidades de um objeto. 
Modelamos os objetos através das classes.
ABSTRAÇÃO
• Extrair tudo que for essencial e mais nada para 
o escopo do sistema;
• É o processo de filtragem de detalhes sem 
importância do objeto real, para que apenas as 
características apropriadas que o descrevam e 
que tenham relevância para o sistema 
permaneçam;
• Conceito aplicado a criação de software 
baseado em objetos, partindo do princípio que 
devemos considerar a essência de cada objeto 
e não pensar em todos os detalhes de 
implementação;
CLASSES E OBJETOS EM JAVA
• Na caixa de dialogo do novo projeto, 
escolhemos um aplicativo Java
• Um programa Java é uma coleção de objetos 
que são descritos por um conjunto de arquivos 
texto, onde são definidas as classes. Pelo 
menos uma destas classes é “public” e contém 
o método main(), que possui esta forma 
específica:
public	
  sta+c	
  void	
  main(String	
  []	
  args)	
  {
	
   //	
  aqui	
  o	
  programador	
  insere	
  os	
  comandos
}
Como vimos nas aulas anteriores todos os 
programas feitos tinham esta estrutura. E o nome 
da classe era o nome do arquivo. Então, podemos 
concluir que uma classe em Java é construída 
dentro de um arquivo texto com o mesmo nome da 
classe e extensão .java.
 javac Oi.java
 java Oi
Nos comandos acima, o compilador Java compila o 
arquivo texto Oi.java, gerando o bytecode. A 
máquina virtual interpreta a classe Oi, quando o 
comando java Oi é executado. 
Lembro que a classe que contém o método main() 
é chamada de classe principal.
ENCAPSULAMENTO
• Mecanismo utilizado em orientação a objetos 
para obter segurança, modularidade e 
autonomia dos objetos;
• Implementamos através da definição de 
visibilidade privada dos atributos;
• Então, devemos sempre definir os atributos de 
uma classe como privados;
• Este mecanismo protege o acesso direto aos 
dados do objeto;
• Permite acesso através dos métodos públicos;
NÍVEL DE ENCAPSULAMENTO
• É a disponibilização de uma interface pública, 
com granularidade controlada, para manipular 
os estados e executar as operações de um 
objeto ( * acesso permitido ).
Modificadores	
   Mesma	
  classe	
   Mesmo	
  pacote	
   Subclasses	
   Universo	
  
private	
   *	
  
<sem	
  modif>	
   *	
   *	
  
protected	
   *	
   *	
   *	
  
public	
   *	
   *	
   *	
   *	
  
Em outras palavras, os atributos e métodos de um 
objeto podem ser escondidos de outros objetos por 
uma interface pública de métodos, de modo a 
impedir acesso indevidos.
Para definir diferentes níveis de encapsulamento, 
faz-se uso do conjunto de modificadores de acesso 
disponíveis no Java para os membros de classe, 
com mostrado na tabela.
Definindo uma classe em Java
• São definidas através do uso da palavra-chave 
class.
• Construindo uma classe:
•
[modif] class NomeDaClasse { 
 // corpo da classe... 
}
• A primeira linha é um comando que inicia a 
declaração da classe. Após a palavra-chave 
class, segue-se o nome da classe, que deve ser 
um identificador válido para a linguagem. O 
modificador modif é opcional; se presente, 
pode ser uma combinação de public e abstract 
ou final. A definição da classe propriamente 
dita está entre as chaves { e }, que delimitam 
blocos na linguagem Java.
CORPO DA CLASSE
1.As variáveis de classe (definidascomo static), 
ordenadas segundo sua visibilidade: iniciando 
pelas public, seguidos pelas protected, pelas com 
visibilidade padrão (sem modificador) e 
finalmente pelas private. 
2.Os atributos (ou variáveis de instância) dos 
objetos dessa classe, seguindo a mesma 
ordenação segundo a visibilidade definida para as 
variáveis de classe. 
3.Os construtores de objetos dessa classe. 
4.Os métodos da classe, geralmente agrupados por 
funcionalidade.
CRIANDO OBJETOS EM JAVA
• Toda classe possui atributos e métodos. Em 
especial, toda classe tem um construtor, que é 
um método responsável pela instanciação do 
objeto. 
• Este processo faz com que o objeto seja criado 
com as características desejadas. 
• O construtor é o responsável por alocar a 
memória do objeto. 
• A criação de um objeto se dá através da 
aplicação do operador new.
 ClasseNome objeto = new ClasseNome();
O método a direita do operador new é o construtor 
da classe ClasseNome. 
Podemos instanciar quantos objetos forem 
necessários. Contanto que guardemos a referência 
para o objeto em questão. A referência é como 
poderemos acessar aquele objeto. 
Caso um objeto não tenha mais nenhuma 
referência para ele, o coletor de lixo (garbage 
collector - GC) elimina o objeto, liberando a 
memória.
ATRIBUTOS E MÉTODOS
• Atributos
– Eles representam as características de um 
objeto. Devem ser privados, para manter o 
encapsulamento. A definição de atributos de 
uma classe Java reflete de forma quase 
direta a informação que estaria contida na 
representação da classe em um diagrama 
UML. 
• Métodos
– Os métodos representam as funcionalidades 
que os objetos podem desempenhar. São 
essencialmente procedimentos que podem 
manipular atributos de objetos para os 
quais o método foi definido. Além dos 
atributos de objetos, métodos podem definir 
e manipular variáveis locais; também 
podem receber parâmetros por valor 
através da lista de argumentos.
ATRIBUTOS
• A sintaxe utilizada para definir um atributo de 
um objeto é: 
 [modificador] tipo nome [ = default]; 
• Onde: 
– modificador é opcional, especificando a 
visibilidade diferente da padrão (public, 
protected ou private); 
– tipo deve ser um dos tipos primitivos da 
linguagem Java ou o nome de uma classe; 
– nome deve ser um identificador válido da 
linguagem Java; 
– valor default é opcional; se presente, 
especifica um valor inicial para a variável.
Métodos
Os métodos representam as funcionalidades que 
o s o b j e t o s p o d e m d e s e m p e n h a r. S ã o 
essencialmente procedimentos que podem 
manipular atributos de objetos para os quais o 
método foi definido. Além dos atributos de 
objetos, métodos podem definir e manipular 
variáveis locais; também podem receber 
parâmetros por valor através da lista de 
argumentos.
• A forma genérica para a definição de um 
método em uma classe é 
 [modificador] tipo nome(argumentos) { 
 corpo do método 
 } 
• Onde: 
– o modificador (opcional) é uma combinação 
de: public, protected ou private; abstract ou 
final; e static. 
– o tipo é um indicador do valor de retorno, 
sendo void se o método não tiver um valor 
de retorno; 
– o n o m e d o m é t o d o d e v e s e r u m 
identificador válido na linguagem Java; 
– os argumentos são representados por uma 
lista de parâmetros separados por vírgulas, 
onde para cada parâmetro é indicado 
primeiro o tipo e depois (separado por 
espaço) o nome.
Uma boa prática de programação é manter a 
f unc i ona l i dade de um método s imp l e s , 
desempenhando uma única tarefa. O nome do 
método deve refletir de modo adequado a tarefa 
realizada. Se a funcionalidade do método for 
simples, será fácil encontrar um nome adequado 
para o método. 
Como ocorre para a definição de atributos, a 
definição de métodos reflete de forma quase direta 
a informação que estaria presente em um 
diagrama de classes UML, a não ser por uma 
diferença vital: o corpo do método. 
Métodos de mesmo nome podem co-existir em 
uma mesma classe desde que a l ista de 
argumentos seja distinta, usando o mecanismo de 
sobrecarga
Exemplo:
public class Ponto2D { 
 private int x; 
 private int y; 
 public Ponto2D(int a, int b) { 
 x = a; 
 y = b; 
 } 
 public double distancia(Ponto2D p) 
{ 
 double distX = p.x - x; 
 double distY = p.y - y; 
 r e t u r n 
Math.sqrt(distX*distX + distY*distY); 
 } 
}
• Neste exemplo, definimos a classe Ponto2D 
com dois atributos e dois métodos. Os atributos 
são, x e y enquanto os métodos são:
• Ponto2D – Construtor
• distancia – método que calcula a distância 
entre o ponto e um outro dado.
Nesta aula, você: 
• Identificou o que é programação orientada à 
objetos;
• Identificou classes e objetos;
• Aprendeu a manipular classes e objetos em 
java;
• Desenvolveu e executou pequenos programas 
com orientação a objetos.
REGISTRO DE PARTICIPAÇÃO
1. Um atributo encapsulado deve ter o seguinte 
modificador:
 1) Public. 
 2) Private. 
 3) Protected. 
 4) Não definida. 
 
2. Em Orientação a Objetos, um objeto é:
 1) um conjunto de classes do mundo real. 
 2) um conjunto de objetos que trocam mensagens 
entre si. 
 3) uma instância de uma classe. 
 4) um conjunto de atributos armazenados que 
troca mensagens com o mundo externo. 
 
AULA 5
HERANÇA
Nesta aula, você irá:
1.Apresentar os conceitos de herança;
2.Criar e manipular classes e objetos que se 
relacionem através de herança;
3.Sobrecarga de métodos;
4.Utilizar interfaces gráficas, interagindo com 
objetos e classes previamente definidos;
5.Explorar o conceito de herança, sobrecarga de 
métodos, em exemplos e exercícios;
Herança
• Significa a capacidade de incorporar as 
características e as funcionalidades de uma 
classe. Assim como a herança de todas as 
operações e dados, você pode especializar 
métodos da super classe e especificar novas 
operações e dados, para refinar, especializar, 
substituir ou estender a funcionalidade da 
classe progenitora.
• Uma classe define um conjunto de dados – 
Atributos – e um conjunto de métodos 
• Todos os objetos de uma classe mantêm o 
mesmo conjunto de atributos e métodos. 
• Através do mecanismo de herança, tendo 
definido uma classe base é possível criar 
classes derivadas que: 
– herdam os atributos e métodos da classe 
base 
– definem novos atributos e métodos 
– podem redefinir os métodos herdados
TERMINOLOGIAS
• Estender – Criar uma nova classe que herda 
todo o conteúdo da classe existente.
• Superclasse – Uma classe progenitora ou base.
• Subclasse – Uma classe filha que herda ou 
estende uma superclasse
CLASSE ABSTRATA
• Uma classe abstrata em Java define atributos e 
métodos. 
• Numa classe abstrata, um método pode ser 
definido com o modificador “abstract”. Nesse 
caso: 
– A classe abstrata não implementa os 
método abstratos. 
– As classes derivadas devem implementar os 
métodos abstratos. 
• Uma classe abstrata é utilizada quando deseja-
se fornecer uma interface comum a diversos 
membros de uma hierarquia de classes. Os 
métodos declarados na classe abstrata serão 
implementados em suas subclasses, através de 
polimorfismo.
• Imagine uma classe que no seu sistema, a uma 
funcional idade existente em todas as 
subc l a s ses que r se r ap resen tada na 
superclasse. Este método é definido na 
superclasse como Abstract. Nas subclasses, 
estes métodos serão implementados, cada um 
com a sua peculiaridade.
NOTAS IMPORTANTES
• Como visto anteriormente, subclasses podem 
redefinir (sobrepor) um método de sua 
superclasse. 
• Para indicar que um método de uma classe 
deve necessariamente ser redefinido em cada 
uma de suas subclasses devemos usar o 
modificador abstract. 
• Uma classe que contém um ou mais métodos 
abstratos deve ser declarada explicitamente 
como abstrata. Essa classe, no entanto, pode 
ter construtores e métodos concretos (não-
abstratos). 
• Se uma classe é declarada como abstract, não 
podem ser criados objetos desta classe.
• Se uma subclasse é derivada de uma 
superclasse que contém um método abstratoe 
se esse método abstrato não for redefinido na 
subclasse, esse método permanece abstract na 
subclasse. Com isso, a subclasse deverá ser 
declarada explicitamente como abstract. 
• Declarar um método como abstrato é uma 
forma de obrigar o programador a redefinir 
esse método em todas as subclasses para as 
quais se deseja criar objetos. 
• Como um método abstrato deve ser redefinido 
nas subclasses, na superclasse ele não precisa 
ter implementação alguma.
VAMOS IMAGINAR A SEGUINTE HIERARQUIA DE CLASSES:
• onde Chefe, PorComissao, PorItem e PorHora 
são classes finais.
• Todas essas subclasses vão precisar redefinir o 
método ganha(). Como se tratam de tipos 
diferentes de empregado, cada um ganha de 
uma forma: 
– Chefe: salário fixo e predefinido; 
– PorComissao: valor fixo + comissão * 
vendas; 
– PorItem: valor por produção * quantidade 
produzida; 
– PorHora: valor por hora * total de horas 
trabalhadas.
POLIMORFISMO
• É a capacidade que os métodos de mesmo 
nome têm de efetuarem tarefas diferentes.
• O mesmo método com várias formas.
• Acontece de duas maneiras em Java: quando 
os métodos são definidos em função da classe 
que os utiliza (sobreposição) ou dos diferentes 
conjuntos de argumentos definidos para cada 
método (sobrecarga).
• Uso do “this”
– Chamada para outro construtor da mesma 
classe. É um excelente artifício para 
combinar código dos construtores.
EXEMPLO
public class Cliente ()
{
 private String nome; //campo de instância
 private int numConta; //campo de instancia
 public Cliente(String n, int c) //Construtor da 
Classe
 { 
 nome = n;
 numConta = c;
 }
}
EXEMPLO 2
public class Cliente ( ) {
 private String nome; //campo de instância
 private int numConta; //campo de instancia
 public Cliente(String n) //Construtor 1 da 
Classe Cliente { 
 this(n, 0) //Chama o Construtor 2 da 
própria classe
 }
 public Cliente(String n, int c) { 
 nome = n;
 numConta = c;
 }
 public int getNumConta () { 
 return numConta;
 }
 public void setNumConta (int numero) { 
 numConta = numero;
 }
}
EXEMPLO 3
public class ClienteOuro extends Cliente
{
 private double limiteChequeEspecial; //Atributo 
da Classe
 
 public ClienteOuro (String n, int c, double 
limite) 
 { 
 super(n, c ); //precisa ser primeiro 
comando método
 limiteChequeEspecial = limite;
 }
}
Nesta aula, você: 
•Identificou o conceito de herança em orientação a 
objetos;
•Criou e manipulou classes e objetos através da 
herança;
•Utilizou interfaces gráficas, interagindo com 
objetos e classes, previamente definidos;
•Identificou os conceitos de sobrecarga de 
métodos;
•Desenvolveu e executou pequenos programas 
com orientação a objetos.
REGISTRO DE PARTICIPAÇÃO
1. A superclasse pode ser entendida como:
1) Uma nova Classe que herda todo o conteúdo da 
classe existente. 
2) Uma Classe progenitora ou base. 
3) Uma Classe filha que herda. 
4) Uma Classe filha que estende a sua progenitora. 
 
2. Podemos entender como Herança:
1) A utilização do classificador this. 
2) Capacidade de isolar os atributos dos Métodos. 
3) Capacidade de incorporar os dados e métodos 
de uma classe previamente definida. 
4) Capacidade de utilizar as características da 
classe progenitora sem poder alterar suas 
características.

Outros materiais