Buscar

PC2 Aula01

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 15 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 15 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 15 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

© ELFS 
Universidade Estadual Paulista 
Campus de Guaratinguetá 
 
 
 
PROGRAMAÇÃO DE COMPUTADORES II 
 
Prof. Edson Luiz França Senne 
Departamento de Matemática 
elfsenne@feg.unesp.br 
 
http://www.feg.unesp.br/~elfsenne/cursos/FEG/PC2/ 
login: senne.cursos 
senha: safari76 
 
2015 
© ELFS 2 
•  Existem duas formas importantes de programação de computadores: 
•  A programação estruturada (PE) 
•  A programação orientada a objetos (POO) 
•  Programação estruturada: 
•  Construir programas usando as 3 estruturas de controle 
(sequência, seleção e repetição). 
•  Foi o que se estudou em PC-I, usando a linguagem C. 
•  Programação orientada a objetos: 
•  Preocupa-se com os dados e com as operações que podem ser 
executadas sobre estes dados que o programa irá tratar. 
•  Classe: uma estrutura de dados e suas operações associadas. 
•  Programa: composto de uma ou mais classes. 
•  Em PC-II, vamos construir programas usando a linguagem Java. 
1. Introdução à Programação Java 
© ELFS 3 
•  Exemplo: um programa para tratar com retângulos 
•  Qual é a estrutura de dados necessária para representar 
retângulos? 
•  Quais são as operações que se deseja realizar com retângulos? 
1. Introdução à Programação Java 
public class Retangulo 
{ 
 private int base; 
 private int altura; 
 
 public Retangulo(int b, int a) 
 { 
 base = b; 
 altura = a; 
 } 
 
 public int area() 
 { 
 return base*altura; 
 } 
} 
A classe Retangulo 
define a estrutura de 
dados necessária e as 
operações possíveis de 
serem realizadas. 
Retangulo.java 
© ELFS 4 
•  Continuando... 
•  O programa é composto pelas classes Retangulo e TrataRet. 
•  Vantagem da POO: 
•  Tudo sobre retângulos está confinado na classe Retangulo. 
•  A classe TrataRet é apenas usuária da classe Retangulo. 
1. Introdução à Programação Java 
public class TrataRet 
{ 
 public static void main(String[] args) 
 { 
 Retangulo r = new Retangulo(3,4); 
 Retangulo q = new Retangulo(2,8); 
 int ar = r.area(); 
 int aq = q.area(); 
 System.out.printf("Area de r = %d\n",ar); 
 System.out.printf("Area de q = %d\n",aq); 
 System.out.printf("Soma das areas = %d\n",ar+aq); 
 } 
} 
TrataRet.java 
© ELFS 5 
•  Uma operação importante da classe que define a estrutura de dados 
e suas operações é a criação de objetos desta classe. 
1. Introdução à Programação Java 
public class Retangulo 
{ 
 private int base; 
 private int altura; 
 
 public Retangulo(int b, int a) 
 { 
 base = b; 
 altura = a; 
 } 
 
 public int area() 
 { 
 return base*altura; 
 } 
} 
O procedimento Retangulo() implementa a 
operação de criação de objetos da classe. 
Este procedimento é denominado construtor. 
Em que consiste a criação de um objeto da 
classe Retangulo? 
Armazenar nos campos base e altura, os 
valores recebidos como parâmetros (b e a). Todas as demais operações da classe devem usar os valores 
dos campos. 
© ELFS 6 
•  As classes usuárias criam quantos objetos forem necessários: 
•  A saída deste programa será: 
1. Introdução à Programação Java 
public class TrataRet 
{ 
 public static void main(String[] args) 
 { 
 Retangulo r = new Retangulo(3,4); 
 Retangulo q = new Retangulo(2,8); 
 int ar = r.area(); 
 int aq = q.area(); 
 System.out.printf("Area de r = %d\n",ar); 
 System.out.printf("Area de q = %d\n",aq); 
 System.out.printf("Soma das areas = %d\n",ar+aq); 
 } 
} 
Area de r = 12 
Area de q = 16 
Soma das areas = 28 
© ELFS 7 
•  Programa Java: um conjunto de uma ou mais classes. 
•  Para escrever as classes de um programa utilizamos recursos já 
disponíveis em classes primitivas (Java API). 
 System.out.printf("Area de r = %d\n",ar); 
•  Uma das classes do programa (ou a única) deve conter o 
procedimento public static void main(String[] args) 
Esta é a classe principal. 
•  No exemplo: 
 Programa = {Retangulo, TrataRet} 
 TrataRet é a classe principal. 
•  Cada classe deve ser escrita em um arquivo separado. O nome do 
arquivo deve ser exatamente igual ao nome da classe, acrescentando-
se a extensão .java (Retangulo.java, TrataRet.java) 
•  Os nomes (ou identificadores) podem conter letras, dígitos decimais, 
sublinhados (_) e símbolos de cifrão ($), mas não podem iniciar com 
dígito e não podem conter espaços. Java faz distinção entre letras 
maiúsculas e minúsculas. 
 
1. Introdução à Programação Java 
Quando se executa um programa, 
a execução começa pela classe 
principal. 
© ELFS 8 
•  Cada classe define: 
§  Uma estrutura de dados: constituída por um conjunto de campos 
que caracterizam um particular tipo de dado. 
§  Operações possíveis: um conjunto de procedimentos 
(denominados métodos) que implementam as operações possíveis 
sobre os dados armazenados nos campos. 
•  Notação gráfica para representar uma classe: 
1. Introdução à Programação Java 
Campos que compõem a estrutura de 
dados da classe 
Métodos que estabelecem o 
comportamento computacional da classe 
Nome da classe 
− int base 
− int altura 
+ Retangulo(int, int) 
+ int area() 
Retangulo 
Notar que, em geral, os campos são 
privados (indicado pelo sinal −) e 
os métodos são públicos (indicado 
pelo sinal +). 
Exemplo: 
© ELFS 9 
•  Cada objeto é um exemplar específico de uma classe. 
 Retangulo r = new Retangulo(3,4); 
 Retangulo q = new Retangulo(2,8); 
•  O que os objetos r e q têm em comum? 
•  Ambos contêm os campos base e altura; 
•  Ambos têm o mesmo comportamento computacional, 
estabelecido pelos métodos Retangulo() e area(). 
•  O que diferencia os objetos de uma classe é o seu estado, 
determinado pelos valores dos campos. 
•  O estado de um objeto pode ser alterado somente por métodos da 
própria classe, pois os campos são privados. 
1. Introdução à Programação Java 
Retangulo r: 
base = 3 
altura = 4 
Retangulo q: 
base = 2 
altura = 8 
© ELFS 10 
•  Exemplo: 
•  Qual a vantagem disso? O estado dos objetos é controlado. 
 q.base = -3; 
1. Introdução à Programação Java 
public class TrataRet 
{ 
 public static void main(String[] args) 
 { 
 Retangulo r = new Retangulo(3,4); 
 Retangulo q = new Retangulo(2,8); 
 int ar = r.area(); 
 q.base = 5; 
 q.altura = 6; 
 int aq = q.area(); 
 System.out.printf("Area de r = %d\n",ar); 
 System.out.printf("Area de q = %d\n",aq); 
 System.out.printf("Soma das areas = %d\n",ar+aq); 
 } 
} 
Isso não é permitido, pois os campos base e 
altura são privados (somente os métodos da 
classe Retangulo podem alterar seus valores). 
Se o campo fosse público, isso seria 
possível, pois base armazena um valor do 
tipo int. Mas, isso faria algum sentido? 
© ELFS 11 
Exercício: 
•  O método converter() deve considerar o valor do campo seg e 
mostrar uma mensagem da forma: 
 xxxx segundos = xx horas, xx minutos e xx segundos 
•  Criar a classe executável ExeTempo, usuária da classe Tempo. 
•  A classe ExeTempo deverá criar 2 objetos da classe Tempo, com 
parâmetros: 8500 e 1234. Cada um desses objetos deve chamar o 
método converter(). Qual será a saída esperada deste programa? 
8500 segundos = 2 horas, 21minutos e 40 segundos 
1234 segundos = 0 horas, 20 minutos e 34 segundos 
1. Introdução à Programação Java 
− int seg 
+ Tempo(int) 
+ void converter() 
Tempo Tempo(int) é o método construtor: 
armazena o valor de seu parâmetro no 
campo da classe. 
© ELFS 12 
1. Introdução à Programação Java 
Tempo.java 
ExeTempo.java 
© ELFS 13 
Convenção de nomes em um programa Java 
•  Nome de Classe: Escrito com a primeira letra em maiúscula. Se o 
nome for composto de váriaspalavras, a primeira letra de cada 
palavra deve ser maiúscula (Exemplos: Retangulo, TrataRet, Tempo, 
ExeTempo). 
•  Nome de Campo ou de Método: Deve começar com uma palavra 
escrita em minúsculas. Se contiver outras palavras, a primeira letra de 
cada palavra deve ser maiúscula (Exemplos: base, altura, area, 
converter). 
Java API 
•  Um dos pontos fortes da linguagem Java é seu conjunto de classes 
primitivas: a Java API (Applications Programming Interface). 
•  A Java API está organizada em pastas (denominadas pacotes) e 
precisa ser constantemente consultada para que se conheça os 
campos e os métodos de cada uma destas classes primitivas. 
1. Introdução à Programação Java 
Construtores têm o mesmo nome da classe. 
Nomes de métodos são sempre seguidos por parênteses. 
Por exemplo: area(), converter(), Tempo(). 
© ELFS 14 
1. Introdução à Programação Java 
Uma das classes da Java API: Math 
•  Faz parte do pacote java.lang (incluído em todo programa Java). 
•  Constantes: 
•  Alguns métodos: 
Método Retorna 
Math.abs(x) valor absoluto de x 
Math.cos(x) cosseno trigonométrico de x (x em radianos) 
Math.exp(x) exponencial de x (ou seja, ex) 
Math.log(x) logaritmo natural de x (base e) 
Math.pow(x, y) x elevado à potência y (isto é, xy) 
Math.random() número aleatório maior ou igual a 0 e menor do que 1 
Math.round(x) valor de x arredondado para o inteiro mais próximo 
Math.sqrt(x) raiz quadrada de x 
Constante Retorna 
Math.PI 3.14159265358979323846 
Math.E 2.71828182845904523536 
© ELFS 15 
•  A compilação de um programa Java gera instruções em uma 
linguagem intermediária (conhecida como bytecode), em vez de 
instruções em linguagem de máquina como ocorre para outras 
linguagens (C, por exemplo). 
•  Os programas Java não são executados diretamente pelo hardware 
de um computador (como os programas escritos em C). 
•  Os programas Java são executados pela Máquina Virtual Java 
(JVM - Java Virtual Machine), um programa conhecido como 
interpretador. A JVM é um programa construído especialmente para 
reconhecer as instruções em bytecode. 
•  A JVM dá portabilidade ao código do programa, ou seja, o mesmo 
programa Java pode ser executado em diferentes máquinas sob 
diferentes sistemas operacionais, pois existem implementações da 
JVM para cada plataforma computacional (Linux, Solaris, Windows, 
MacOS, etc). 
1. Introdução à Programação Java

Continue navegando