JavaIntro POO
JavaIntro POO
Guillermo Cámara-Chávez
I Microprocessadores;
1/69
Introdução (cont.)
2/69
Principais Caracterı́sticas
I Orientação a objetos;
I Portabilidade;
3/69
Principais Caracterı́sticas (cont.)
I Frameworks.
4/69
APIs
I Aplicações gráficas;
I Estruturas de dados;
I Acessibilidade;
5/69
APIs (cont.)
I Sons;
I Bancos de dados
I Jogos
I E-mail
I Etc.
6/69
Criação de um Programa Java
I O programa é compilado
j a v a c meuPrograma . j a v a
7/69
Criação de um Programa Java (cont.)
8/69
Bytecode
9/69
Bytecode (cont.)
10/69
Bytecode (cont.)
11/69
Instruções de Saı́da
p u b l i c c l a s s Welcome1
{
//o método main inicia a execução da aplicação Java
p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] )
{
//Java é case sensitive, cuidado com as letras maiúsculas
System . o u t . p r i n t l n ( " Welcome to Java
Programming !" ) ;
}
}
12/69
Instruções de Saı́da (cont.)
13/69
Instruções de Saı́da (cont.)
14/69
Instruções de Saı́da (cont.)
Especificador Descrição
public Acessı́vel a todos os membros do programa
private Acessı́vel apenas internamente à classe
protected Acessı́vel internamente à classe, às subclas-
ses e por classes do mesmo pacote
Acesso de pacote Atribuı́do quando nenhum especificador é
determinado.
Acessı́vel a todas as classes do mesmo pa-
cote, através de uma referência a um objeto
da classe.
15/69
Instrução de Saı́da
16/69
Instrução de Saı́da (cont.)
17/69
printf em Java
18/69
printf em Java (cont.)
p u b l i c c l a s s Welcome4
{
p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] )
{
System . o u t . p r i n t f ( " %s\n %s\n" , " Welcome to " , "
Java Programming " ) ;
}
}
19/69
Importanto Classes
20/69
Importanto Classes (cont.)
I Agrupadas em pacotes;
I Classe System
21/69
Classe Scanner
p u b l i c c l a s s Adicao {
p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) {
S c a n n e r e n t r a d a = new S c a n n e r ( System . i n ) ;
soma = numero1+numero2 ;
System . o u t . p r i n t f ( "A soma é %d\n" , soma ) ;
}
}
22/69
Classe Scanner (cont.)
I Disco
I Teclado
I Etc.
23/69
Classe Scanner (cont.)
24/69
Classe Scanner (cont.)
I next();
I nextByte();
I nextDouble();
I nextFloat();
I nextLine();
25/69
Classe Scanner (cont.)
26/69
Classe Scanner (cont.)
import java . u t i l . ∗ ;
p u b l i c c l a s s HasNext {
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
S t r i n g s = " Hello World ! \n 23 " ;
true
H e l l o World !
true
28/69
Caixas de Diálogo
I Janelas simples.
29/69
Exemplo 3
p u b l i c c l a s s Welcome4 {
p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] ) {
//o parâmetro null posiciona a janela no meio da tela
JOptionPane . showMessageDialog ( n u l l ,
" Welcome \ nto \ nJava \ nProgramming !" ) ;
//necessário em aplicações gráficas
System . e x i t ( 0 ) ; //termina o programa
}
}
30/69
Exemplo 3 (cont.)
31/69
Exemplo 4
i m p o r t j a v a x . s w i n g . JO pt io nP a ne ;
32/69
Exemplo 4 (cont.)
// adiciona os numeros
sum = number1 + number2 ;
// mostra o resultado
J O p t i o n P a n e . s h o w M e s s a g e D i a l o g ( n u l l , " The sum is "
+ sum , " Results " , JO pt io n Pa ne . PLAIN MESSAGE ) ;
System . e x i t ( 0 ) ;
}
}
33/69
Exemplo 4 (cont.)
34/69
Constantes JOptionPane
35/69
Exemplo 4
36/69
Erro Comum
I Suponha y = 5:
37/69
Operadores e Palavras Reservadas
38/69
Palavras Reservadas
39/69
Similaridades com C/C++
I Comentários;
I Operadores relacionais;
I Atribuições simplificadas;
I Incremento e decremento;
I Operadores lógicos;
40/69
Similaridades com C/C++ (cont.)
I Desvio Condicional
I Estrutura de seleção
I switch−case
I Estruturas de repetição
41/69
Vetores
i n t c [ ] ; //declara um vetor
c = new i n t [ 12 ] ; //cria o vetor e o associa a uma variável
42/69
Vetores (cont.)
f o r ( i n t i = 0 ; i <c . l e n g t h ; i ++)
System . o u t . p r i n t f ( " %d " , c [ i ] ) ;
43/69
Vetores (cont.)
44/69
Vetores (cont.)
p u b l i c c l a s s ForAprimorado
{
p u b l i c s t a t i c v o i d main ( S t r i n g A r g s [ ] )
{
//cria e inicializa o vetor
int vet [ ] = {1 , 2 , 5 , 10 , 15 , 20 , 32};
45/69
Matrizes
int a [ ] [ ] = { { 1 , 2 } , { 3 , 4 , 5 } };
i n t b [ ] [ ] = new i n t [ 3 ] [ 4 ] ;
46/69
Matrizes (cont.)
47/69
API Java
48/69
API Java (cont.)
I java.awt: interfaces gráficas;
I E algumas diferenças.
50/69
Classes e Métodos (cont.)
p u b l i c c l a s s GradeBook
{
public void displayMessage ()
{
System . o u t . p r i n t l n ( " Bem vindo ao Diario de
Classe " ) ;
}
}
p u b l i c c l a s s DriverGradeBook
{
p u b l i c s t a t i c v o i d main ( S t r i n g A r g s [ ] )
{
GradeBook m e u D i a r i o = new GradeBook ( ) ;
meuDiario . displayMessage () ;
}
}
51/69
Classes e Métodos (cont.)
I Logo, é um método;
52/69
Classes e Métodos (cont.)
53/69
Classes e Métodos (cont.)
p u b l i c c l a s s GradeBook
{
p u b l i c v o i d d i s p l a y M e s s a g e ( S t r i n g nomeCurso )
{
//o println foi substituı́do, porque gera erro de compilação
System . o u t . p r i n t f ( " Bem vindo ao Diario de
Classe de %s" , nomeCurso ) ;
}
}
54/69
Classe String
I Com ’S’;
55/69
Classe String (cont.)
I + 15 construtores diferentes;
I + operadores sobrecarregados.
56/69
Lendo String
p u b l i c c l a s s GradeBook
{
p u b l i c v o i d d i s p l a y M e s s a g e ( S t r i n g nomeCurso )
{
//o println foi substituı́do, porque gera erro de compilação
System . o u t . p r i n t f ( " Bem vindo ao Diario de
Classe de %s" , nomeCurso ) ;
}
}
57/69
Lendo String (cont.)
p u b l i c c l a s s DriverGradeBook
{
p u b l i c s t a t i c v o i d main ( S t r i n g A r g s [ ] )
{
GradeBook m e u D i a r i o = new GradeBook ( ) ;
S c a n n e r e n t r a d a = new S c a n n e r ( System . i n ) ;
S t r i n g nome ;
m e u D i a r i o . d i s p l a y M e s s a g e ( nome ) ;
}
}
58/69
Lista de Argumentos de Tamanho Variável
59/69
Lista de Argumentos de Tamanho Variável (cont.)
p u b l i c c l a s s VarArgs {
p u b l i c s t a t i c d o u b l e media ( d o u b l e . . . numeros ) {
double t o t a l = 0;
f o r ( d o u b l e d : numeros )
t o t a l+=d ;
r e t u r n t o t a l / numeros . l e n g t h ;
}
61/69
Passagem de Parâmetros (cont.)
62/69
Escopo de Variáveis e Atributos
63/69
Escopo de Variáveis e Atributos (cont.)
64/69
Exemplo GradeBook
p u b l i c c l a s s GradeBook {
p r i v a t e S t r i n g courseName ;
p u b l i c c l a s s GradeBookTest {
// método principal que inicia a execução
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s )
{
// permite a captura de dados de entrada
S c a n n e r i n p u t = new S c a n n e r ( System . i n ) ;
66/69
Exemplo GradeBook (cont.)
// set courseName
myGradeBook . setCourseName ( theName ) ;
67/69
Exemplo GradeBook (cont.)
I n i t i a l c o u r s e name i s : n u l l
P l e a s e e n t e r t h e c o u r s e name :
BCC Programacao O r i e n t a d a a O b j e t o s
Welcome t o t h e GradeBook f o r
BCC Programacao O r i e n t a d a a O b j e t o s
68/69
FIM
69/69