Professional Documents
Culture Documents
Utilizando
Bibliografia Bsica
DEITEL, H. M.; DEITEL, P. J. Java como
Programar 3a edio. Porto Alegre : Bookman,
2001.
FURGERI, Sergio. Java 2: ensino didtico:
desenvolvendo e implementando aplicaes.
So Paulo: rica, 2002.
Avaliaes
Provas (Peso 6.0)
Trabalhos (Peso 4.0)
Objetivos
Apresentar a teoria envolvida no paradigma da
Orientao a Objetos.
Expor conceitos, metodologias e ferramentas
indispensveis ao sucesso de um projeto
orientado a objetos.
Apresentar como essas tcnicas e conceitos so
implementados na linguagem Java.
Contedo
Histrico e cenrio atual da POO;
Programao estruturada e POO;
Paradigma de programao orientada a
objetos;
Classes, Objetos; Polimorfismo; Sobrecarga
de Mtodos; Herana; Encapsulamento;
Interface grfica; Persisitncia de dados;
Linguagem Java
Programao Orientada a Objetos
Iniciando em JAVA
Introduo
Sun Microsystems
Linguagem Orientada a Objetos
Compilada e Interpretada
tstst
ststs
tsisi
Compilador Java(Pentium)
Compilador Java(PowerPC)
Compilador Java(SPARC)
Cdigo da
Mquina Java
aaaa
Interpretador
Java(Pentium)
bbbb
ByteCode
Interpretador
Java(PowerPC)
cccc
Interpretador
Java(SPARC)
Caractersticas
Simples e familiar
Orientada a Objetos
Compilada e Interpretada
Pronta para Redes
Dinmico
Multi thread
Independente de Plataforma
Coletor de Lixo Garbage Colector
Segura
Linguagem JAVA
Introduo
Applets x Aplicativos
Aplicativos: Necessitam Interpretador na mquina
Applets: Interpretador est no Browser
Linguagem JAVA
Esquema de Utilizao do JDK - Aplicativos
Bytecodes
Teste.class
Compilador javac
Teste.java
Interpretador java
Teste
Linguagem JAVA
Cdigo binrio
AppletTeste.class
Criao da pgina
HTML para o Applet
AppletTeste.html
Compilador javac
AppletTeste.java
Browser com
Interpretador embutido
AppletTeste.html
Linguagem JAVA
Estrutura das Aplicaes Java
}
Programao Orientada a Objetos
Linguagem JAVA
Primeira Aplicao
class helloWorld {
public static void main(String args[]) {
System.out.println(" Hello World");
}
}
Exemplo helloWorld.java
Elementos da Aplicao
Programao Orientada a Objetos
Linguagem JAVA
Passagem de Parmetros da Linha de Comando
Atividade
Ler o captulo 1 do Livro do Furgeri e fazer
os exerccios.
Ler o Captulo 1 do Deitel e Fazer os
exerccios.
Equipe de no mximo 4 pessoas.
Khoshafian, S. e Abnous, R.
Martin, R.C.
O Modelo de Objetos
Abstrao
Encapsulamento
Modularidade
Hierarquia
Abstrao
Eliminao do
irrelevante e
amplificao do
essencial
Abstrao
Encapsulamento
Nenhuma
parte de um
sistema
complexo
deve
depender de
detalhes
internos de
qualquer outra
parte
Programao Orientada a Objetos
Encapsulamento
Modularidade
Propriedade
de um
sistema
estar
decomposto
em partes
coesas e
fracamente
acopladas
Programao Orientada a Objetos
Modularidade
Hierarquia
ratos de
brinquedo
motores a
base de mola
partes
diversas
Classificao
e ordenao
de
abstraes
tomos
Hierarquia
Promove a classificao e organizao das
abstraes
Formas de organizao:
Herana (simples ou mltipla)
Agregao
Abstrao
Encapsulamento
Modularidade
Hierarquia
Agregao
Herana
Associao
Uso
Instanciao
Agregao/decomposio
Especializao/Generalizao
(Herana)
Classes X Objetos
Classes : agrupam os objetos com base em algum
conjunto de propriedades comum a todos estes
objetos
Objeto: contm atributos e comportamentos que o
caracterizam para o domnio de um problema
Atributos: descrevem as caractersticas ou
propriedades dos objetos
Mtodos: manipulao dos atributos ocorre atravs
dos procedimentos
Programao Orientada a Objetos
Conceito de Objeto
mtodos
LATIR
DEITAR
raa
idade
propriedades
ABAIXAR
Orientao a Objetos
Exemplo
Classe: PESSOA
Atributos :cor_de_olho, cor_de_cabelo, idade
Mtodos : faz_aniversario, muda_cor_de_cabelo.
Instanciando esta classe PESSOA, obtemos o
objeto:
maria = new PESSOA ( );
joao
= new PESSOA ( );
PESSOA
cor_de_olho
cor_de_cabelo
idade
muda_cor_cabelo()
faz_aniversario()
Orientao a Objetos
Exemplo
Orientao a Objetos
Mtodos
Atividade
Pesquisar sobre Orientao a Objetos:
Histrico;
Caractersticas;
Comparativo entre programao estruturada e
OO.
Equipe de no mximo 4 pessoas.
Programando em Java
Comentrios
// texto
Todos os caracteres de // para o final da linha so ignorados.
/* texto */
Todos os caracteres de /* para */ so ignorados.
/** texto
* @ consulte java.appplet.Applet
*/
Identificadores
Devem comear com uma letra, sublinhado (_) ou sinal de sifro ($).
Java sensvel a maisculas e minsculas.
Tipos de Dados
Inteiros
Inteiros podem ser expressados no formato: decimal (base 10), hexadecimal
(base 16), ou octal (base8).
2, 2L 0777 0xDeadBeef
Ponto Flutuante
Representam valores decimais com um componente fracionrio. Podem ser
expressos na notao padro ou cientfica.
3.1415 3.1E12 .1e12 2E12
2.0d or 2.0D
double
2.0f or 2.0F or 2.0
float
Booleanos
So expressados por true e false, sendo que estes no podem ser convertidos em
nenhuma representao numrica.
Programao Orientada a Objetos
Tipos de Dados
Caracteres
Os caracteres em Java so ndices do conjunto de caracteres Unicode que so
valores de 16 bits que podem ser convertidos em inteiros e manipulados com
operadores inteiros. Um caracter inteiro representado dentro de um par de
apstrofos ( ). Para os caracteres que no podem ser inseridos diretamente a
tabela abaixo mostra algumas seqncias de escape de caracteres.
\ddd
\uxxxx
\
\
\\
\r
\n
\f
\t
\b
Tipos de Dado
Tipos Simples
byte
short
int
long
Largura
8
16
32
64
float
double
char
boolean
32
64
16
true ou false
Faixa
-128 a 127
-32768 a 32767
-2.147.483.648 a 2.147.483.647
-9.223.372.036.854.775.808...
9.223.372.036.854.775.807
3,4e - 308..1,7e + 308
1,7e - 038..3,4e + 038
0 a 65536
Converso de Tipos
float y = (float)x; // int x = 10;
double y = (double)x; // int x = 10;
int y= (int)x; // float x = 10.5;
float y = Float.parseFloat(x); // String x = 10;
double y = Double.parseDouble(x) // String x = 10
int y = Integer.parseInt(x); // String x = 10;
byte b[] = x.getBytes(); // String x = java;
String y = String.valueOf(x) // int x = 100;
String y = new String(x) // byte x[];
Operadores
Operadores Aritmticos
Operador
+
*
/
%
++
+=
-=
*=
/=
%=
--
Ao
Adio
Subtrao e menos unrio
Multiplicao
Diviso
Mdulo
(resto da diviso)
Incremento
Atribuio Aditiva
Atribuio Subtrativa
Atribuio de Multiplicao
Atribuio de Diviso
Atribuio deMdulo
(resto de diviso)
Decremento
Operadores Relacionais
Operador
Ao
==
Igual a
!=
Diferente
>
Maior do que
<
Menor do que
>=
Maior ou igual a
<=
Menor ou igual a
Operadores Lgicos
Operador
&
|
^
||
&&
!
&=
|=
^=
==
!=
?:
Ao
AND lgico
OR Lgico
XOR Lgico (OR exclusivo)
OR
AND
NOT unrio lgico
Atribuio de AND
Atribuio de OR
Atribuio de XOR
Igual a
Diferente de
if-then-else ternrio
Atividade em Sala
Fazer exerccios da lista 01 (em sala).
Trabalho de Casa
Ler o Captulo 2 do Deitel e Fazer os
exerccios .
Equipe de no mximo 4 pessoas.
Comandos
class Switch{
Controle de Fluxo ( switch)
public static void main(String args[ ]) {
Fornece a opo de ir para
int mes = 4;
diferentes partes do cdigo com
String estacao = new String();
base no valor de uma nica varivel switch (mes) {
ou expresso.
case 12:
A forma geral de declarao :
case 1:
switch (expressao) {
case valor1:
break;
case valor2:
break;
case valorN:
break;
default:
}
Programao Orientada a Objetos
case 2:
estacao = "Verao"; break;
case 3:
case 4:
case 5:
estacao = "Outono"; break;
}
System.out.println("Abril esta na estacao" +
estacao + ".");
} }
Prof: Augusto Dantas
Comandos
Controle de Fluxo ( return)
Faz com que a execuo retorne
para a chamada do mtodo.
class Return{
public static void main(String args[ ]) {
boolean t = true;
System.out.println(Antes de return);
if (t)
return;
System.out.println(Isto nao e
executado);
}
}
[inicializao]
while ( encerramento ) {
corpo;
[iterao;]
}
classe While{
public static void main(String args[ ]){
int n = 10;
while (n > 0) {
System.out.println( n);
n--;
}
}
}
Comandos
Repetio (do-while)
[inicializao;]
do {corpo; [iterao;] } while (trmino);
Exemplo:
class DoWhile{
public static void main(String args[ ]) {
int n = 10;
do {
System.out.println( n );
--n;
} while (n > 0);
} }
Repetio (for)
Comando compacto de repetio.
Forma geral:
for (inicializao; encerramento;
iterao ) corpo;
class for{
public static void main(String args[ ]) {
for (int i = 1; i <= 10; i++)
System.out.println(i = + i);
}
}
Comandos
Declarao de Vrgula:
Para incluir mais de uma declaraao de
inicializao e iterao no comando for,
use a vgula.
class Virgula {
public static void main (String args[ ]) {
int a,b;
for (a = 1, b = 4; a < b; a++, b--) {
System.out.println(a = + a);
System.out.println(b = + b);
}
}
}
Programao Orientada a Objetos
continue:
class Continue {
public static void main (String args[ ]) {
for (int i = 0; i < 10; i++) {
System.out.printn(i + );
if (i % 2 == 0)
continue;
System.out.println( );
}
}}
Prof: Augusto Dantas
Tratamento de Excees
Exceo uma condio anormal que
surge em uma seqncia de cdigo
em tempo de execuo.
O comando Try tem a seguinte forma:
try {
// bloco de cdigo
}catch (ExcecaoTipo1 e) {
//manipulador de ExcecaoTipo1
}catch (ExcecaoTipo2 e) {
//manipulador de ExcecaoTipo2
throw(e); //lana a exceo novamente
} finally {
}
Programao Orientada a Objetos
Excees no-tratadas
class Exc0 {
public static void main(String args[ ]){
int d = 0;
int a = 42/d;
}
}
Excees
Vrias clusulas catch
class MultiCatch {
public static void main (String args[ ]){
try{
int a = 0;
System.out.println("a = " + a);
int b = 42 / a;
int c[ ] = { 1 };
c[42] = 99;
}
catch(ArithmeticException e){
System.out.println("div por 0: " + e);
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("Estouro ndice array " +
} }}
Programao Orientada a Objetos
Atividade
Fazer os exerccios de 1 a 5 da lista 02.
Ler o Captulo 3,4,5 do Deitel e Fazer os
exerccios.
Equipe de no mximo 4 pessoas.
Funes
Math.
ceil(), floor(), max(), min(), sqrt(), pow(), random()
Funes String
length(), charAt(), toUpperCase, toLowerCase(),
substring(), trim(), replace(), equals(), compareTo()