3. O que é Programação
O que é Programação
Orientada a Objetos ?
Orientada a Objetos ?
• É um paradigma de programação de
computadores onde se usam classes e
objetos, criados a partir de modelos.
4. Classes
Classes
• São estruturas das linguagens de
programação orientadas a objetos para
representar determinado modelo.
• Cada classe deve ter um nome que
seja facilmente associável ao modelo
que a classe representa.
5. Objetos
• Um objeto ou instância é uma
materialização da classe, e assim pode
ser usado para representar dados e
executar operações.
6. Principais Características
Principais Características
• Orientada a objetos
– Java é uma linguagem puramente
orientada a objetos.
• Sem Ponteiros
– Java não possui ponteiros, isto é, não
permite a manipulação direta de
endereços de memória.
8. Principais Características
Principais Características
• Independente de plataforma
– Programas Java são compilados para uma
forma intermediária (bytecodes).
• Tratamento de exceções
– Permite o tratamento de situações
excepcionais.
– Possui exceções embutidas e permite a
criação de novas exceções.
10. Fases de um programa
Fases de um programa
Java
Java
11. Fases de um programa
Fases de um programa
Java
Java
• Os programas Java normalmente passam
por cinco fases para serem executados:
– Fase 1 (Edição): Consiste em editar um
arquivo com código em Java e salvá-lo com a
extensão .java;
– Fase 2 (Compilação): Comando javac
compila o programa. O compilador Java
traduz (.java => .class);
12. Fases de um programa
Fases de um programa
Java
Java
– Fase 3 (Carga): Carrega o programa na
memória antes de ser executado.
Carregador de classe, pega o
arquivo(s) .class que contém os bytecodes.
– Fase 4 (Verificação): O verificador
assegura que os bytecodes são válidos e
não violam as restrições de segurança de
Java.
13. Fases de um programa
Fases de um programa
Java
Java
– Fase 5 (Execução): A JVM máquina
virtual Java (Interpretador) interpreta (em
tempo de execução) o programa,
realizando assim a ação especificada pelo
programa.
15. Estrutura Básica
Estrutura Básica
Pacotes
Pacotes
• Classes que compõem o núcleo de
funcionalidades Java.
• Package Java é um mecanismo para
agrupar classes de finalidades afins ou
de uma mesma aplicação.
16. Estrutura Básica
Estrutura Básica
Pacotes
Pacotes
• Além de facilitar a organização
conceitual das classes, permite
localizar cada classe necessária
durante a execução da aplicação.
• A principal funcionalidade de um
pacote Java é evitar a explosão do
espaço de nome.
18. Estrutura Básica
Estrutura Básica
Pacotes
Pacotes
• Package é uma coleção de classes e
interfaces relacionadas fornecendo
proteção de acesso e gerenciamento
de nomes de diretórios.
• Usamos a declaração import para
acessar essas classes.
import java.lang.*;
21. Estrutura Básica
Estrutura Básica
Código Java
Código Java
• linhas 1 e 2: representam comentários.
Pode conter qualquer informação
relevante;
• linha 3: está em branco, pois Java
permite linhas em branco entre os
comandos;
22. Estrutura Básica
Estrutura Básica
Código Java
Código Java
• linha 4: é a declaração do "nome do
programa", case-sensitive (existe
diferença entre maiúsculas e
minúsculas).
• O arquivo deve ser salvo com o nome
(NomeDoPrograma.java).
23. Estrutura Básica
Estrutura Básica
Código Java
Código Java
• linhas 5 e 8: a abertura de chave { indica
início de bloco;
• linha 8: essa linha indica à Java Virtual
Machine que o programa será executado.
Os demais programas não conterão o
método main();
"Quando um programa Java é executado, o interpretador da JVM
executa os comandos que estiverem dentro do bloco indicado pelo
método "static public void main(String)".
24. Estrutura Básica
Estrutura Básica
Código Java
Código Java
• linha 9: aqui seria escrito o código
propriamente dito;
• linhas 10 e 11: o fechamento de
chave } indica fim de bloco.
25. Estrutura Básica
Estrutura Básica
Comentários
• Informação entre os caracteres de
comentário será ignorada;
– Linha:
//isto é um comentário e inicia com duas barras.
int valor; // e pode estar no final da linha
– Bloco:
/* Comentário em bloco
Aceita múltiplas linhas
Não utilize comentários aninhados
*/
26. Estrutura Básica
Estrutura Básica
Comentários
• As regras que tratam dos comentários
em Java são:
– comentários não podem ser aninhados;
– não podem ocorrer dentro de strings ou
literais;
– as notações /* e */ não tem significado
dentro dos comentários //;
– a notação // não tem significado dentro dos
comentários /* e /**.
27. Estrutura Básica
Estrutura Básica
Comentários
• javadoc:
– É tipo especial de comentário, utilizado
para gerar documentação da API do
código Java.
/** isto é um comentário para geração de javadoc */
28. Estrutura Básica
Estrutura Básica
Identificadores
• São usados para determinar nomes de
variáveis, atributos de classe ou
instância, parâmetros e métodos;
• Os identificadores em Java iniciam com:
– uma letra;
– um sublinhado (_);
– ou um sinal de dólar "$";
29. Estrutura Básica
Estrutura Básica
Identificadores
• Podem possuir números após o
primeiro caractere da palavra;
• Case-sensitive existe uma
diferenciação entre letras maiúsculas e
minúsculas.
– private String Nome;
– private String nome;
30. Estrutura Básica
Estrutura Básica
Identificadores
• Convenções:
– Constantes com todas as letras em
maiúsculo: CONSTANTE
– Variáveis e métodos começam com letra
minúscula: variável
– Classes e interfaces começam com letra
maiúscula: Classe
31. Estrutura Básica
Estrutura Básica
Identificadores
• Convenções:
– Se o identificador for um nome composto
por mais de uma palavra, cada nova palavra
começa com letra maiúscula:
variávelComNomeComposto
enderecoResidencial
ClasseComNomeComposto
BancoBrasil
32. Estrutura Básica
Estrutura Básica
Tipos Primitivos
• Existem 8 tipos primitivos em Java :
– Seis deles são numéricos;
– Os outros dois são caractere e booleano.
• Os tipos Array e String não são tipos
primitivos, são Classes e serão em
outra oportunidade.
33. Estrutura Básica
Estrutura Básica
Tipos Primitivos
• Tipos Numéricos Inteiros:
– Java é portável, esses valores são os mesmos
para qualquer plataforma de hardware.
Tipo Tamanho Faixa de Valores
int 4 bytes -2.147.483.648 até
2.147.483.647
short 2 bytes -32.768 até 32.767
byte 1 byte -128 até 127
long 8 bytes -9.223.372.036.854.775.808 até
9.223.373.036.854.775.807
34. Estrutura Básica
Estrutura Básica
Tipos Primitivos
• Tipos Numéricos Flutuantes:
– Valores numéricos com ponto flutuante:
– números do tipo float aparecem com um sufixo
F. (2.04F
2.04F).
Tipo Tamanho Faixa de Valores
float 4 bytes +/- 3.40282347E+38F
(aproximandamente 7 dígitos
significativos)
double 8 bytes +/- 1.79769313486231570E+308
(15 dígitos significativos)
35. Estrutura Básica
Estrutura Básica
Tipos Primitivos
• Tipos Numéricos de Ponto Flutuante:
– números do tipo float aparecem com um sufixo
F. (2.04F
2.04F).
Tipo Tamanho Faixa de Valores
float 4 bytes +/- 3.40282347E+38F
(aproximandamente 7 dígitos
significativos)
double 8 bytes +/- 1.79769313486231570E+308
(15 dígitos significativos)
36. Estrutura Básica
Estrutura Básica
Tipos Primitivos
• Tipo caractere:
– Representa apenas uma letra ou número;
– Esse tipo serve para representar
caracteres usando a tabela Unicode;
Tipo Tamanho Faixa de Valores
char 2 bytes 0 até 65536
37. Estrutura Básica
Estrutura Básica
Tipos Primitivos
• Tipo caractere:
– Dessa tabela faz parte a tabela ASCII e
mais alguns caracteres especiais;
– O tipo char é sempre representado por
aspas simples (‘h’);
– Caracteres representados por aspas
duplas (“h”) na verdade são Strings.
38. Estrutura Básica
Estrutura Básica
Tipos Primitivos
• Tipo booleano:
– Possui apenas dois valores, true ou false;
– É usado apenas para testes lógicos.
Tipo Tamanho Faixa de Valores
Boolean 1 bit true ou false
40. Estrutura Básica
Estrutura Básica
Operadores
• Atribuição:
– Feita através do operador “=”:
<identificador> = <valor>;
– Declaração da variável:
float umFloat = 0.5;
char caracter = ‘i’;
– Após declaração da variável:
idade = 18;
existe = true;
41. Estrutura Básica
Estrutura Básica
Operadores
• Aritméticos:
– Efetuam operações aritméticas em um ou
mais tipos primitivos.
Operador Nome Exemplo
+ Adição 7+10
- Subtração 8-2
* Multiplicação 0.27*3
/ Divisão 100/40
% Módulo 57%5
42. Estrutura Básica
Estrutura Básica
Operadores
• Relacionais:
– Testes e condições de entrada em um
fluxo do programa.
Operador Nome Exemplo
== Igual 10==10
!= Diferente 8!=2
< Menor 4<6
> Maior 10>9
<= Menor ou Igual 3<=3
>= Maior ou Igual 5>=3
43. Estrutura Básica
Estrutura Básica
Operadores
• Lógicos:
– Testes e condições de entrada em um
fluxo do programa.
Operador Nome Exemplo
&& AND (0 < 2) && ( 10 > 5)
|| OR ( 10 >11 ) || (10 < 12 )
! NOT !( 1= = 4 )
^ XOR ( 1!= 0) ^ ( 3< 2 )
?: Condicional 3>2? (comando):
(comando)
44. Estrutura Básica
Estrutura Básica
Operadores
• Atribuição Composta:
– Formada com operadores aritméticos ou
lógicos;
a += b; // Equivalente a: a = a + b;
a *= 3; // Equivalente a: a = a * 3;
45. Estrutura Básica
Estrutura Básica
Operadores
• Incremento e Decremento:
– Incremento é dado pelo operador ++ e o
decremento pelo operador --;
– Pode ser feito antes ou depois da
utilização da variável;
46. Estrutura Básica
Estrutura Básica
Operadores
• Incremento e Decremento:
– Colocando–se antes (++var ou --var), será
realizado o incremento ou decremento e
depois o valor da variável será utilizado;
– Depois (var++ ou var--), faz com que o
valor da variável seja utilizado primeiro e
o incremento ou decremento seja feito
depois.
47. Estrutura Básica
Estrutura Básica
Operadores
• Precedência:
– Operadores em ordem decrescente de
precedência, isto é, o que está mais
acima ocorre antes: ++ - - !
* / %
+ -
<> <= >=
== !=
^
&&
||
= *= /= %= += -=