View
112
Download
0
Category
Preview:
Citation preview
Desenvolvimento de SistemaJAVA
Professora Flabiana Felipe
Apresentação do Curso.
Mercado de Trabalho.
Java no Mercado de Trabalho.
O que é Linguagem de Programação?
Exemplos de Linguagem de Programação.
Java-Uma Linguagem Orientada a Objetos.
E como funciona?
Aula 01
Introdução á Linguagem Java,seus principais conceitos,estruturas,aplicações utilizando o programa NetBeans;
Capacitação para o Mercado;
O Curso
O Mercado de trabalho x Capacitação;
Mercado de trabalho x Postura;
Mercado de Trabalho
Programa de Computador
Um programa de computador ou programa informático é uma coleção de instruções que descrevem uma tarefa a ser realizada por um computador.
Ex:Internet,Word,Windows
Introdução
Windows
O Windows e o um programa operacional ele e quem comanda todos os outros programas e nele que os programas são instalados,como Internet,Word e ect...
O Windows e a primeira tela quando você liga o computador.
Introdução
As pastas são locais no computador aonde colocamos nossos trabalhos,textos,músicas,fotos a serem guardadas no computador.Ex;
Pastas
Na prática é como se você tivesse um arquivo desses de escritório, com algumas gavetas, várias pastas dentro de cada gaveta e assim por diante. No caso do Windows é muito semelhante, como você confere no exemplo abaixo, que mostra as pastas mais utilizadas pelos usuários:
Diretórios
Diretórios-Exemplo
Java no Mercado de Trabalho
Java no Mercado de Trabalho
Java no Mercado de Trabalho
Faixa Salarial:2.000,00 até 6.000,00.
Níveis de Conhecimento e experiências: Junior, Pleno e Sênior.
Java no Mercado de Trabalho
Linguagem de Programação
JAVA
Uma linguagem de programação é um método padronizado para comunicar instruções para um computador.
É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.
O que é Linguagem de Programação?
PROGRAMA FRITAR_OVO
RESERVAR OVO, FRIGIDEIRA, SAL, MANTEIGA ; USAR FOGÃO;
COLOCAR FRIGIDEIRA NO FOGÃO; COLOCAR MANTEIGA NA FRIGIDEIRA; LIGAR FOGÃO; ESPERAR MANTEIGA FICAR QUENTE; QUEBRAR
OVO; DERRAMAR OVO NA FRIGIDEIRA; COLOCAR SAL NO OVO; ESPERAR OVO FICAR FRITO; DESLIGAR FOGÃO; SERVIR OVO; END PROGRAMA
Exemplo:
Exemplo
def somar(num1, num2):return num1 + num2
Somar (5,6):Resultado 11
– Cálculo da média de um aluno:
– Obter as notas da primeira e da segunda prova
– Calcular a média aritmética entre as duas
– Se a média for maior ou igual a 7, o aluno foi aprovado, senão ele foi reprovado
Calculo da Média
– Troca de um pneu furado:
– Afrouxar ligeiramente as porcas
– Suspender o carro
– Retirar as porcas e o pneu
– Colocar o pneu reserva
– Apertar as porcas
– Abaixar o carro
– Dar o aperto final nas porcas
Troca de Pneu
Algoritmo Média Var N1, N2, Média Início Leia N1, N2 Média := (N1+N2)/2 Se Então Média >= 7 Escreva “Aprovado” Senão Escreva “Reprovado” Fim.
Algoritmo Média
Algoritmo soma; Declare X:Inteiro; Y:Inteiro; SOMA:Inteiro; Inicio Leia X; Leia y; Y := X + Y; Escreva Y; Fim
Algoritmo Soma
Algoritmo Exemplo_comando_de_saída_de_dados
Var preço_unitario, preço_total: real
quant : inteiro
Início
preco_unitario:= 5.0
quantidade := 10
preço_total:= preço_unitario* quantidade
Escreva preço_total
Fim.
Algoritmo Preço Total
Algoritmo Ordenacao; Declare A:Inteiro; B:Inteiro; Inicio Leia A; Leia B; SE A > B Então Inicio Escreva B, A; Fim Senão Inicio Escreva A, B; Fim Fim
Algoritmo Ordenação
http://www.youtube.com/watch?v=Ui72gDqUIGo&feature=related
http://www.youtube.com/watch?v=FBrIPhiTmWk
http://www.youtube.com/watch?v=k32yQDLoqSw&feature=relmfu
Vídeo sobre Lógica de Programação
Java e uma linguagem de programação que usa objetos do mundo real e se comunica entre eles.
A origem da Linguagem
Desenvolvida e concebida pela SunSoft, Herança do C++,
O que é Java?
Totalmente orientada a objetos;
Independente da Plataforma;
Quase idêntica ao C++;
Orientada a Web;
Fácil de Programar;
Rápida programação;
Segura e redução de erros.
Características da Linguagem
Jogos para Celulares;
Web;
Cartões;
Smartphones;
Onde o Java pode ser utilizado.
Java
C ++
VB.NET
Cobol
Delphi
Exemplos de Linguagem de Programação
O que são Objetos?
De um modo geral podemos encarar os objetos como sendo os objetos físicos do mundo real, tal como: carro, avião, cachorro, casa, telefone, computador, etc.,
Java-Uma Linguagem Orientada a Objetos
Os objetos conversam uns com os outros através de mensagens.
Vantagens:
Sensível redução no custo de manutenção do software.
Aumento na reutilização de código.
E como funciona?
1-O que é uma Linguagem de Programação?Mencione alguns exemplos.
2-O que são objetos em Java?
3-Quais são as vantagens da Linguagem Java?
4- Onde o Java pode ser utilizado?
5-Faça um algoritmo “Lavar Roupa”.
Questões
6-Quais são as características da Linguagem Java?
7- Site outros tipos de Linguagem parecidas com o Java que são orientadas a objetos.
8- Qual e a origem da Linguagem Java?
9-O que são programas de computador?De exemplos.
Questões
Java Virtual Machine;
Compiladores e Interpretadores;
Vantagens e Desvantagem do Interpretador;
Java e suas Edições.
Aula 2
Máquina virtual Java (do Inglês Java Virtual Machine - JVM) é um programa que carrega e executa os aplicativos Java, convertendo os bytecodes (forma intermediária de código) em código executável de máquina. A JVM é responsável pelo gerenciamento dos aplicativos, à medida que são executados.
Graças à máquina virtual Java, os programas escritos em Java podem funcionar em qualquer plataforma de hardware e software que possua uma versão da JVM, tornando assim essas aplicações independentes da plataforma onde funcionam.
Java Virtual Machine
Java Virtual Machine como ela funciona.
O computador tem sua própria linguagem que e o código binário.
Binário por que ele trabalha com 0 e 1.
Linguagem da Máquina;Código Binário
Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível para um código que o computador (a máquina) interprete. Este tradutor tem a função de traduzir uma linguagem abstrata para uma linguagem binária.
Compiladores e Interpretadores
Um compilador é um programa que traduz o código-fonte de um programa em um (ou mais) executáveis. Por exemplo, se eu quiser fazer um programa que mostre a mensagem: "Hello World!" e quiser usar a linguagem de programação c, eu posso usar o código-fonte:
#include <stdio.h>void main(){printf("Hello World!");}
Depois o compilador transforma o código-fonte em um arquivo executável que você poderá usar para ver esta mensagem.
Compiladores
O nome "compilador" é usado principalmente para os programas que traduzem o código de fonte de uma linguagem de programação de alto nível para uma linguagem de programação de baixo nível (por exemplo, linguagem de montagem assembly ou código de máquina
Compiladores
Compiladores
O código compilado é mais rápido de ser acessado;
Impossibilita ou pelo menos dificulta ser quebrado e visualizado o código-fonte original;
Permite otimização do código por parte do compilador;
Compila o código somente se estiver sem algum erro.
Vantagens do Compilador
Para ser utilizado o código precisa passar por muitos níveis de compilação;
Assim como vantagem a possibilidade de não poder visualizar o código-fonte, pode ser uma desvantagem;
Processo de correção ou alteração do código requer que ele seja novamente recompilado.
Desvantagens do Compilador
O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado.
O interpretador analisa sintaticamente e semanticamente o código, se estas duas etapas forem realizadas e executadas de forma correta o código está pronto para funcionar.
Interpretadores
Correções e alterações são mais rápidas de serem realizadas;
Código não precisa ser compilado para ser executado;
Multiplataforma;
Compatibilidade;
Portabilidade;
Verificação da Segurança do Código;
Toda Máquina pode ser Java Virtual por Software.
Vantagens do Interpretador
Queda de Desempenho;
Duas ferramentas;Compilador e Interpretador;
Código Nativo-Plataforma Específica;
Execução é mais lenta do programa.
Desvantagens do Interpretador
Java 2 Standard Edition; É uma edição de Java feita para rodar em desktops,Dispositivos embarcados(robôs,eletrodomésticos,etc)
Java 2Enterprise Edition;É a edição com todo o suporte para rodar em aplicações em servidores WEB.
Java2 Micro Edition; É a edição para rodar em dispositivos de pequeno porte,tais como celulares,Smartfones,tabletes.
Java e suas Edições
1-O que e a Java Machine e para que ele e utilizada?
2-O que é um Interpretador?
3-Quais são as Desvantagens do Interpretador?
4-Quais são as vantagens do Interpretador?
5-Quais são as edições do Java? Explique suas utilidades.
Questões
6-O que e um Compilador?
7-Quais são as vantagens de um Compilador?
8-Quais são as desvantagens de um Compilador?
7-Qual e a vantagem de se usar um Java Machine?
8-Qual é a Linguagem que o computador “fala”?
Questões
compiladores.avi http://www.youtube.com/watch?v=nj5z32_6SM
k
Como programar em Java para Iniciantes Aula 0001
http://www.youtube.com/watch?v=NGUjvuYFbdE&feature=related
Videos
Prompt do Dos;
Ambiente de Desenvolvimento;
Configurando Variáveis;
Java developement Kit;
Eclipse;
Criando Projetos;
Executando Programa.
Aula 3
A Sun Lançou juntamente com a Linguagem um Kit de desenvolvimento,o Java development kit(JDK).
JDK Kit é a 1ª ferramenta para desenvolvimento Java.Distribuída gratuitamente pela Sun,Dispõe de um conjunto mínimo de recursos suficientes para gerar qualquer aplicação.
Ambiente de Desenvolvimento
Compilador -javac MinhaClasse.java
O que é? Interpretador-java MinhaClasse O que é?
Visualizador-appletviewer meuapplet.html O que é? Debugger-jdb
Java developement Kit
Site para Baixar Gratuitamente o Kit:
http://www.baixaki.com.br/site/dwnld46857.htm
Java developement Kit
Instalação. 1-A seguir você verá os passos
necessários para a instalação do JDK no Windows. O primeiro passo é executar o arquivo jdk-6u17-windows-i586.exe que está na pasta SOFTWARES/JAVA/JDK dentro da pasta SOFTWARES. A instalação é bastante simples, bastando apenas avançar no assistente de instalação. Importante lembrar, nunca mude a pasta padrão de instalação.
Java developement Kit
O que é? É um interpretador de linha de comando
Para que serve?
Era usado quando os windows "personalizados" (windows 95 em diante), não existiam.então, pra mexer pelo prompt, você tinha que digitar alguns comandos para abrir uma programa, por exemplo, fazia tudo que você faz pelo mouse hoje.
O Prompt do Dos esta localizado na Pasta Acessórios.
Prompt do Dos
Prompt do Dos
1. Clique com o botão direito em cima do ícone “Meu Computador”.
2. Vá em “Propriedades”.
3. Selecione a aba “Avançado”.
4. Clique no botão “Variáveis de ambiente”.
5.Clique no botão “Nova” em “Variáveis do sistema”.
Prompt do Dos
6. Nome da variável: JAVA_HOME
7. Valor da variável: Coloque aqui o endereço de instalação neste caso: C:\Arquivos de programas\Java\jdk1.6.0_17
8. Clique em OK.
9. Clique novamente no botão “Nova” em “Variáveis do sistema”.
10. Nome da variável: CLASSPATH
Prompt do Dos
11. Valor da variável: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\
tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\rt.jar 12. Clique em OK.
12. Clique em OK. 13. Selecione a váriavel PATH em “Variáveis do sistema”. 14. Adicione o seguinte endereço ao campo Valor da variável: ;%JAVA_HOME%\bin
Prompt do Dos
15. Clique em OK. 16. Clique em OK.
17. Clique em OK. Agora você vai testar a instalação. Clique no botão Iniciar, vá em Executar e digite cmd ou abra o Prompt de comando normalmente.
Prompt do Dos
No prompt do MS-DOS vamos testar o interpretador, digite java -version, deverá aparecer algo parecido com isto:
Prompt do Dos
Agora você vai testar o compilador, digite javac -version, deverá aparecer algo parecido com isto:
Prompt do Dos
O Eclipse e uma ferramenta de desenvolvimento de aplicações Java que pode ser utilizada livremente, sem pagamento de licenças.
E uma ferramenta para edição,compilação,depuração e execução de programas Java
Site para Download:
www.java.sun.com ou www.eclipse.org
Eclipse
Eclipse
Execução
1-Para rodar o Eclipse basta apenas executar o arquivo C:\pasta\eclipse-SDK-3.1.1-win32\eclipse\eclipse.exe
2-Sempre que o Eclipse for aberto, ele pede que seja indicado uma pasta para colocar os arquivos criados nele.
3-Fazer um PASTA.....
Eclipse
Cada programa Java pode ser composto por várias classes.Essas classes e as suas configurações ficam agrupadas em um PROJETO.
Para criar um PROJETO, clique em MENU FILE,NEW,PROJECT.
Depois selecione JAVA PROJECT,coloque o NOME DO PROJETO que será OI MUNDO.
Selecionar Wizard “Java Project” e completar com o nome do projeto.
Criando Projetos
O que são?
As perspectivas mostram todas funcionalidades associadas a determinadas tarefas, por exemplo, a ‘Perspectiva Java’ esta associada a todas ferramentas necessária para criar aplicações em Java. Cada perspectiva tem uma visual (View) padrão, abas e editores apropriados para cada tarefa. Se uma view ou editor for movida para outro local, o eclipse ira guardar esta nova posição que se manterá da próxima vez que você retornar a ela.
Abrir a Perspectiva Java para o código; Window,Open Perspective,Other,Java (Default)
Perspectivas
São definições genéricas dos Objetos “Moldes”.
Portanto pode se existir vários objetos em uma classe,ex:Bicicletaria,Carrocinha,Escola.
As classes são definidas a fim de que a partir delas possam ser gerados os objetos que assumem aquelas propriedades e executam aquela funcionalidade definida na classe.
O que é uma Classe?
O que é uma Classe?
O que é uma Classe? Exemplos
O que é uma Classe? Exemplos
Criar uma nova classe e adicionar ao projeto
1- Clique no MENU FILE,NEW,CLASS
2-Dar um nome a classe que será PRINCIPAL e marcar para criar o método;
Public.static void main(String[]args)
Que significa: Ele e o chef e quem manda no programa.
EXPLICAR O METODO MAIN
Acrescentando uma Classe
3-Adicionar a seguinte linha de código ao método main.
System.out.println(“Hello World”);
Que significa:
(mostre na tela do computador “Hello World”)
Acrescentando uma Classe
//Meu primeiro programa em Java.public class programa{
//Método principal que inicia a execução do programa.public static void main (String[] args){
System.out.println ("Curso de Java!");
}// fim do método.
}// fim da classe
Outros Exemplos
1-Selecione o arquivo Java e com o botão direito do mouse escolha RUN,AS,JAVA,APPLICATION.
2-O Eclipse pedirá para você salvar o arquivo,selecione-o e salve-o.
3-Depois dispare a execução como Java Application
Executando ou Rodando o Programa
1-O que é o JDK?
2-Para que serve o Programa Eclipse?
3-Qual e a classe principal de um projeto?
4-Quais são os componentes do JDK?
Questões
5-Cite os passos para se executar um programa.
6-Cite os passos para criar uma nova classe e adicionar ao projeto.
7-O que e uma classe?Para que ela serve?
8-Dê 3 exemplos de Classe.
Questões
http://stthiaggo.blogspot.com.br/2011/08/diagrama-de-classes-e-objetos.html
http://pt.wikipedia.org/wiki/Classe_%28programa%C3%A7%C3%A3o%29
http://www.ic.unicamp.br/~cmrubira/aacesta/java/javatut9.html
Sites
Depurando o programa;
Estrutura de Programa em Java;
Tipos e Classes básicos.
Aula 4
Para que serve?Para procurar erros no código digitado.
Como funciona?
Para observar o valor de uma variável:1-Coloque o Ponteiro sobre ela.2-Clique no MENU WINDOW,OPEN
PERSPECTIVE,DEBUG.
Depurando o programa
Um programa em Java é uma coleção de classes(fabrica de Bicicletas,Carrocinha,Escola) que interagem entre si de forma totalmente orientada a objetos(carro,casa,pessoa).
O método main() de partida da execução do programa deve pertencer a classe principal do programa.
O nome do arquivo principal do programa deve ter o mesmo nome que a classe principal(aquela que contém o método main())
Estrutura de Programa em Java- Requisitos Básicos.
Public static void main(String args[]){ }
Public class HelloWorld{ } O nome do arquivo deve ser HelloWord.java
que depois irá gera o arquivo HelloWorld.class
Requisitos Básicos-Exemplos
Public
É um qualificador do método que indica que este é acessível externamente a esta classe (para outras classes que eventualmente seriam criadas), não se preocupe com ele agora, apenas declare todos os métodos como public.
Static
É um outro qualificador, que indica que o método deve ser compartilhado por todos os objetos que são criados a partir desta classe. Os métodos static podem ser invocados, mesmo quando não foi criado nenhum objeto para a classe, para tal deve-se seguir a sintaxe: <NomeClasse>.<NomemetodoStatic>(argumentos).particularmente o método main precisa ter essa qualificação porque ele é chamado sem que se crie nenhum objeto de sua classe (a classe AloMundo).
Entendendo o Método Main
mainTodo programa Java deverá conter métodos. Um programa executável é aquele que contém ométodo principal (main). Este é um nome particular de método que indica para o compilador o início do programa, é dentro deste método principal e, através das iterações entre os atributos, variáveis e argumentos visíveis nele que o programa se desenvolve.
(String args[])É o argumento de main e por consequência do programa todo, ele é um vetor (array) de Stringsque é formado quando são passados ou não argumentos através da invocação do nome do programa na linha de comando do sistema operacional, exemplo: Hello World argumentotexto1 argumentotexto2
Entendendo o Método Main
Void
É o valor de retorno da função, quando a função não retorna nenhum valor ela retorna void, uma espécie de valor vazio que tem que ser especificado.
{ ... }
“Abre chaves” e “fecha chaves” delimitamum bloco de código.
Entendendo o Método Main
System.out.println("Alo Mundo!");println assim como writeln de Pascal, imprime a String e posiciona o cursor na linha abaixo , Por hora você pode guardar esta linha de código como o comando para imprimir mensagens na tela, onde o argumento que vem entre aspas é a String a ser impressa. O ; “ponto e vírgula” separa os comandos.
Finalmente o fecha chaves termina com a declaração da classe AloMundo.
Entendendo o Método Main
Bit (simplificação para dígito binário, "BInary digiT" em inglês) é a menor unidade de informação que pode ser armazenada ou transmitida. Usada na Computação e na Teoria da Informação. Um bit pode assumir somente 2 valores, por exemplo: 0 ou 1, verdadeiro ou falso
Bits
Programa Conta { int numero; char *nome; char *sobrenome;float balanco; };
Tipos de Dados
Inteiro:Apenas números inteiros, positivos ou negativos(O mais comum).
◦ Byte 8 bits◦ Short 16 bits◦ Int 32 bits◦ Long 64 bits
Tipos
Ponto-flutuante; Números inteiros e fracionários, positivos ou negativos.
Float 32 bitsDouble 64 bits
Tipos
Caracter: Representação de caracteres individuais
Char 16 bits.
Boleano:Tipo que só tem 2 estados: verdadeiro ou falso.
Boolean true ou false.
Tipos
Byte -128 a 127 Short -32.768 a 32.767 Int -2.147.483648 a 2.147.483.647 Long -9.223.372.036.854775.808 a
9.223372.036.854.775807 Float -3,4E-38 a 3,4E-38 Double -1.7E-308 a 1.7E+308
Faixa de valores dos tipos primitivos
Classes Especiais
String-São tipos de dados não numéricos.também chamados de string.
System-Realiza parte d....Ex:
Classes Básicas
Exemplos
1-Para que depuramos um programa?
2-Quais são os tipos de dados?De exemplos de cada um deles.
3-O que são BITS?
4-Como e estruturado um programa Java?
5-Qual é a classe principal de um programa Java?Escreva sua estrutura.
6-Porque abrimos e fechas as chaves em um bloco de comando Java?
Questões
Variáveis;
Operadores e expressões;
Comandos Básicos;
Parâmetros de Entrada;
Pacotes.
Aula 5
Descrição técnica de Variáveis:Variáveis e constantes, são espaços reservados na memória ram do computador para guardar informações que serão utilizadas durante o código do programa. Podem ter valores de diversos tamanhos e tipos, tais como números inteiros, números reais, caracteres, frases, enfim, diversas coisas.
Descrição mais simples:Imagine que você tem uma estante para guardar diversos livros, quando você compra os livros, os coloca na estante e quando quer ler um dele, o pega na estante... com o computador é a mesma coisa, a memória RAM é a estante e as variáveis e constantes são os livros, você cria elas (compra) e as joga na memória. Claro que o computador faz isso sozinho, você só precisa dizer o nome da variável e o tipo dela.
Variáveis
Declaradas antes de serem utilizadas,em qualquer parte do programa(declarar e dar o tipo e o nome)
Variáveis são nomes atribuídos a endereçosna memória de um computador onde seguardam dados.
A declaração de uma variável consiste em dar um nome para a variável; especificar qual
tipo de dado será guardado.
Variáveis
Podemos também declarar e ao mesmotempo atribuir um valor a uma variável.
Exemplo:
int Idade=29;
Declarando uma variável
Inteiro: ex: 1, 2, 67, 999).
String: ex: isso é legal, palavra.
Caracter: ex: A, B, 7, J.
Tipos de variáveis Variáveis
Exemplo prático usando 3 variáveis
1 - Declaração de variáveis2 - a: inteiro3 - b: inteiro4 - c: real5 - Início do programa6 - a <- 137 - b <- 28 - c <- a / b9 - mostra ( c )10 - Fim do programa
Variáveis
Explicação do código
linha 1: comando que determina aonde começa a declaração das variáveis
linha 2: a variável 'a' está sendo declarada do tipo INTEIRO
linha 3: a variável 'b' está sendo declarada do tipo INTEIRO
linha 4: a variável 'c' está sendo declarada do tipo REAL
linha 5: comando que determina aonde termina a declaração das variáveis e começa o corpo do programa
linha 6: a variável 'a' recebe o valor 13
linha 7: a variável 'b' recebe o valor 2
linha 8: a variável 'c' recebe o valor da divisão de 'a' por 'b' (13 div 2)
linha 9: comando que coloca na tela o valor da variável 'c' (6.5)
linha 10: comando que determina o fim do programa
Variáveis
- como podemos ver, existe uma área aonde você declara as suas variáveis para serem usadas durante o programa e por serem variáveis, podem ter seu valor modificado.- logo no início do programa atribuímos valores para as variáveis 'a' e 'b' e para a variável 'c' atribuímos o resultado de uma divisão de dois números inteiros mas que resulta em número decimal e por isso a variável 'c' foi declarada do tipo REAL- ao fim do programa é mostrado o resultado ao usuário, no caso 6.5 que é o valor da divisão de 13 por 2
Variáveis
Operadores aritméticos
◦ Básicos +,-,*,/ e %(resto da divisão inteira)
Operadores Conjugados com atribuição de valores
a+=b <=> a=a+ba-b<=> a=a-b
Operadores
public class Aritmetica {static public void main (String args[]) {// Declaracao e inicializacao de duas variaveisint a = 5;int b = 2;// Varios exemplos de operacoes sobre variaveisSystem.out.println("a = " + a);System.out.println("b = " + b);System.out.println("-b = " + (-b));System.out.println("a + b = " + (a + b));System.out.println("a - b = " + (a - b));System.out.println("a * b = " + (a * b));System.out.println("a / b = " + (a / b));System.out.println("(float) a / b = " + ((float)a / b));System.out.println("a % b = " + (a % b));System.out.println("a++ = " + (a++));System.out.println("--b = " + (--b));System.out.println("a = " + a);System.out.println("b = " + b);}}
Operadores Aritméticos Básico Exemplo
== igual != diferente < menor > maior <= menor ou igual >= maior ou igual
Operadores de Comparação
// Operadores relacionais em Java public class Relacional { static public void main (String args[]) { int a = 15; int b = 12; System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("a == b -> " + (a == b)); System.out.println("a != b -> " + (a != b)); System.out.println("a < b -> " + (a < b)); System.out.println("a > b -> " + (a > b)); System.out.println("a <= b -> " + (a <= b)); System.out.println("a >= b -> " + (a >= b)); } }
Operadores de Comparação Exemplo
& ou && <=> and | ou || <=> or ! <=> not
Operadores Lógicos
Comentários:
◦Comentários de uma linha
//linha comentada/* linhas comentadas*/
Comandos Básicos
• O comando while é um desvio de fluxo condicional (como o ‘if’) com a exceção de que o bloco de comandos é executado repetidamente enquanto a condição for verdadeira
• A expressão de comparação é avaliada antes que o laço seja executado enquanto a expressão for verdadeira, o bloco será executado.
Comandos Básicos-While
while (<condição>) { <comandos>}
Comando While-Sintaxe:
class Main{public static void main(String[] args) {
int i = 0;while(i<10) {
System.out.println("Contador é " + i); i = i + 1;
}}
}
Exemplos – While 1
Operadores de Incremento e decremento
x = 10++x => neste exato momento a variável a vale 11
x =10x++ => neste exato momento a variável x vale 10 e em seguida valerá 11
Pré-incremento x = 10; x = x + 1; O valor da variável x é
11 x = 10; ++x; O valor da variável x é
11.
Pós-Incremento x = 10; x = x + 1; O valor da variável x é
11 x = 10; x++ O valor da variável x é
11.
public class incremento { public static void main(String[] args) { int cont = 1; while(cont<=100){ System.out.println(cont); cont++; } }}
Exemplos – While 2
public class Exemplo { public static void main(String[] args) { int cont =15;while (cont>=10){System.out.println(cont);cont--; }
}}
Exemplos – While 3
• A forma mais simples de controle de fluxo é
o comando condicional if-else.
• Ele define um ou outro caminho a ser seguido, de acordo com a avaliação de uma
expressão booleana.
Comandos Básicos- IF-Else
• Sintaxe:
If ( [condição] ) [comando 1] // se trueelse [comando 2] // se false
Comandos Básicos- IF
public class Loop{ public static void main(String[] args) { int i = 0; while(true){ if(i == 6) break;
System.out.println(i); i++; } }}
Comandos Básicos- IF(Exemplo) 2
//Programa para cálcular a média de quatro números.
import java.util.Scanner;//Importação da classe Scanner.
public class media {//Declaração da classe Media.
public static void main (String args[]) {//Método principal para executar o programa.
float nota1,nota2,nota3,nota4,media;/*Variáveis do tipo float que receberão os números.Variável media que mostrará o resultado.*/
Scanner entrada = new Scanner(System.in); //Classe Scanner para obter entrada de dados externo.
System.out.print("Entre com a nota do primeiro bimestre: ");//Entrada da primeira nota.nota1 = entrada.nextFloat();//Faz a leitura da primeira nota.
System.out.print("Entre com a nota do segundo bimestre: ");//Entrada da segunda nota.nota2 = entrada.nextFloat();//Faz a leitura da segunda nota.
System.out.print("Entre com a nota do terceiro bimestre: ");//Entrada da terceira nota.nota3 = entrada.nextFloat();//Faz a leitura da terceira nota.
System.out.print("Entre com a nota do quarto bimestre: ");//Entrada da quarta nota.nota4 = entrada.nextFloat();//Faz a leitura da quarta nota.
media = (nota1 + nota2 + nota3 + nota4)/4;//Faz o cálculo da média.if(media >= 6)
{ System.out.print("Voce foi APROVADO. "); } else { System.out.print("Voce foi REPROVADO. "); }
System.out.println("Média = "+(double)media);//Mostra o resultado do cálculo.
}//fim do método principal.
Comandos Básicos- IF(Exemplo) 3
• Há situações em que se as condições são representadas por valores absolutos
• Nesses casos, a linguagem Java provê um comando de controle de fluxo chamado
swich-case
Comandos Básicos-Swich-case
CondicionaisSwitch(expressão){Case valor:Break;//outros casesDefault:}
O switch equivale logicamente a um conjunto de diretivas if encadeadas, embora seja usualmente mais eficiente durante a execução.
Comandos Básicos
// exemploSwitch.java import java.util.Scanner; public class NewClass { // exemploSwitch.java public static void main (String args[ ]) { Scanner teclado = new Scanner( System.in ); int mes; System.out.print("Informe um numero (1, 2 ou 3)"); mes = teclado.nextInt(); switch(mes) { case 1: System.out.println("Janeiro"); break; case 2: System.out.println("Fevereiro"); break; case 3: System.out.println("Marco"); break; default: System.out.println("Mes invalido."); } } }
Comandos Básicos –Switch Exemplo
O while(enquanto) é o que chamamos de laço condicional, isto é, um conjunto de instruções que é repetido enquanto o resultado de uma expressão lógica (uma condição) é avaliado como verdadeiro. Abaixo segue a sintaxe desta diretiva enquanto seu o comportamento é ilustrado a seguir.
while (expressão_lógica) diretiva;
Comandos Básicos- Laços-While
• O comando do.. while é utilizado quando se quer que o corpo do laço seja executado pelo menos uma vez.
• A expressão de comparação é avaliada depois que o laço foi executado, e enquanto ela for verdadeira os comandos do laço serão executados.
Comandos Básicos - do.. while
• Sintaxe:
do { <comandos>} while (<condição>);
Comandos Básicos - do.. while
• Exemplos:
public static void main(String[] args) { int i=0; do { System.out.println("Contador é " + i); } while(++i<10)}
Comandos Básicos - do.. while
• O comando for cria um laço de repetição no fluxo do programa baseado em três parâmetros:
• expressão inicial: É executado apenas uma vez, na entrada do laço.
• condição: É executado a cada iteração do laço e determina quando o programa deve sair do mesmo.
• incremento: É uma operação normal, executada a cada iteração. Geralmente é usada para incrementar contadores ou configurar variáveis.
Comandos Básicos- For
• Sintaxe:
for (<expr inicial>; <condição>; <incremento>) { <comandos>}
Comandos Básicos- For
• Exemplos:
public static void main(String[] args) { for (int i=0; i<10; i++) { System.out.println("Contador é " + i); }
for (;;) { System.out.println("Laço infinito."); } }
Comandos Básicos- For -Exemplo
Os parâmetros se usam para mandar valores à função, com os quais ela trabalhará para realizar as ações.
São os valores de entrada que recebem uma função. Por exemplo, uma função que realizasse uma soma de dois números teria como parâmetros a esses dois números.
Os dois números são a entrada, assim como a saída seria o resultado, mais isso será visto mais tarde.
Parâmetros
Um programa de linha de comando pode receber parâmetros pela própria linha de comando.
O parâmetro String[]
Parâmetros de entrada
Um pacote (package) em Java nada mais é do que um diretório onde residem uma oumais classes ou seja, é um conjunto de classes. Existem muitos objetos prontos que alinguagem Java nos proporciona. Como todos os objetos, eles podem conter dados e tem vários métodos para que possamos usá-los.
É importante para um programador Javaconhecer o máximo desses objetos que puder; eles facilitam o trabalho na medida queevitam que nos tenhamos o trabalho de inventar algo que já está pronto.
Pacotes
Em Java, quando você quer usar algum de pacotes do Java, você usa a declaração deimportação para contar para o compilador onde achar as classe que você vai usar.
A declaração de importação (import) deve preceder a declaração de todas as classes.
Assim, um import java.util.*; quer dizer: "eu vou utilizar alguns objetos do pacote java.util".Um programa pode ter tantos import quanto necessário.
Pacotes
Em JAVA, concatenação de Strings com outros tipos de dados são interpretados automaticamente como concatenação e, portanto, a conversão de outros tipos para String não é necessária.
Concatenação de Dados
Concatenação de Dados
public class concatenacao {
public static void main(String[] args) {
String nome1 = "André ";
String nome2 = "dos ";
String nome3 = "Santos";
String recebe = nome1.concat(nome2 + nome3);
System.out.println(recebe);
} }
Concatenação
1-O que são variáveis? De exemplos.
2-De exemplos de operadores lógicos.
3-O que são pacotes e para que servem?
4-O que é um parâmetro? Cite um exemplo.
Questões 1
5- D e exemplos de declaração de variáveis.
6-Para que serve a concatenação?
7-Qual o sinal de concatenação em Java?
a) +b) –c) *d) /
Questões 2
8-Em Java qual o sinal utilizado para designar que o trecho digitado é um texto?
a) * *b) ' 'c) “ ”d) - -
9-Circule o erro?public class ExeProva { public static void main(String[] args) { String aluna = “Maria”; int idade = “20”; JOptionPane.showMessageDialog(null, "A
aluna " + aluna + " tem " + idade + “ anos”); }}
Questões 3
10-Em Java qual o comando que exibi uma mensagem na tela?
a) JOptionPane.showMessageDialog();
b) Echo
c) MessageBox.Show()
d) System.out.println("");
Questões 4
Netbeans
Instalação
Ferramentas
Aula 5
Pagina na Web para fazer o Donwload do Netbeans
http://netbeans.org
Instalação
Netbeans
Opções de trabalho
Barra de Menu
Páginade
Entrada
Janela decompilação
1-Arquivo,novo projeto; 2-Na janela que se abre escolha em categorias
clique em JAVA e depois em APLICAÇÃO JAVA em PROJETOS e clique em próximo;
3- Na página Nome e localização do assistente, adote o procedimento a seguir (como mostrado na figura abaixo):no campo Nome do projeto, digite HelloWorldApp.
Deixe desmarcada a caixa de verificação Utilizar pasta dedicada para armazenar bibliotecas.No campo Criar classe principal, digite helloworldapp.HelloWorldApp.Deixe marcada a caixa de verificação Definir como projeto principal.
Criando um projeto
4-Clique em Terminar. O projeto é criado e aberto no IDE. Agora você
deve ver os seguintes componentes: A janela Projetos, que contém uma visualização
em árvore dos componentes do projeto, incluindo arquivos de código-fonte, bibliotecas de que seu código depende, e assim por diante.
A janela Editor de código-fonte com um arquivo chamado HelloWorldApp é aberta.
A janela Navegador, que você pode utilizar para navegar rapidamente entre elementos dentro da classe selecionada.
A janela Tarefas, que lista os erros de compilação bem como outras tarefas marcadas com palavras-chave como XXX e TODO.
Criando um projeto
Como a caixa de verificação Criar classe principal foi marcada no assistente de Novo projeto, o IDE criou uma classe principal de esqueleto. Você pode adicionar a mensagem "Hello World!" ao código de esqueleto substituindo a linha:
// TODO lógica de aplicação do código.
Aqui com a linha: System.out.println("Hello World!"); Salve a alteração escolhendo Arquivo > Salvar.
Adicionando código ao arquivo de origem gerado.
Devido ao recurso Compilar ao salvar do IDE, não é necessário compilar manualmente o projeto para que seja executado no IDE. Quando um arquivo de código-fonte Java é salvo, ele é compilado automaticamente pelo IDE.
O recurso Compilar na gravação pode ser desativado na janela Propriedades do projeto. Clique com o botão direito do mouse no projeto e selecione Propriedades. Na janela Propriedades do projeto, escolha a guia Compilação. A caixa de verificação Compilar ao salvar está bem na parte superior. Note que, na janela Propriedades do projeto, é possível definir várias configurações para o projeto: bibliotecas do projeto, empacotamento, construção, execução, etc.
Compilando e executando o programa
Para executar o programa:
Escolha Executar > Executar projeto principal (F6).A figura abaixo mostra o que você deve ver agora.
Parabéns! Seu programa funciona!
Se houver erros de compilação, eles são marcados com glifos vermelhos nas margens esquerda e direita do Editor de código-fonte. Os glifos da margem esquerda indicam os erros das linhas correspondentes. Os glifos da margem direita mostram todas as áreas do arquivo que apresentam erros, incluindo os erros das linhas que não estão visíveis. É possível passar o mouse sobre a marca do erro para ver a descrição deste erro. É possível clicar em um glifo da margem direita para ir para a linha que apresenta o erro.
Compilando e executando o programa
Depois de escrever e executar o teste do aplicativo, você pode utilizar o comando Limpar e construir para construir o aplicativo para deployment. Quando o comando Limpar e construir é utilizado, o IDE executa um script de construção que realiza as tarefas a seguir:
exclui os arquivos compilados anteriormente e outras saídas de construção.
Recompila o aplicativo e constrói um arquivo JAR que contém arquivos compilados.
Construindo e implantando o aplicativo
Para construir seu aplicativo:
Escolha Executar > Limpar e construir projeto principal (Shift-F11)
É possível ver as saídas de construção abrindo a janela Arquivos e expandindo o nó HelloWorldApp.
O arquivo bytecode compilado HelloWorldApp.class está no subnó build/classes/helloworldapp. O arquivo JAR implantável que contém o HelloWorldApp.class está no nó dist.
Construindo e implantando o aplicativo
Java Básico - 2 - Projetos NetBeans e Classes
Projeto em java
Configuração do projeto
Classes;
Objetos;
Atributos,Métodos e Interfaces;
Parâmetros de Entrada;
Metodos e Atributos;
Array-Vetor.
Aula 6
Classes são Definições genéricas de objetos (moldes de objetos).
Podem existir portanto vários objetos de uma única classe.
Classes
Objetos são modelados como os objetos do mundo real, ou seja possuem existência “física” dentro de um programa,ocupando espaço de memória e armazenando as informações pertinentes.
Objetos são instâncias das classes.
Objetos
O conjunto de propriedades da classe!!!
Atributos
Métodos são os comportamentos do objeto;
Deve abranger, por definição,”todo” o comportamento desejado da classe,inclusive aqueles ainda não implementados,ou que devem ser implementados por subclasses.
Métodos
São métodos ou variáveis visíveis ao mundo exterior ao objeto.
É a parte do objeto que interage com os outros objetos de um programa.
Parâmetros de entrada
Saída de Dados pelo Console
• Para mostrar uma informação no console, devemos utilizar o objeto System.out• A função print(String mensagem) mostra o
texto recebido entre os parênteses no console
• A função println(String mensagem) mostra o texto recebido entre os parênteses no console, quebrando linha ao final
Saída de Dados pelo Console
Entrada e Saída de Dados utilizando swing
• A biblioteca swing oferece algumas funções muito práticas para ler e mostrar dados para o usuário• O JOptionPane é uma classe que oferece funções prontas
que não precisam de tratamento de I/O• showMessageDialog• showInputDialog
Saída de Dados utilizando swing
• A função showMessageDialog possui três variações, com diferentes configurações de parâmetros:
Saída de Dados utilizando swing
• A primeira variação recebe entre parênteses o componente pai (não nos preocuparemos com isso por enquanto e enviaremos sempre null) e a mensagem que deverá ser mostrada
Saída de Dados utilizando swing• Se quisermos incrementar a mensagem, podemos
usar a variação que envia entre os parênteses também o título da janela e o tipo de mensagem
Saída de Dados utilizando swing• Outros tipos de mensagem são Informação
(padrão), Questão, Aviso, Erro e Vazio
Entrada de Dados utilizando swing• A entrada de dados pode ser feita utilizando a
função showInputDialog
Entrada de Dados utilizando swing• Você pode utilizar uma variação do sowInputDialog()
para definir um valor padrão de entrada
Exercícios
• 1) Faça um programa que solicite ao usuário o nome e o sobrenome (em janelas distintas) e mostre em uma única janela o seu nome completo
• 2) Faça um programa que solicite ao usuário cinco palavras (em janelas distintas) e mostre em uma única janela todas as palavras
Conversão de tipos inteiros• Utilizamos o comando “Integer.parseInt(String)”
para converter um texto em um número inteiro
Conversão de tipos reais• Utilizamos os comandos “Float.parseFloat(String)” ou
“Double.parseDouble(String)” para converter um texto em um número real
Formatando textos com números decimais• Utilizando a classe “java.util.Formatter” e suas classes derivadas para formatar textos com
quaisquer tipos de dados:• http://download.oracle.com/javase/1,5.0/docs/api/java/util/Formatter.html#syntax
• O uso mais comum é para números decimais:
Vetores e Matrizes
ARRAY
Dentro de um bloco, podemos declarar variáveis e usá-las.
int idade1;int idade2;int idade3;...int idade9;int idade10; Quando são criadas mais de uma variável, para
armazenar um mesmo tipo de informaçãocom um mesmo tipo de dados, poderia ser
substituído por um array. O Exemplo acimapoderia ser substituído por:
int [ ] idades;
Definição
O int [ ] é um tipo. Um array é sempre um objeto, portanto, a variável idades é umareferência. Vamos precisar criar um objeto para poder usar o array. Como criamos oobjeto-array?
idades = new int[10];
Definição
Aqui o que fizemos foi criar uma array de int de 10 posições, e atribuir o endereço o qualela foi criada. Agora podemos acessar e atribuir valores dentro de cada posição do array.
idades[5] = 10;O código acima altera a sexta posição do array. No Java, os índices do array vão de 0 an-1, onde n é o tamanho dado no momento que você criou a array. Se você tentaracessar uma posição fora desse alcance, um erro ocorrerá durante a execução.
Definição
Definição
• Objeto que armazena um número fixo de valores de um mesmo tipo
• A quantidade de elementos é definida na criação do array• Os elementos são armazenados em um único bloco
indexado:
Um array é útil quando queremos agrupar objetos do mesmo tipo. Possui as seguintescaracterísticas:
- Todos os elementos devem ser do mesmo tipo- Cada elemento pode armazenar um único item- Os itens podem ser primitivos ou referências a objetos- O tamanho do array é fixado quando de sua criação
Características de um array
Arrays podem conter qualquer tipo de elemento valorado (tipos primitivos ou objetos), mas você não pode armazenar diferentes tipos em um simples array.
Ou seja, você pode ter um array de inteiros, ou um array de Strings, ou um array de array,mas você não pode ter um array que contenha ambos os objetos Strings e inteiros.
Características de um array
Declaração e Inicialização
• Pode ser declarado e inicializado ao mesmo tempo;
• Pode ser inicializado com {};
Exemplo 1
Exemplo 2
• No exemplo ao lado, um array unidimensional de 5 elementos do tipo double está sendo declarado e inicializado.
• No “for”, uma variável de controle (por exemplo, o famoso “i”) acessa os elementos do array, atuando como um índice
Exemplo 3
• Neste exemplo, um array de Strings armazena alguns nomes e um for os mostra na tela
public class Exemplo1 { public static void main(String[] args) { String nomes[] = new String[3]; nomes[0] = "Flabiana"; nomes[1]= "Felipe"; nomes[2] = "Madeira"; for(int i = 0; i<nomes.length;i++){ System.out.println(nomes[i]); } }}
Declarar um vetor com 10 posições já inicializadas com valores de 1 a 10 e apresente em tela este mesmo vetor:
Exemplo 4
public class Array1 {public static void main (String args [ ]) {int[ ] numeros1a10 = {1,2,3,4,5,6,7,8,9,10};for (int i =0; i < numeros1a10.length; i++) {System.out.println( " Conteudo do Array " +
numeros1a10 [i]);}
Um outro exemplo, o que este faz ?public class Array2 {public static void main(String args[]) {int[] idades = new int[10];for (int i = 0; i < 10; i++) {idades[i] = i * 10;}for (int i = 0; i < 10; i++) {System.out.println (idades[i]);
}}
}
Exemplo 5
class AlgumaClasse{public static void main(String args[]) {int[] idades = new int[10]; //for (int i = 0; i < 10; i++) {idades[i] = i * 10;
}// imprimindo toda a arrayfor (int x : idades) {System.out.println(x);
}}
}
Exemplo 7
Array-Matriz;
Referências a objetos;
Declaração de Métodos;
Declaração de Classe;
Notação UML;
Sobrecarga de Métodos;
Aula 7
A partir do momento que uma array foi criada, ela não pode mudar de tamanho. Se você precisar de mais espaço, será necessário criar uma nova array, e antes de se referenciar para ela, copie os elementos da array velha.
Arrays não podem mudar de tamanho
Dimensões
• O par de colchetes de um array[] define a dimensão do mesmo;
• A dimensão representa a indexação do array;• Isso significa que um vetor pode ter mais de uma
dimensão, de forma que sua indexação pode ser composta. Nesse caso, costumamos chamá-lo de “matriz”;
• Um array de uma dimensão é chamado comumente de “vetor”.
A partir do conceito de vetor, fica mais claro entender a matriz. Uma matriz é um conjunto de variáveis, cada uma com um valor associado, como se fossem variáveis simples, porém todas possuem o mesmo nome. A diferença é que a matriz pode ser considerada um vetor bidimensional, ou seja, possui duas dimensões.
Da mesma maneira que em um vetor, os índices são utilizados para referenciar os elementos deste conjunto.
O conceito de matriz na programação é equivalente ao da matemática.
Matriz
Dia int[31]Mês int[12]
Data [31][12]
Data [0,0]= 1,1 (1 de Janeiro);Data [0,1]= 1,2 (1 de Fevereiro);Data [0,2]= 1,3 (1 de Março);Data [1,0]= 2,1 ( 2 de Janeiro);Data [2,1]=
Matriz-Exemplo
Matriz -Exemplo 1
• Repare no exemplo que temos um array com dois pares de colchetes
• A quantidade de elementos do array pode ser definida por D1 x D2 x... Dn
• No exemplo, dois “for” aninhados “varrem” o array através de duas variáveis de controle, atuando com um índice composto de duas dimensões
Preencha uma matriz de 10 linhas por 15 colunas com números aleatórios de 1000 a 2000. Em seguida exiba todo o seu conteúdo.
Matriz -Exemplo 2
package exerMatrizes;
public class Principal { public static void main(String[] args) { // Declaração da matriz. int m [][] = new int [10][15]; // preenchimento da matriz com numeros de 1000 a 2000.(Na verdade só até 1999) for (int l = 0; l < 10; l++){ for (int c = 0; c < 15; c++){
m[l][c] = (int) (Math.random() * 1000) + 1000; } } //Exibição dos numeros contidos na matriz for (int l = 0; l < 10; l++){ for (int c = 0; c < 15; c++){ System.out.print(m[l][c]+" "); } System.out.println(); } }}
Matriz -Exemplo 2- Resolução
A classe Math prove métodos de classe que executam várias funções matemáticas, como funções trigonométricas e logaritmos. Essa biblioteca tem dezenas de operações específicas.Para utilizá-la não é necessário dar a instrução de import, pois ela também faz parte do pacote java.lang, o qual é automaticamente importado em todas as classes java.
Exemplos:Math.sqrt(); // retorna a raiz quadrada do numero passado.Math.pow (x, b); // retorna a potência de XbMath.PI (); // retorna o valor constante do número Pi.Math.max(a,b); // retorna o maior valor entre a e bMath.random(); // retorna um numero aleatório que vai de 0 até 1 (0 incluído, 1 nunca será gerado)
Class Math
1-Crie um vetor capaz de armazenar 50 números inteiros. Em seguida faça o seu preenchimento automático com os números de 101 a 150, ou seja, na posição número 0 ponha 101, na posição 1 ponha o número 102, e assim sucessivamente.Em seguida exiba os valores deste vetor.
Exercícios
Resolução-aqui parei
O Java contém 8 tipos de dados primitivos e um tipo referência. No entanto, poucos livros dedicam exemplos a este último tipo. Vamos começar analisando o trecho de código abaixo:public class Estudos{
public static void main(String args[]){
String nome = "Osmar J. Silva";
System.out.println(nome); System.exit(0); } }
Referências a objetos
Se observarmos este código, veremos que a variável nome não é um tipo primitivo e sim uma referência.
Desta forma, qualquer variável ou constante que não seja do tipo primitivo é uma referência a um objeto de uma classe, interface, etc. Arrays não são tipos primitivos também. Assim, variáveis ou constantes que apontam para arrays também são referências.
É importante entender bem a noção de referências, visto que é por meio delas que acessamos um determinado objeto na memória.
Referências a objetos
Uma lista pode ser passada como argumento a um método.
Deve-se notar que listas são objetos e, na linguagem Java, objetos são sempre passados aos métodos por referência, ao passo que tipos primitivos são sempre passados por valor. Isto quer dizer que uma modificação à lista realizada no método chamado implicará na mesma modificação à lista definida no programa que chamou o método em questão.
Referências a objetos
Em contraste com a estática dos dados, os métodos definem as ações a serem tomadas em diversos momentos da execução de um programa. Como em outras linguagens, como C, C++, Pascal, Fortran, etc, os métodos correspondem aos conceitos comuns de funções, procedimentos ou sub-rotinas.
Estes são apenas conjuntos ordenados de declarações de dados, comandos e expressões. Em termos simples, são os métodos que realizam todas as tarefas para as quais o programa foi escrito, por exemplo, realizar cálculos, resumir informações de um arquivo, produzir um relatório, criar um gráfico, gerar um filme de animação, etc.
Métodos
Métodos
A declaração mais simples que podemos fazer de um método (lembrando que isso deve ser feito dentro de uma classe) é a seguinte:
void [nome do método] () { [corpo do método]} Onde o [nome do método] é um
identificador que define o nome pelo qual o método é conhecido, e [corpo do método] consiste de uma lista ordenada de declaração de variáveis, de expressões e de comandos.
Declaração de Métodos
A primeira palavra-chave, void, define o valor retornado pelo método, neste caso, nenhum. Podemos usar qualquer tipo de dado válido como valor de retorno de um método. Nesse caso, ao terminar, o método seria obrigado a devolver um dado do tipo especificado. Por exemplo,
class Numero { double x = 1; void print() { System.out.println("O valor e " + x);
}
Declaração de Métodos
Define uma classe chamada Numero, a qual contém uma variável x, inicializada com 1, e um método sem valor de retorno, print, que apenas escreve um texto e o valor de x, através da chamada do método System.out.println.
O par de parênteses adiante do nome do método introduz uma lista (vazia, neste caso) de argumentos. A chamada de um método pode ser acrescida de parâmetros, os quais são associados aos seus respectivos argumentos
Declaração de Métodos
A Unified Modeling Language (UML) é uma linguagem de modelagem não proprietária de terceira geração.
A UML não é uma metodologia de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a comunicação entre objetos.
Aonde Baixar: http://jude.change-vision.com/jude-web/index.html
Notação UML
public class Biometrica{public int altura,peso,idade;
public Biometrica(int altura,int peso,int idade){
this.altura=altura;this.peso=peso;this.idade=idade;
}}
Declaração da Classe
Ex: public class media { //Declaração da classe Media.
Declaração da Classe
Declaração do Objeto nada mais e do que declarar as variáveis que apontarão para as instâncias .Na declaração os objetos ainda não estão instanciados,mas apenas nomeados.
Biometrica entrada, saida;
Declaração do objeto
Objetos são estruturas de dados definidas e agrupas dentro de uma classe. Sempre que utilizamos um objeto ou classe devemos reservar espaço em memória para que aquele objeto seja manipulado sem maiores problemas.
Além do mais, também podemos utilizar a mesma classe (com todos os seus métodos e atributos) para manipular outros objetos que serão tratados de forma diferente (mesmo se tiverem as mesmas características do objeto anterior), pois serão dois endereços de memória diferentes.
Instanciação do Objeto
Sem contar que, se um objeto não é mais referenciado dentro do programa, o próprio Java trata de liberar os recursos de memória consumidos pelo objeto usando o Garbage Colletor - Coletor de Lixo.
Quem faz o papel de instanciador em Java é o new. New trata de reservar memória o suficiente para o objeto e criar automaticamente uma referência a ele. Para new conseguir determinar o objeto, precisamos usar o método construtor que será usado como base para instanciar a classe e gerar o objeto.
Instanciação do Objeto
Tecnicamente, declaramos uma variável qualquer como sendo do tipo da classe (ex.: TV minhaTV; ), depois instanciamos o objeto atribuindo a variável o resultado obtido por new mais o método construtor (ex.: minhaTV = new TV(); ).
Apesar de parecer muitos detalhes, isso fica mais facilmente visualizado no código abaixo.
Instanciação do Objeto
public class TV {int tamanho;int canal;boolean ligada;
TV() {tamanho = 21;canal = 0;ligada = false; } public static void main(String[] args) {TV objeto1 = new TV();TV objeto2;objeto2 = new TV(); }}
Exemplo 1No código acima, criamos uma classe chamada TV
Declaramos duas variáveis chamadas objeto1 e objeto2 sendo do tipo TV. Depois, instanciamos o objeto usando new e o método construtor.
Ex: Class Biometrica
Entrada=new Biometrica ();Saida=new Biometrica ();
Exemplo 2
1-O que e um Array? Para que serve?
2-Circule o erro?public class ExeProva { public static void main(String[]
args) { String aluno = João; String caracteristica =
“estuda”;
JOptionPane.showMessageDialog(null, "O aluno " + aluno + " é um aluno que " + caracteristica);
}}
Questões
3-Explique a diferença básica entre um vetor simples e uma matriz.4-O que é uma conotação UML?5-Para que serve a Class Math?
6- Crie um vetor capaz de armazenar 50 números inteiros. Em seguida faça o seu preenchimento automático com os números de 101 a 150, ou seja, na posição número 0 ponha 101, na posição 1 ponha o número 102, e assim sucessivamente.Em seguida exiba os valores deste vetor.
Questões
Classe
Objeto e Instância
Encapsulamento
Tratamento de Exceções
Manipulação de Arquivos
Aula 8
Classe• Abstração: “Uma classe abstrai um
conjunto de objetos com características similares.”
• Objeto: “Uma classe define as características e métodos de um conjunto de objetos.”
• Código-fonte do Objeto: “Uma classe é um arquivo texto que define as características e métodos de um conjunto de objetos.”
Objetos e Instâncias
• Objeto é uma entidade que pode ser física, conceitual ou de software. Ou seja, uma representação genérica.
• Instância é usada com o sentido de exemplo. É a concretização da classe. Ou seja, são os objetos de fato criados e ocupando espaço na memória.
Totó
Rex“Epaminôndas”
Instâncias da classe
Cachorro
1 Objeto Cachorro
3 objetos Cachorro
Classe Cachorro:“Cachorro.txt”
Encapsulamento• É o mecanismo que permite separar detalhes de
funcionamento “Características (variáveis) e funções (métodos)” de sua interface.
• Exemplo: Para utilizarmos um liquidificador, não precisamos saber detalhes de seu funcionamento. A única interface que conhecemos são seus botões.
Classe Liquidicador“Liquidificador.txt”
Instância de um objeto de liquidificador: Muito mais fácil de usar.
Encapsulamento - Atributos
• São características (variáveis) da classe e podem ser divididos em dois tipos básicos:• Atributos de Instância: “determinam o estado de cada objeto.”
• Atributos de Classe: “possue um estado que é compartilhados por todos os objetos de uma classe.”
Encapsulamento - Método
• É uma rotina que é executada por um objeto ao receber uma mensagem: “É a descrição da forma como o objeto realiza uma tarefa.”
• Os métodos determinam o comportamento dos objetos de uma classe e são análogos à funções ou procedimentos da programação estruturada.
Encapsulamento – Construtor e Destrutor
• Métodos especiais que ocorrem automaticamente.
• O construtor pode ser sobrecarregado e é executado sempre que um objeto é instanciado.
• O Destrutor não pode ser sobrecarregado porque não aceita parâmetros e é executado quando o objeto é excluído.
Tratamento de Exceções
Definição
• Evento que ocorre durante a execução de um programa, que interrompe o fluxo normal de instruções
Funcionamento• Quando uma exceção ocorre em um método, o método cria
um objeto que contém informações para manipular a exceção• Tipo de Exceção• Estado do programa• Mensagem• Exceção Ligada
• Ao disparar uma exceção, o sistema procura na pilha de chamada de métodos o primeiro método que previu e capturou essa exceção
Manipulador de Exceções
• Para capturar uma exceção, utilizamos um manipulador de exceção
• Ao encontrar na pilha de chamadas um método com um manipulador de exceção, o sistema passa ao manipulador o objeto criado na exceção
• Se nenhum manipulador de exceção for encontrado na pilha de chamadas de métodos, a aplicação é encerrada
A instrução try-catch• A instrução permite capturar uma exceção e
executar um bloco de instruções caso ela aconteça
Tarefa
• Implemente as alterações abaixo, observando as implicações durante a execução do programa:• 1) Inclua um comando para mostrar o valor de ‘x’ após a
linha 6;• 2) Altere a linha 6 para: int x = 10 / 2;• 3) Altere o programa para que o divisor seja solicitado ao
usuário. Tente entrar com um número inválido.
Sintaxe do try-catch
Try{//instruções que podem disparar uma exceção
}catch(Exception e){//instruções que devem ser executadas//se ocorrer uma exceção
}finally{//instruções que devem ser executadas sempre
}
O bloco catch• Podemos utilizar vários blocos catch para o mesmo
try
O bloco finally• O bloco finally é utilizado para que tenhamos instruções
que sempre devem ser executadas, ocorrendo exceção ou não
Checked e Unchecked
• Checked exceptions são exceções que OBRIGATORIAMENTE precisam ser tratadas
• Uma exceção é CHECKED se o método que a disparou foi declarado com a cláusula throws
• Unchecked exceptions são exceções que não precisam ser tratadas obrigatoriamente• Com isso, o programador pode simplesmente ignorar a manipulação de
uma possível exceção• Obviamente que é desaconselhável
O comando throws• Quando uma exceção checked é necessária,
podemos utilizar o comando throw para “passar a bola”, dando a responsabilidade do tratamento da exceção ao próximo método na pilha
Disparando exceções• Se quisermos “forçar a barra” e disparar uma exceção
propositalmente no software, podemos utilizar o comando throws como uma instrução
Exercício
• Altere o programa a seguir para avisar o usuário que uma das variáveis foi digitada incorretamente, informando qual foi
Threads
O que é uma Thread
• Uma unidade básica de utilização de CPU• Mais “leve” que um processo;
• Procedimento executado dentro de um processo de forma independente
• Encontra-se dentro de um processo, utilizando seus recursos• Um processo pode ter um ou vários threads;
O que é uma Thread
• (a) Três processos, cada um com um thread;• (b) Um processo com três threads;
Estados de umaThread• Executando• Está em execução;
• Pronto• A thread está pronta para ser executada;
• Suspenso• A atividade da thread está parada temporariamente;
• Continue• Permite que a thread suspensa volte a executar;
• Bloqueado• A execução da thread está bloqueada à espera de um recurso;
• Terminado• A execução da thread foi encerrada, não podendo ser retomada;
Processos vs Threads• Os processos estão isolados entre si
• Os threads partilham os recursos entre si
• A criação de threads resulta em menos sobrecarga para o sistema operacional do que a criação de processos
• A gestão de threads necessita de menos recursos que a gestão de processos
Exemplo
Manipulação de Arquivos
I/O
• A API Java oferece uma série de classes para realizar (IN/OUT) Entrada e Saída de arquivos
• Classes para manipular cadeias de dados e caracteres podem ser encontradas no pacote java.io
• Classes para manipulação de arquivos podem ser encontradas no pacote java.nio
I/O Stream
• Um Stream (cadeia ou corrente) representa a origem da entrada ou o destino da saída
• Podem representar vários tipos de entradas e a saídas como:• Arquivos• Dispositivos• Outros programas• Arranjos de memória
• Suporta diferentes tipos de dados• Bytes• Tipos primitivos• Caracteres• Objetos
Input Stream
• Um programa utiliza um InputStream para ler dados de uma fonte de origem, um por vez
Output Stream
• Um programa utiliza um OutputStream para gravar dados em uma fonte de destino, um por vez
ByteFileStreams – Copiando um arquivo
Considerações• Evidente que a pasta e o arquivo original devem existir• A pasta e o arquivo podem ser criados manualmente• Java considera o caracter ‘/’ como sendo o ‘\’ quando utilizados em camihos de
arquivos• Por quê o método read() retorna int e não byte?• Retornando um int ele permite que utilizemos o -1 para sinalizar que não há
mais bytes para serem lidos e finalizar o loop• Sempre fechar o stream• Garantir que será executado o método close() do stream, mesmo se acontecer
uma exceção evita vazamento de recursos• O ByteStream deve ser utilizado para ler e gravar arquivos binários, não arquivos
texto
CharacterStream
• A plataforma JAVA utiliza as convenções Unicode, ASCII
• Todas as classes são descendentes de Reader e Writer
• No slide a seguir, um exemplo utilizando as classes FileReader e FileWriter
FileCharacterStreams
Considerações
• A diferença, além do uso de classes diferentes, fica por conta do método read()
• Num ByteStrem, o read() retorna um byte de 8 bits• Num CharacterStream, o read() retorna um
character de 16 bits
I/O linha-a-linha
• É mais fácil manipular linhas inteiras do que carcateres• Um terminador de linha pode ser:• Carriage-return + Line Feed: “\r\n”• Carriage-return: “\r”• Line Feed: “\n”
• No exemplo à seguir, utilizamos as classes BufferedReader e PrintWriter para copiar um arquivo texto linha-a-linha e não character-a-caracter
BufferedReader & PrintWriter
Criando Diretórios (Pastas)
Listando arquivos de um diretório
Excluindo arquivo ou diretório
JFileChooser
• Classe que permite abrir uma caixa de dialogo onde o usuário pode indicar um diretório ou arquivo
• Faz parte da biblioteca javax.swing, que é utilizada para desenvolvimento de aplicativos desktop
JFileChooser
JFileChooser – Selecionando um Diretório
Exercícios
• 1) Faça um programa que grave no HD um arquivo texto com seu nome completo como conteúdo
• 2) Faça um programa que crie no HD 10 arquivos (01.txt, 02.txt, 03.txt.,.., 10.txt)contendo cada um deles a tabuada correspondente ao seu nome
• 3) Faça um programa que solicite ao usuário um arquivo e uma pasta destino. O programa deve fazer uma cópia do arquivo selecionado pelo usuário na pasta destino
Polimorfismo
Herança
API Java
Construtores
Destrutores
Garbage Colector
Aula 9
Polimorfismo
Ocorre quando uma classe passa a herdar características (atributos e métodos) definidas em outra classe, especificada como ancestral ou superclasse. A classe receptora de recursos é denominada subclasse.
Herança
Animal
Mamífero
Gato
Ave
Pássaro
Herança
Em Java: Class gato extends mamífero
Class mamífero extends animal
class Produto //ancestral ou superclasse { //variáveis de instância int codigo; String nome; int quantidade; double preco; public void mostraPreco () { System.out.println(preco); } public void atualizaPreco(double porc) { preco = preco + preco * porc / 100; } }
Herança
class Usaproduto extends Produto { public static void main (String args[]) { Produto A; //instanciando as variáveis A = new Produto(); A.codigo = 10; A.nome = "Sabonete"; A.quantidade = 5; A.preco = 0.54; System.out.print(A.codigo + " " + A.nome + " "); System.out.println(A.quantidade + " " + A.preco + " "); A.mostraPreco(); A.atualizaPreco(12); A.mostraPreco(); } }
Herança
Polimorfismo, significa 'muitas formas‘
Ex: Seu irmao gêmeo é = a vc? não parece ser = mais tem assinaturas diferentes!! (caracteristicas).
O conceito de Hernaça e Polimorfismo andam juntos. Vou te dar um exemplo, e vai ficar mais fácil sua compreensão:
Polimorfismo
Imagine uma classe que tenha uma Conta Bancária Simples, chamada ContaSimples e que tenha os métodos depositar(), donodaconta(), versaldo(), retirar().
Agora vamos usar uma herança, e uma classe poupança vai herdar todos os métodos da classe Conta Simples acima, e vamos ainda adicionar um método Juros() na classe Poupança.
Acabamos de usar herança. Agora vc pode usar o polifmorfismo, ou seja, vc vai
poder usar o depositar(), tanto para a Classe Simples, quanto a para Poupança, resumindo, vc usou de 2 formas diferentes o mesmo método.
Polimorfismo
Polimorfismo é um recurso usado através da herança, é a capacidade que um método tem de responder de várias formas. Três classes, Animal, Cachorro, Cobra, analisando podemos perceber que Cachorro e Cobra são animais, más com características diferentes ex: locomover O cachorro anda com suas quatro patas e a cobra se rastejando.
Polimorfismo
package Anim;
public abstract class Animal {
public abstract String andar();}
Polimorfismo
package Anim;
public class Cachorro extends Animal {
public String andar(){
return ("Cachorro: se locomove com quatro patas");}
}
Polimorfismo
package Anim;
public class Cobra extends Animal {
public String andar(){
return ("Cobra: se locomove rastejando");
}}
Polimorfismo
Um Outro exemplo:
Um dono de uma fábrica de brinquedos solicitou que seus engenheiros criassem um mesmo controle remoto para todos os brinquedos de sua fábrica. A única restrição era que cada brinquedo atendesse aos comandos específicos definidos pelo controle
Polimorfismo
O controle remoto teria vários botões, sendo que todos eles seriam úteis para todos os brinquedos. Assim, quando o usuário clicasse no botão mover,o controle enviaria o sinal MOVER para todos os brinquedos que estivessem no raio de dois metros.
A Figura 2 ilustra tal situação.
Assim quando o brinquedo recebe o sinal MOVER, ele se move de acordo com a sua função. Para o avião, mover significa VOAR, para o barco significa NAVEGAR, e para o automóvel CORRER. Observe que os brinquedos respondem ao mesmo sinal de formas diferentes. Temos aqui então um caso de polimorfismo.
O Polimorfismo permite que diferentes objetos (avião, barco, automóvel) respondam uma mesma mensagem (mover) de formas diferentes (voar, navegar e correr).
Polimorfismo
São documentações da Linguagem; Site para baixar:
http://docs.oracle.com/javase/6/docs/
API Java
Construtores: Todo objeto tem seu tempo de vida que engloba desde o momento que ele é declarado até a sua "eliminação". No instante que o objeto é declarado, é alocado um espaço na memória pra ele. A partir desse momento, o objeto está pronto pra ser usado. Em Java, é necessário um mecanismo que "construa" objetos a partir de uma classe, o construtor.Os construtores servem pra criar objetos de uma classe. Para usar o construtor deve-se usa a palavra new.
Construtores são métodos que possuem o mesmo nome da classe.
Construtores
A. O construtor inicializa o objeto.
B. Construtores chamados pelo sistema no momento da criação de um objeto.
C. Eles não possuem valor de retorno, porque você não pode chamar um construtor para um objeto, você só usa o construtor no momento da inicialização do objeto.
Construtores
public class Pessoa
{
private String nome;
// Construtor
public Pessoa(String novoNome)
{
this.setNome(novoNome); // Assim é mais correto
}
public void setNome(String nome)
{
this.nome = nome;
}
public String getNome()
{
return nome;
}
}
Construtores Exemplo 1
Class teste{ String nome, telefone; int idade; void aniversario(){ idade = idade+1;
} }
Construtores Exemplo 2
Para criar construtores e criar objetos pertencentes à classe teste, faz o seguinte: Exemplo de construtor sem parâmetros:
teste(){ }
Construtores Exemplo 2
Exemplo de construtor com parâmetros:
teste(String nome1, int idade1, String telefone1){
nome = nome1; idade = idade1; telefone = telefone1; }
Construtores Exemplo 2
Na classe principal para criar objetos da classe teste:
teste amigo1 = new teste(); teste amigo2 = new teste("João"); teste amigo3 = new teste("João",32,"3322-
3311");
Construtores Exemplo 2
class curso{
String nome;
int creditos;
public curso(String nomeCurso,int qntCreditos){
nome = nomeCurso;
creditos = qntCreditos;
}
}
public class principal{
public static void main(String args[]){
curso c1 = new curso("Informática Básica",30);
curso c2 = new curso("Estrutura de Dados",45);
System.out.println(c1.nome);
System.out.println(c2.nome);
System.out.println(c2.creditos);
}
}
Vejamos um exemplo completo:
Destrutores: Algumas Linguagens de programação precisam "eliminar"o objeto criado.
Java usa o Garbage Colector(coletor de lixo), que elimina os objetos não utilizados na memória.Quando o objeto é eliminado, ele automaticamente executa seu destrutor.
Destrutores
Encapsulamento – Construtor e Destrutor
• Métodos especiais que ocorrem automaticamente.
• O construtor pode ser sobrecarregado e é executado sempre que um objeto é instanciado.
• O Destrutor não pode ser sobrecarregado porque não aceita parâmetros e é executado quando o objeto é excluído.
1-Explique encapsulamento e dê um exemplo;
2-O que é polimorfismo?Dê um exemplo.
3-Explique construtores e de um exemplo.
4- Explique destrutor.
5-Explique herança e de exemplos.
Questões
295
Programação Orientada a Objetos
Swing
Formulários, controles e gerenciamento
296
http://docs.oracle.com/javase/tutorial/uiswing/
Java Tutorials - GUI With JFC/Swing
297
São controles gráficos independentes e que podem ser invocados diretamente pelo sistema operacional
O JFrame é um contêiner caracterizado por ser um formulário completo
Contêineres do tipo raiz (top-level containers)
298
Em geral, os formulários possuem um contênier raiz onde são organizados visualmente todos os outros controles visuais
Painel Raiz (RootPane)
299
O programa abaixo declara e instancia um objeto do tipo JFrame, define alguns atributos por meio de seus métodos e invoca o método que o torna visível
Objetos e Instâncias
300
No programa abaixo, estamos criando duas instâncias
Objetos e Instâncias
301
Ao instanciar um objeto, podemos escolher qual construtor queremos utilizar na inicialização
Construtores
302
A herança nos permite criar uma classe estendendo todas as funcionalidades de outra classe já existente
Herança
303
Uma vez que estamos criando uma classe, podemos escrever nosso próprio construtor
Sobrescrevendo o construtor
prof. Ricardo Pupo Larguesa 304
Nossa classe estendida pode também ter atributos específicos, como um rótulo.
Atributos
305
Criando um JFrame no NeBeans
306
Utilizando a área de desenho (projeto)
307
...mas interagindo com a codificação
308
...que pode ser acessada no menu “Janela”/”Paleta”
Utilizando a Paleta de Componentes
309
...que pode ser acessada no menu “Janela”/”Propriedades”
Utilizando a janela de propriedades
310
Arraste dois campos de texto, dois rótulos e um button para o formulário
Altere as propriedades dos controles acionando a janela de propriedades pelo menu “Janela” ou acionando o menu de contexto do próprio controle
Altere o posicionamento dos controles e as propriedades conforme imagem abaixo
Controles
311
Vamos criar um evento para ler os valores dos campos texto e mostrar em um JOptionPane
Eventos
312
Altere o código do formulário anterior para tratar a exceção de número inválido, informando o usuário caso haja algum problema
Tarefa I
313
Crie três formulários semelhantes, um para calcular subtração, outro para divisão e outro para multiplicação
Tarefa II
314
Para garantir que um aplicativo Java rode com o leiaute correto em qualquer plataforma, foram criadas algumas classes para permitir gerenciar posicionamento e dimensões dos controles de forma proporcional e relativa
São os LayoutManagers◦ GroupLayout
Gerencia agrupamentos verticais e horizontais de controles. É o padrão do NetBeans◦ BorderLayout
Gerencia cinco áreas (top, bottom, left, right, and center) com posição pré-definida e ancorada
◦ BoxLayout Organiza os componentes em uma única linha ou coluna
◦ CardLayout Permite sobrepor componentes no container e definir qual irá aparecer para o usuário
em tempo de execução◦ FlowLayout
Organiza os componentes em uma única linha, dividindo-os em colunas diferentes caso exceda o tamanho
◦ GridBagLayout Permite gerenciar os componentes em um grid com muita flexibilidade, permitindo
que os componentes compatilhes mais de uma célula◦ GridLayout
Permite gerenciar os componentes em um grid simples
Gerenciadores
315
Alterando o gerenciador
316
É o gerenciador padrão do NetBeans A IDE nos fornece régua, alinhadores e
ancoradores automáticos o trato visual dos componentes
GroupLayout
prof. Ricardo Pupo Larguesa 317
Nos permite gerenciar os atributos de posicionamento em uma janela no estilo de uma grade
Leiaute de Conjunto de Grades (GridBagLayout)
prof. Ricardo Pupo Larguesa 318
Define cinco áreas para posicionamento de painéis com funções específicas
BorderLeyout
319
Crie um formulário para experimentar cada um dos gerenciadores de leiaute
Faça uma tabela comparativa de cada um dos gerenciadores de leiaute disponíveis no NetBeans IDE
Tarefa
320
Crie um projeto e adicione formulários com o seguinte aparência.◦ Calculadora simples◦ Bloco de Notas◦ Formulário de envio de Email◦ Formulário de Autenticação (Login), com lembrete
de senha◦ Gerenciador de Arquivos (Windows Explorer)◦ Navegador de Internet com Controle de Abas
Exercícios
Neste Link há alguns projetos em Java para treinar e obter mais conhecimento,agradeço a você por escolher o curso,Obrigada.
https://sites.google.com/site/aulasbuzzero/
Projetos Prontos
Recommended