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 estruturasdas 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 objetoou 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.
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.
Fases de umprograma
Fases de um programa
Java
Java
11.
Fases de umprograma
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 umprograma
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 umprograma
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.
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.
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.*;
Estrutura Básica
Estrutura Básica
CódigoJava
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ódigoJava
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ódigoJava
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ódigoJava
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
TiposPrimitivos
• 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
TiposPrimitivos
• 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
TiposPrimitivos
• 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
TiposPrimitivos
• 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
TiposPrimitivos
• 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
TiposPrimitivos
• 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
TiposPrimitivos
• 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
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: ++ - - !
* / %
+ -
<> <= >=
== !=
^
&&
||
= *= /= %= += -=