Buscar

5COP088_Aula_1

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

5COP088 – Laboratório de Programação
Aula 1 – Java
5COP088 
Laboratório de ProgramaçãoLaboratório de Programação
Aula 1
Java
Prof. Dr. Sylvio Barbon Junior
1Sylvio Barbon Jr – barbon@uel.br
5COP088 – Laboratório de Programação
Aula 1 – Java
Sobre o Professor – Dr. Sylvio Barbon Junior
Formação: Ciência e Engenharia da Computação (2005 e 2008) – São José do 
Rio Preto, Mestrado em Física Computacional (2007) – São Carlos, Doutorado 
em Física Computacional (2011) – São Carlos.
Experiência Acadêmica: Docente no Senac (2008 -2010), Universidade do 
Estado de Minas Gerais (2008 – 2012), Faculdade de Tecnologia de São José do 
2Sylvio Barbon Jr – barbon@uel.br
Estado de Minas Gerais (2008 – 2012), Faculdade de Tecnologia de São José do 
Rio Preto (2010 – 2012), UEL (2013).
Experiência Não Acadêmica: Analista desenvolvedor Riosoft (2004 – 2006) e 
Gerente de Projetos Net-Fit (2008-2011). Certificado SCJP.
Áreas de Interesse: Processamento de Sinais (Imagem e Áudio) e Mineração 
de Dados. Projetos de Mineração de Texto em Redes Sociais, Reconhecimento 
de Patologias Mentais pela Voz e Reconhecimento de Imagens Médicas.
5COP088 – Laboratório de Programação
Aula 1 – Java
Ementa – Laboratório de Programação
“Estudo e prática de linguagens de programação de alto nível”
Objetivo: Revisar e nivela os conhecimentos em linguagens de programação 
estruturada e prática de programação orientada a objetos.
Conteúdo Programático:
1) Declaração e Controle de Acesso;
3Sylvio Barbon Jr – barbon@uel.br
1) Declaração e Controle de Acesso;
2) Orientação a Objetos;
3) Atribuições;
4) Operadores;
5) Controle de Fluxo, Exceções e Assertivas;
6) Strings, Entrada e Saída, Formatação e Parsing;
7) Genéricos e Conjuntos;
8) Classes Internas;
9) Threads;
10) JSP e Servlets.
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Introdução [Java]
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Introdução [Java]
Motivos para se estudar Java:
- Linguagem Simples;
- Linguagem Orientada a Objetos;
- Multithread;
- Interpretada (vantagem?);- Interpretada (vantagem?);
- Independência de Arquitetura (Hardware e Software);
- Portabilidade (Linux, Mac, Windows etc);
- Alto desempenho (garbage collector);
- Robusta (tipagem rígida, inicialização automática, exceções).
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Identificadores
- Os identificadores podem começar com uma letra, underline 
ou um caractere monetário;
- Depois do primeiro caractere, pode-se incluir dígitos;
- Os identificadores podem ter qualquer comprimento;
- Os métodos deve ser nomeados usando “camelCase”, - Os métodos deve ser nomeados usando “camelCase”, 
dependendo do propósito devem começar com set, get, is, add ou 
remove.
class Aula1 {
public int idade;
public int _idade;
public int iDaDe; // não gera erro, apenas fora do padrão camelCase
}
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Método principal de inicialização
- publico (public);
- estático (static);
- sem retorno (void);
- chamado “main”;
- parâmetro deve ser um vetor de String (String[] args)- parâmetro deve ser um vetor de String (String[] args)
class Aula1_2{
public static void main (String[] args) {
System.out.println("Argumento - " + args[0]);
}
}
Error: Main method not found in class Aula1, please define the main method as:
public static void main(String[] args)
Erro: Ausência do método principal
Classe com método principal
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Comandos java e javac
- javac é o comando de compilação java, deve ser passado 
como parâmetro uma classe java (fonte “.java”)e será gerado uma 
classe compilada (.class) .
Compilando classe Java
- java é o comando para invocar a JVM (Java Virtual Machine)
javac Aula1_2.java
Compilando classe Java
java Aula1_2
Executando classe Java
java Aula1_2 MeuParametro
Executando classe Java com parâmetro
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Identificadores
Classes utilizando a Modelagem UML com o Diagrama de Classes
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Regras de declaração
- Um arquivo de código fonte só pode ter uma classe pública;
- O nome do arquivo deve coincidir com o dessa classe;
- O arquivo só pode ter uma instrução de pacote;
- Um arquivo pode ter várias instruções;- Um arquivo pode ter várias instruções;
- A instrução de pacote deve ficar na primeira linha do código;
- A instrução de importação deve vir depois do pacote;
- O arquivo pode ter mais de uma classe não pública;
- Se os arquivos não tiverem classes públicas, não há restrição 
para o nome;
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Regras de declaração
package uel;
import javax.swing.*;
Classe com método principal
java uel.Aula1_3 5 2
Executando classe
public class Aula1_3{
public static void main(String[] args){
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int soma = a + b;
JOptionPane.showMessageDialog(null, "A soma é \""+soma+"\"", 
"Resultado", JOptionPane.WARNING_MESSAGE); // JOptionPane.ERROR_MESSAGE
}
}
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Identificadores
Classe utilizando a Modelagem UML com o Diagrama de Classes
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Modificadores de acesso a classe
- Três modificadores: public, protected e private;
- Quatro níveis: public, protected, default e private;
- As classes só tem acesso public e default;
Private Protected
Default Public
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Modificadores de classe (não se referem a acesso)
- As classes podem ser: final, abstract ou strictfp;
- Uma classe não pode final e abstract;
- Uma classe final não pode ter subclasse;
- Uma classe abstract não pode ser instanciada;- Uma classe abstract não pode ser instanciada;
- Uma classe somente com um método abstract significa que 
a classe inteira deve ser abstract;
- Uma classe abstract pode ter métodos abstracts ou não;
- A primeira classe concreta a estender uma classe abstract
terá que implementar todos os métodos abstracts.
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Modificadores de classe (não se referem a acesso)
package uel;
public class Aula1_4{
Classe Mãe ou Superclasse
public int totalSuperclasse;
public int totalClasse;
private int totalRestrito;
}
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Modificadores de classe (não se referem a acesso)
package uel;
public class Aula1_5 extends Aula1_4{
Classe Filha ou subclasse
public int totalClasse;
public static void main(String args[]){
new Aula1_5();
}
// continuação no outro slide
}
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Modificadores de classe (não se referem a acesso)
public Aula1_5(){
totalClasse = 1;
super.totalClasse = 2;
totalSuperclasse = 3;
Classe Filha ou subclasse (continuação)
totalSuperclasse = 3;
super.totalSuperclasse = 4;
System.out.println("O total na classe é "+totalClasse);
System.out.println("O total na classe é "+super.totalClasse);
System.out.println("O total na classe é "+totalSuperclasse);
System.out.println("O totalna classe é "+super.totalSuperclasse);
}
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Implementação de Interfaces
- As interfaces são contratos que definem o que a classe 
poderá fazer, mas não dizem nada sobre a maneira pela qual ela 
deverá fazê-lo.
- As interfaces pode ser implementadas por qualquer classe, 
de qualquer árvore de herança;de qualquer árvore de herança;
- A interface é como uma classe 100% abstract;
- Uma interface só pode ter métodos abstracts, nenhum 
método concreto é permitido;
- Os métodos das interfaces são por padrão public e 
abstracts, sendo a declaração explícita um opcional;
- As interfaces podem ter constantes que serão sempre 
implicitamente public, static e final;
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Implementação de Interfaces
- Uma classe de implementação de uma interface que seja 
“não-abstract” válida, deverá:
> Fornecer a implementação concreta dos métodos;
> Deve seguir todas as regras de sobrecarga válida;
> Não deve declarar nenhuma exceção nova;> Não deve declarar nenhuma exceção nova;
> Não deve declarar nenhuma exceção + abrangente.
> Pode declarar exceções de tempo de execução;
> Deve manter a assinatura e retorno dos métodos;
- Uma classe que estiver implementando uma interface pode 
ser abstract;
- Uma classe de implementação abstract não precisa 
implementar todos os métodos da interface;
- A classe pode implementar várias interfaces;
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Implementação de Interfaces
- As interfaces não podem estender uma classe ou 
implementar uma classe ou interface;
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Modificadores de acesso a membros
- Os métodos e variáveis de instância são conhecidos como 
membros;
- Os membros podem usar os quatro níveis de acesso;
- Se uma classe não puder ser acessada, seus métodos
também não serão;também não serão;
- Se um membro da superclasse for public, a subclasse o 
herdará;
- Membros acessados sem o operador “.” pertencem a mesma 
classe;
- A palavra reservada this refere-se ao objeto em execução em 
determinado momento;
- Os membros private só podem ser acessados por membros 
da mesma classe;
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Modificadores de acesso a membros
- Os membros default e protected só diferem quando 
subclasses estão envolvidas;
- Os membros protected só podem ser acessados por outras 
classes de mesmo pacotes;
- As declarações de variáveis locais não podem ter - As declarações de variáveis locais não podem ter 
modificadores de acesso;
- final é o único modificador disponível para variáveis locais;
- As variáveis locais não recebem valores padrão, assim devem 
ser inicializadas antes do uso;
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Outros modificadores
- Os métodos final não podem ser sobrecarregados dentro de 
uma subclasse;
- Os métodos abstract terminam com “;” e não com chaves;
- Um método não é abstrata :
> Quando não é marcado como abstract;> Quando não é marcado como abstract;
> Quando possui chaves;
> Quando possui um código entre as chaves;
- A primeira classe não abstrata a estender uma classe 
abstract deve implementar todos os métodos abstract dessa;
- O modificador synchronized só é aplicado a métodos e 
blocos de códigos
- O método abstract não pode ser final nem private.
5COP088 – Laboratório de Programação
Aula 1 – Java
Aula 1 – Declarações e Controle de Acesso
Declaração de Array
- Os arrays podem armazenar tipos primitivos ou objetos, mas 
o array propriamente dito é sempre um objeto;
- Quando você declara um array, os colchetes podem ficar à 
esquerda ou à direita do nome da variável;
- Nunca é válido incluir o tamanho do array na declaração;- Nunca é válido incluir o tamanho do array na declaração;
Declaração de Array
- Não são associados a nenhuma instância específica da classe;
- Não é necessária a existência da instância de uma classe para 
que os membros static desta sejam usados;
- Só haverá uma cópia da variável ou classe static e todas as 
instâncias a compartilharão;
- Os métodos static não têm acesso direto a não-static;
5COP088 – Laboratório de Programação
Aula 1 – Java
Referências
Deitel,P.; Deitel, H. Java Como Programar.

Continue navegando