SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
11/04/2014
1
Programação Orientada a Objetos
Fundamentos de Java
Introdução ao JAVA
• Existem diversas LP’s para POO então por que Java?
– Java é obrigatoriamente OO
• Todos os métodos e variáveis estão dentro de uma classe
– Java é simples
• Segue a organização de LP’s tradicionais como o C. Seguindo
recomendações básicas, o compilador será capaz de compilar
todas as classes necessárias para sua aplicação funcionar
2
Introdução ao JAVA
– Java é portátil
• Seu código-fonte pode ser compilado e as classes geradas
podem ser executadas em qualquer computador com
qualquer SO desde que tenha uma JVM adequada instalada
– Java e gratuita
• JVM’s estão disponíveis para serem instaladas e existe um
pacote de ferramentas do JDK com compilador para linha de
comando (javac)
3
Introdução ao JAVA
– Java é robusta
• Administração de memória e uso de ponteiros são controlados
internamente na linguagem (diferente de C, por exemplo)
• Também conta com um poderoso mecanismo de tratamento
de ecxeções viabilizando um melhor controle de erros em
tempo de execução
4
Introdução ao JAVA
• Sintaxe básica (regras)
– Uma classe é sempre declarada com a palavra-chave
class seguida do nome da classe
– O nome da classe não pode ter espaços
– Sempre iniciado por letra
– Não podem ter acentos
– Podem ter números
– Não pode ser exatamente igual a alguma palavra
reservada
5
Introdução ao JAVA
• Sintaxe básica (regras)
– Há diferenciação entre caracteres MAIÚSCULOS e
minúsculos:
• Class, CLASS, ClAsS e class são consideradas diferentes
• Apenas a última palavra é reconhecida como declarante de
uma classe
– O conteúdo de uma classe é delimitado por chaves ({ e
}), blocos de códigos também!
6
11/04/2014
2
Introdução ao JAVA
• Sintaxe básica (regras)
– Não existem regras para o espaçamento vertical ou a
indexação
– A boa utilização desses espaços torna o código mais
legível
– Por convenção, nomes de classes tem a primeira letra de
cada palavra maiúscula:
• ContaBancaria, Lampada, CarroDeLuxo
7
Introdução ao JAVA
• Sintaxe básica (regras)
– O código de uma classe é criado em um arquivo texto
nomeado com o nome da classe e possui a extensão
.java
• Uma classe Lampada tem seu código no arquivo Lampada.java
– Os arquivos compilados do Java possuem a extensão
.class
– Um arquivo fonte em Java deve conter no máximo uma
classe pública, ou seja, o arquivo pode conter 0 ou 1
classe pública
– Caso exista uma classe pública, então, o nome do
arquivo deve ser igual ao nome da classe pública
8
Introdução ao JAVA
• Comentários em JAVA
– Comentários de uma linha
// linha comentada
– Comentário em bloco (necessita fechamento)
/* bloco comentado */
–Comentário para documentação
/** comentário */
• Uso com a ferramenta javadoc
9
Introdução ao JAVA
• Toda aplicação Java é composta por um conjunto de
classes declaradas em diferentes arquivos
• A classe é a unidade fundamental de um sistema
em Java
• Para que essa aplicação seja executável, uma das
classes da aplicação deve conter o método main
10
O método main
• O método main( ) é o ponto natural de entrada de
uma aplicação Java
• Para que uma aplicação seja executável, uma das classes da
aplicação deve conter o método main
• O assinatura desse método é:
public static void main(String[ ] args)
• As seguintes variações também são válidas:
static public void main(String[ ] args)
public static void main(String args[ ])
11
O método main
• A varíavel args é um array que armazena os
argumentos de entrada passados pelo usuário para
a aplicação
• O nome args é arbitrário, portanto, pode ser
susbtituído por qualquer outro identificador de
variável válido
• Exemplo:
public static void main(String[ ] x)
12
11/04/2014
3
Alô mundo!
13
/* essa é uma forma de comentar
múltiplas linhas */
// esse é um comentário de uma única linha
public class AloMundo {
// o método main inicia a execução da aplicação Java
public static void main(String[] args) {
System.out.println("Alô mundo");
}// fim do método main
}// fim da classe
Declaração de Atributos
• A sintaxe básica para a declaração de um atributo é:
<modificador> <tipo> <nome_do_atributo>;
– O modificador é opcional
• Exemplos:
private int ra;
public String nome;
Conta c;
14
Inicialização de atributos
15
• Podem ser inicializados
no momento da
declaração
– public int idade = 1;
• Existem valores default
para a inicialização de
atributos caso os
mesmos não sejam
inicializados
Valores
predefinidos
de inicialização
de variáveis
em Java
Declaração de métodos
<modificador> <tipo_de_retorno> <nome_do_método>
(<lista_de_argumentos>) {
<instruções>
}
• O modificador, a lista de argumentos e as instruções
são partes opcionais
• A lista de argumentos é formada por pares,
separados por vírgula:
<tipo><nome_do_argumento>
16
Exemplo de Métodos
• Métodos:
– Exemplo:
17
public class Aluno {
int matricula;
public int obterMatricula() {
return matricula;
}
public void alterarMatricula(int matr) {
this.matricula = matr;
}
}
Método sem
argumentos,
que retorna um int
Método com
argumentos,
que não retorna nada
Atenção:
this é referência para o objeto corrente
Construtores
• Objetos são criados por meio da execução de um dos
seus construtores
• O nome do construtor deve ser idêntico ao nome da
classe
• Os construtores devem ser declarados sem nenhum
tipo de retorno
– Exemplo: public Aluno() { }
• É permitido (embora não aconselhável) que um
método tenha o mesmo nome da classe. Nesse caso, se
existir um tipo de retorno, trata-se de um método
comum e não de um construtor
18
11/04/2014
4
Construtores
• Construtores podem usar qualquer modificador de
acesso, incluindo private
• Os construtores são comumente utilizados para definir
valores para os atributos da classe
• Métodos construtores definidos para uma certa classe
podem ou não possuir argumentos
• O construtor sem argumentos ou construtor vazio é
considerado o construtor default
• Se nenhum construtor for implementado na classe, o
compilador gerará automaticamente o construtor
padrão (default), que não possui argumentos
19
Construtores
• Se qualquer outro construtor (com argumentos) existir
na classe e você quiser usar um construtor sem
argumentos, você deverá criá-lo manualmente
• Sendo assim, em Java, o construtor default é criado
automaticamente pelo compilador se e somente se não
existir nenhum outro construtor definido para a classe
• Isso significa que o construtor default pode ser omitido
na declaração de uma classe caso ela não possua um
construtor com argumentos
• Se a classe possuir um construtor com argumentos, é
fortemente recomendado que o construtor default seja
declarado explicitamente
20
Declaração de construtores
• A sintaxe básica para a declaração de um construtor
é:
<modificador><nome_da_classe>(<lista_de_argumentos>)
{
<instruções>
}
– O modificador, a lista de argumentos e as instruções são
partes opcionais
– A lista de argumentos é formada por pares
<tipo><nome_do_argumento>
– Um construtor não possui tipo de retorno
21
Construtores
22
• Se não for implementado um método construtor, o compilador gera
automaticamente um construtor padrão (default) sem argumentos
• Exemplo:
public class Conta {
private double saldo;
public Conta ( ) {
}
public Conta (double saldo) {
this.saldo = saldo;
}
}
Construtor default sem
argumentos
Construtor com argumento
Atenção:
Os construtores normalmente inicializam
os atributos da classe.
Referência this
23
• A palavra-chave this é uma referência para o objeto
corrente
• this pode ser usado para:
– referenciar um atributo ou método de uma classe dentro
de um construtor ou de método da mesma;
– passar o objeto corrente como um parâmetro para outro
método ou construtor.
Criação de um objeto
• Todo objeto em um programa ou aplicação é criado
em tempo de execução, utilizado e destruído
• Em Java, a palavra-chave new é usada em conjunto
com um dos construtores da classe para criar um
novo objeto como uma instância de uma classe
específica, retornando como resultado uma
referência para o objeto criado
24
11/04/2014
5
Criação de um objeto
• Sintaxe básica:
new <nome_da_classe> ([lista_de_argumentos])
• A palavra new é sucedida pela chamada do
construtor da classe
– O corpo (ou código) do método construtor determina as
ações associadas à inicialização de cada objeto criado
• Um construtor só é invocado com a criação de um
objeto
25
Exemplo de criação de um objeto
26
public class Programa {
public static void main (String[] args) {
Conta c1 = new Conta( );
c1.creditar(10.0);
System.out.println(c1.obterSaldo());
Conta c2 = new Conta(50.0);
c2.creditar(10.0);
System.out.println(c2.obterSaldo());
}
}
Chamada do construtor padrão
Chamada do construtor com um
argumento
Atenção:
c1 e c2 são objetos distintos
e independentes
Acesso aos membros de uma classe
• Os atributos e métodos também são chamados de
membros de uma classe.
• Em Java, a seguinte sintaxe é utilizada para se ter acesso
aos membros da classe:
<ref_objeto>.<membro> ou <classe>.<membro>
27
Convenções do Java
• Para aumentar a legibilidade dos códigos
desenvolvidos em Java, algumas convenções são
adotadas
• As convenções de código providas pela Sun e
amplamente seguidas podem ser encontradas em:
– http://www.oracle.com/technetwork/java/codeconv-
138413.html
– http://www.oracle.com/technetwork/java/codeconvtoc-
136057.html
28
Convenções para nomes
• Classes e Interfaces:
– Nomes de classes devem ser escritos com a primeira
letra maiúscula e as demais minúsculas – a primeira letra
de palavras subsequentes também deve ser maiúscula.
– Exemplos:
Cliente
ClienteEspecial
29
Convenções para nomes
• Variáveis e Métodos:
– Nomes de variáveis e métodos devem ser escritos com
letras minúsculas – sendo a primeira letra de palavras
subsequentes maiúscula
– Exemplos de nomes de métodos:
adicionarCliente
remover
30
11/04/2014
6
Introdução ao JAVA
• Palavras reservadas da linguagem
– As palavras abaixo tem significado especial para o
compilador
31
Identificadores
• Campos são declarados dentro do corpo da classe
– Parte do código entre as chaves { e }
32
public class Pessoa {
int idade;
String nome;
...
...
}
Identificadores
• Regras para declaração de campos
– Quase todas as mesmas para declaração de nomes de
classes
• Iniciados por letra ( incluindo _ e $ ), sem espaços (ou virgulas
etc.), podendo ter números
• Podem ter acentos (CUIDADO! Case sensitive)
• Não pode ser igual a nenhuma palavra reservada
33
Identificadores
• Exemplos de identificadores válidos:
– $nome
– nome
– primeiroNome
– nome1
– _nome
• Identificadores são case sensitive, portanto,
– Nome ≠ nome
34
Identificadores
• Regras para declaração de campos
– Se campos forem do mesmo tipo, estes podem ser
declarados em uma única linha:
• boolean campo1, campo2, campo3;
– Observar a clareza do código
– Um campo que é instancia de uma classe precisa ter a
inicialização da referência através da palavra-chave new
• Aluno a = new Aluno();
– Dois campos da mesma classe não podem ter o mesmo
nome
35
Introdução ao JAVA
• Tipos primitivos em Java são dados nativos da
linguagem
• boolean: representa valores lógicos
– Assume apenas dois valores true(verdadeiro) ou false
(falso)
– São usados especialmente para representar estados
36
11/04/2014
7
Introdução ao JAVA
• Existem quatro tipos numéricos para representar
valores inteiros
• byte: representa valores entre -128 e 127
– Ocupa apenas um byte de memória
• short: usado para valores entre -32768 e 32767
– Ocupa dois bytes de memória
37
Introdução ao JAVA
• int: representa valores entre -2147483648 a
2147483647
– Ocupa quatro bytes de memória
• long: usado para valores entre -9223372036854775808 e
9223372036854775807
– Ocupa oito bytes de memória
38
Introdução ao JAVA
• O tipo char
– Tipo numérico que é usado para representar caracteres
Unicode entre 0 e 65535
– Usa dois bytes para representação
– Caracteres são representados entre aspas simples
• ‘a’
– Operações matemáticas também podem ser efetuadas usando o
campo char
39
Introdução ao JAVA
• Valores numéricos de ponto flutuante
– float: para valores de precisão simples entre
1.40129846432481707e-45 e 3.40282346638528860e+38 (usa 4 bytes
de memória)
– double: para valores de precisão dupla entre
4.94065645841246544e-324 e 1.79769313486231570e+308 (usa 8
bytes)
40
Introdução ao JAVA
• A classe String (breve)
– Usada para representar cadeias de caracteres (palavras,
frases, textos etc.)
– Não é um dado nativo!
– De uso simples e intuitivo
• Por isso usamos de forma similar aos tipos primitivos
• Detalhes sobre essa classe serão dados mais a frente
41
Recomendação de leitura
• Capítulo 3 - Orientação a Objetos
– Orientação a Objetos em Java
– K19 Treinamentos
– http://www.k19.com.br/downloads/apostilas-java
• Capítulo 4 - Orientação a objetos básica
– FJ-11: Java e Orientação a Objetos.
– Caelum Ensino e Inovação.
– http://www.caelum.com.br/curso/fj-11-java-
orientacaoobjetos/
• Complete Java 2 Certification - Study Guide.
Sybex
42

Mais conteúdo relacionado

Mais procurados

Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java BasicoJoel Lobo
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Java 02 Iniciando Uso Java
Java 02 Iniciando Uso JavaJava 02 Iniciando Uso Java
Java 02 Iniciando Uso JavaRegis Magalhães
 
Curso de Java (Parte 1)
Curso de Java (Parte 1)Curso de Java (Parte 1)
Curso de Java (Parte 1)Mario Sergio
 
001 cesep - turma java
001   cesep - turma java001   cesep - turma java
001 cesep - turma javaJunior Souza
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoMarconi Rodrigues
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHPAugusto Pascutti
 

Mais procurados (20)

Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Aula05
Aula05Aula05
Aula05
 
Java 01
Java 01Java 01
Java 01
 
Introdução ao Java
Introdução ao JavaIntrodução ao Java
Introdução ao Java
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Java 02 Iniciando Uso Java
Java 02 Iniciando Uso JavaJava 02 Iniciando Uso Java
Java 02 Iniciando Uso Java
 
Erros comuns em java
Erros comuns em javaErros comuns em java
Erros comuns em java
 
Java
JavaJava
Java
 
Curso de Java (Parte 1)
Curso de Java (Parte 1)Curso de Java (Parte 1)
Curso de Java (Parte 1)
 
001 cesep - turma java
001   cesep - turma java001   cesep - turma java
001 cesep - turma java
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Cap10
Cap10Cap10
Cap10
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
 

Destaque

SocialMedia Week_ 25 Abril-2 Mayo 2013
SocialMedia Week_ 25 Abril-2 Mayo 2013SocialMedia Week_ 25 Abril-2 Mayo 2013
SocialMedia Week_ 25 Abril-2 Mayo 2013Danipuertas
 
Descripcion base de datos.
Descripcion base de datos.Descripcion base de datos.
Descripcion base de datos.Meli Landeros
 
Proposta de-anteprojeto-na gs-24-11
Proposta de-anteprojeto-na gs-24-11Proposta de-anteprojeto-na gs-24-11
Proposta de-anteprojeto-na gs-24-11Concursos_AM
 
Manual alimentacao inteligente
Manual alimentacao inteligenteManual alimentacao inteligente
Manual alimentacao inteligentemiguita123
 
★ Apartamento 2 e 3 quartos Vila da Penha (21) 8791-3010
★ Apartamento 2 e 3 quartos Vila da Penha (21) 8791-3010★ Apartamento 2 e 3 quartos Vila da Penha (21) 8791-3010
★ Apartamento 2 e 3 quartos Vila da Penha (21) 8791-3010Equipe Moises Chatah
 

Destaque (9)

SocialMedia Week_ 25 Abril-2 Mayo 2013
SocialMedia Week_ 25 Abril-2 Mayo 2013SocialMedia Week_ 25 Abril-2 Mayo 2013
SocialMedia Week_ 25 Abril-2 Mayo 2013
 
Descripcion base de datos.
Descripcion base de datos.Descripcion base de datos.
Descripcion base de datos.
 
Teoria e metodologia
Teoria e metodologiaTeoria e metodologia
Teoria e metodologia
 
Proposta de-anteprojeto-na gs-24-11
Proposta de-anteprojeto-na gs-24-11Proposta de-anteprojeto-na gs-24-11
Proposta de-anteprojeto-na gs-24-11
 
Manual alimentacao inteligente
Manual alimentacao inteligenteManual alimentacao inteligente
Manual alimentacao inteligente
 
HTS Picture
HTS PictureHTS Picture
HTS Picture
 
Imperio romano 3 octubre
Imperio romano 3 octubreImperio romano 3 octubre
Imperio romano 3 octubre
 
★ Apartamento 2 e 3 quartos Vila da Penha (21) 8791-3010
★ Apartamento 2 e 3 quartos Vila da Penha (21) 8791-3010★ Apartamento 2 e 3 quartos Vila da Penha (21) 8791-3010
★ Apartamento 2 e 3 quartos Vila da Penha (21) 8791-3010
 
Lucha ideologica
Lucha ideologicaLucha ideologica
Lucha ideologica
 

Semelhante a Introdução à Programação Orientada a Objetos em Java

Semelhante a Introdução à Programação Orientada a Objetos em Java (20)

Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
Java primeiros-passos
Java primeiros-passosJava primeiros-passos
Java primeiros-passos
 
java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
 
Poo
PooPoo
Poo
 
Pacotes
PacotesPacotes
Pacotes
 
07 construtores e finalize
07   construtores e finalize07   construtores e finalize
07 construtores e finalize
 
JAVA - Pacotes
JAVA - PacotesJAVA - Pacotes
JAVA - Pacotes
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Aula5
Aula5Aula5
Aula5
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
Prototype1 - thiago
Prototype1 - thiagoPrototype1 - thiago
Prototype1 - thiago
 
3- POO
3- POO3- POO
3- POO
 
Poo
PooPoo
Poo
 
Linguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação JavaLinguagem Java- Iniciação à programação Java
Linguagem Java- Iniciação à programação Java
 
C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015C# 6.0 - Interopmix 2015
C# 6.0 - Interopmix 2015
 
Java11
Java11Java11
Java11
 
C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015C# 6.0 - DotNetBaixada - Novembro/2015
C# 6.0 - DotNetBaixada - Novembro/2015
 
Java7
Java7Java7
Java7
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 

Introdução à Programação Orientada a Objetos em Java

  • 1. 11/04/2014 1 Programação Orientada a Objetos Fundamentos de Java Introdução ao JAVA • Existem diversas LP’s para POO então por que Java? – Java é obrigatoriamente OO • Todos os métodos e variáveis estão dentro de uma classe – Java é simples • Segue a organização de LP’s tradicionais como o C. Seguindo recomendações básicas, o compilador será capaz de compilar todas as classes necessárias para sua aplicação funcionar 2 Introdução ao JAVA – Java é portátil • Seu código-fonte pode ser compilado e as classes geradas podem ser executadas em qualquer computador com qualquer SO desde que tenha uma JVM adequada instalada – Java e gratuita • JVM’s estão disponíveis para serem instaladas e existe um pacote de ferramentas do JDK com compilador para linha de comando (javac) 3 Introdução ao JAVA – Java é robusta • Administração de memória e uso de ponteiros são controlados internamente na linguagem (diferente de C, por exemplo) • Também conta com um poderoso mecanismo de tratamento de ecxeções viabilizando um melhor controle de erros em tempo de execução 4 Introdução ao JAVA • Sintaxe básica (regras) – Uma classe é sempre declarada com a palavra-chave class seguida do nome da classe – O nome da classe não pode ter espaços – Sempre iniciado por letra – Não podem ter acentos – Podem ter números – Não pode ser exatamente igual a alguma palavra reservada 5 Introdução ao JAVA • Sintaxe básica (regras) – Há diferenciação entre caracteres MAIÚSCULOS e minúsculos: • Class, CLASS, ClAsS e class são consideradas diferentes • Apenas a última palavra é reconhecida como declarante de uma classe – O conteúdo de uma classe é delimitado por chaves ({ e }), blocos de códigos também! 6
  • 2. 11/04/2014 2 Introdução ao JAVA • Sintaxe básica (regras) – Não existem regras para o espaçamento vertical ou a indexação – A boa utilização desses espaços torna o código mais legível – Por convenção, nomes de classes tem a primeira letra de cada palavra maiúscula: • ContaBancaria, Lampada, CarroDeLuxo 7 Introdução ao JAVA • Sintaxe básica (regras) – O código de uma classe é criado em um arquivo texto nomeado com o nome da classe e possui a extensão .java • Uma classe Lampada tem seu código no arquivo Lampada.java – Os arquivos compilados do Java possuem a extensão .class – Um arquivo fonte em Java deve conter no máximo uma classe pública, ou seja, o arquivo pode conter 0 ou 1 classe pública – Caso exista uma classe pública, então, o nome do arquivo deve ser igual ao nome da classe pública 8 Introdução ao JAVA • Comentários em JAVA – Comentários de uma linha // linha comentada – Comentário em bloco (necessita fechamento) /* bloco comentado */ –Comentário para documentação /** comentário */ • Uso com a ferramenta javadoc 9 Introdução ao JAVA • Toda aplicação Java é composta por um conjunto de classes declaradas em diferentes arquivos • A classe é a unidade fundamental de um sistema em Java • Para que essa aplicação seja executável, uma das classes da aplicação deve conter o método main 10 O método main • O método main( ) é o ponto natural de entrada de uma aplicação Java • Para que uma aplicação seja executável, uma das classes da aplicação deve conter o método main • O assinatura desse método é: public static void main(String[ ] args) • As seguintes variações também são válidas: static public void main(String[ ] args) public static void main(String args[ ]) 11 O método main • A varíavel args é um array que armazena os argumentos de entrada passados pelo usuário para a aplicação • O nome args é arbitrário, portanto, pode ser susbtituído por qualquer outro identificador de variável válido • Exemplo: public static void main(String[ ] x) 12
  • 3. 11/04/2014 3 Alô mundo! 13 /* essa é uma forma de comentar múltiplas linhas */ // esse é um comentário de uma única linha public class AloMundo { // o método main inicia a execução da aplicação Java public static void main(String[] args) { System.out.println("Alô mundo"); }// fim do método main }// fim da classe Declaração de Atributos • A sintaxe básica para a declaração de um atributo é: <modificador> <tipo> <nome_do_atributo>; – O modificador é opcional • Exemplos: private int ra; public String nome; Conta c; 14 Inicialização de atributos 15 • Podem ser inicializados no momento da declaração – public int idade = 1; • Existem valores default para a inicialização de atributos caso os mesmos não sejam inicializados Valores predefinidos de inicialização de variáveis em Java Declaração de métodos <modificador> <tipo_de_retorno> <nome_do_método> (<lista_de_argumentos>) { <instruções> } • O modificador, a lista de argumentos e as instruções são partes opcionais • A lista de argumentos é formada por pares, separados por vírgula: <tipo><nome_do_argumento> 16 Exemplo de Métodos • Métodos: – Exemplo: 17 public class Aluno { int matricula; public int obterMatricula() { return matricula; } public void alterarMatricula(int matr) { this.matricula = matr; } } Método sem argumentos, que retorna um int Método com argumentos, que não retorna nada Atenção: this é referência para o objeto corrente Construtores • Objetos são criados por meio da execução de um dos seus construtores • O nome do construtor deve ser idêntico ao nome da classe • Os construtores devem ser declarados sem nenhum tipo de retorno – Exemplo: public Aluno() { } • É permitido (embora não aconselhável) que um método tenha o mesmo nome da classe. Nesse caso, se existir um tipo de retorno, trata-se de um método comum e não de um construtor 18
  • 4. 11/04/2014 4 Construtores • Construtores podem usar qualquer modificador de acesso, incluindo private • Os construtores são comumente utilizados para definir valores para os atributos da classe • Métodos construtores definidos para uma certa classe podem ou não possuir argumentos • O construtor sem argumentos ou construtor vazio é considerado o construtor default • Se nenhum construtor for implementado na classe, o compilador gerará automaticamente o construtor padrão (default), que não possui argumentos 19 Construtores • Se qualquer outro construtor (com argumentos) existir na classe e você quiser usar um construtor sem argumentos, você deverá criá-lo manualmente • Sendo assim, em Java, o construtor default é criado automaticamente pelo compilador se e somente se não existir nenhum outro construtor definido para a classe • Isso significa que o construtor default pode ser omitido na declaração de uma classe caso ela não possua um construtor com argumentos • Se a classe possuir um construtor com argumentos, é fortemente recomendado que o construtor default seja declarado explicitamente 20 Declaração de construtores • A sintaxe básica para a declaração de um construtor é: <modificador><nome_da_classe>(<lista_de_argumentos>) { <instruções> } – O modificador, a lista de argumentos e as instruções são partes opcionais – A lista de argumentos é formada por pares <tipo><nome_do_argumento> – Um construtor não possui tipo de retorno 21 Construtores 22 • Se não for implementado um método construtor, o compilador gera automaticamente um construtor padrão (default) sem argumentos • Exemplo: public class Conta { private double saldo; public Conta ( ) { } public Conta (double saldo) { this.saldo = saldo; } } Construtor default sem argumentos Construtor com argumento Atenção: Os construtores normalmente inicializam os atributos da classe. Referência this 23 • A palavra-chave this é uma referência para o objeto corrente • this pode ser usado para: – referenciar um atributo ou método de uma classe dentro de um construtor ou de método da mesma; – passar o objeto corrente como um parâmetro para outro método ou construtor. Criação de um objeto • Todo objeto em um programa ou aplicação é criado em tempo de execução, utilizado e destruído • Em Java, a palavra-chave new é usada em conjunto com um dos construtores da classe para criar um novo objeto como uma instância de uma classe específica, retornando como resultado uma referência para o objeto criado 24
  • 5. 11/04/2014 5 Criação de um objeto • Sintaxe básica: new <nome_da_classe> ([lista_de_argumentos]) • A palavra new é sucedida pela chamada do construtor da classe – O corpo (ou código) do método construtor determina as ações associadas à inicialização de cada objeto criado • Um construtor só é invocado com a criação de um objeto 25 Exemplo de criação de um objeto 26 public class Programa { public static void main (String[] args) { Conta c1 = new Conta( ); c1.creditar(10.0); System.out.println(c1.obterSaldo()); Conta c2 = new Conta(50.0); c2.creditar(10.0); System.out.println(c2.obterSaldo()); } } Chamada do construtor padrão Chamada do construtor com um argumento Atenção: c1 e c2 são objetos distintos e independentes Acesso aos membros de uma classe • Os atributos e métodos também são chamados de membros de uma classe. • Em Java, a seguinte sintaxe é utilizada para se ter acesso aos membros da classe: <ref_objeto>.<membro> ou <classe>.<membro> 27 Convenções do Java • Para aumentar a legibilidade dos códigos desenvolvidos em Java, algumas convenções são adotadas • As convenções de código providas pela Sun e amplamente seguidas podem ser encontradas em: – http://www.oracle.com/technetwork/java/codeconv- 138413.html – http://www.oracle.com/technetwork/java/codeconvtoc- 136057.html 28 Convenções para nomes • Classes e Interfaces: – Nomes de classes devem ser escritos com a primeira letra maiúscula e as demais minúsculas – a primeira letra de palavras subsequentes também deve ser maiúscula. – Exemplos: Cliente ClienteEspecial 29 Convenções para nomes • Variáveis e Métodos: – Nomes de variáveis e métodos devem ser escritos com letras minúsculas – sendo a primeira letra de palavras subsequentes maiúscula – Exemplos de nomes de métodos: adicionarCliente remover 30
  • 6. 11/04/2014 6 Introdução ao JAVA • Palavras reservadas da linguagem – As palavras abaixo tem significado especial para o compilador 31 Identificadores • Campos são declarados dentro do corpo da classe – Parte do código entre as chaves { e } 32 public class Pessoa { int idade; String nome; ... ... } Identificadores • Regras para declaração de campos – Quase todas as mesmas para declaração de nomes de classes • Iniciados por letra ( incluindo _ e $ ), sem espaços (ou virgulas etc.), podendo ter números • Podem ter acentos (CUIDADO! Case sensitive) • Não pode ser igual a nenhuma palavra reservada 33 Identificadores • Exemplos de identificadores válidos: – $nome – nome – primeiroNome – nome1 – _nome • Identificadores são case sensitive, portanto, – Nome ≠ nome 34 Identificadores • Regras para declaração de campos – Se campos forem do mesmo tipo, estes podem ser declarados em uma única linha: • boolean campo1, campo2, campo3; – Observar a clareza do código – Um campo que é instancia de uma classe precisa ter a inicialização da referência através da palavra-chave new • Aluno a = new Aluno(); – Dois campos da mesma classe não podem ter o mesmo nome 35 Introdução ao JAVA • Tipos primitivos em Java são dados nativos da linguagem • boolean: representa valores lógicos – Assume apenas dois valores true(verdadeiro) ou false (falso) – São usados especialmente para representar estados 36
  • 7. 11/04/2014 7 Introdução ao JAVA • Existem quatro tipos numéricos para representar valores inteiros • byte: representa valores entre -128 e 127 – Ocupa apenas um byte de memória • short: usado para valores entre -32768 e 32767 – Ocupa dois bytes de memória 37 Introdução ao JAVA • int: representa valores entre -2147483648 a 2147483647 – Ocupa quatro bytes de memória • long: usado para valores entre -9223372036854775808 e 9223372036854775807 – Ocupa oito bytes de memória 38 Introdução ao JAVA • O tipo char – Tipo numérico que é usado para representar caracteres Unicode entre 0 e 65535 – Usa dois bytes para representação – Caracteres são representados entre aspas simples • ‘a’ – Operações matemáticas também podem ser efetuadas usando o campo char 39 Introdução ao JAVA • Valores numéricos de ponto flutuante – float: para valores de precisão simples entre 1.40129846432481707e-45 e 3.40282346638528860e+38 (usa 4 bytes de memória) – double: para valores de precisão dupla entre 4.94065645841246544e-324 e 1.79769313486231570e+308 (usa 8 bytes) 40 Introdução ao JAVA • A classe String (breve) – Usada para representar cadeias de caracteres (palavras, frases, textos etc.) – Não é um dado nativo! – De uso simples e intuitivo • Por isso usamos de forma similar aos tipos primitivos • Detalhes sobre essa classe serão dados mais a frente 41 Recomendação de leitura • Capítulo 3 - Orientação a Objetos – Orientação a Objetos em Java – K19 Treinamentos – http://www.k19.com.br/downloads/apostilas-java • Capítulo 4 - Orientação a objetos básica – FJ-11: Java e Orientação a Objetos. – Caelum Ensino e Inovação. – http://www.caelum.com.br/curso/fj-11-java- orientacaoobjetos/ • Complete Java 2 Certification - Study Guide. Sybex 42