SlideShare uma empresa Scribd logo
Programação Orientada a Objetos



    Fundamentos da Linguagem
   Java e da Orientação a Objetos



          Ludimila Monjardim Casagrande
                      2012
Tópicos da Aula

     Fundamentos da linguagem Java:
           Arquivos
           Comentários
           Convenções de codificação
           Palavras-chave
           Identificadores
           Tipos primitivos
           Sintaxe para a declaração de:
                 Classes, atributos, métodos e construtores.

Fundamentos do Java             ©2012 Ludimila Monjardim Casagrande   2
Arquivos em Java

     Todo arquivo fonte em Java termina com a extensão
        .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.


Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande   3
Comentários em Java

     Java suporta três estilos de comentários:
           Para comentar uma linha:
                 usa-se os caracteres //
           Para comentar várias linhas:
                 usa-se os caracteres /* e */
           Para comentar linhas que fazem parte da
            documentação da classe:
                 usa-se os caracteres /** e */


Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande   4
Primeiro Aplicativo Java
    1. /* essa é uma forma de comentar
          múltiplas linhas */
    2. // esse é um comentário de uma única linha
    3. public class PrimeiraClasse {
    4.      // o método main inicia a execução da aplicação Java
    5.     public static void main (String[] args) {
    6.          System.out.println(“Minha primeira classe.”);
    7.      } // fim do método main
    8. } // fim da classe

Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande   5
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 ou
           http://www.oracle.com/technetwork/java/codeconvtoc-
            136057.html


Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande    6
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



Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande   7
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




Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande   8
Palavras-chave do Java

       Palavras-chave e palavras reservadas do Java:




       As palavras-chave goto e const são reservadas, embora não tenham
        significado em Java. Portanto, programas não podem usá-las como
                                  identificadores.
Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande            9
Identificadores

     Um identificador é um nome usado para
        identificar uma variável, um método, uma classe
        ou uma constante.
     Palavras-chave ou reservadas não podem ser
        usadas como identificadores.
     Um identificador pode começar com uma letra,
        com o caracter $ ou com um underscore _,
        seguidos por letras, underscores, caracteres $,
        ou dígitos.

Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande   10
Identificadores

     Exemplos de identificadores válidos:
           $nome
           nome
           primeiroNome
           nome1
           _nome
     Identificadores são case sensitive, portanto,
        Nome ≠ nome.

Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande   11
Tipos Primitivos do Java

     Os tipos primitivos da linguagem Java são:
           boolean
           char
           byte
           short
           int
           long
           float
           double


Fundamentos do Java   ©2012 Ludimila Monjardim Casagrande   12
Tipos Primitivos do Java

     Tipos primitivos da linguagem Java e seus
        respectivos tamanhos em bits:




Fundamentos do Java   ©2012 Ludimila Monjardim Casagrande   13
Tipos Primitivos do Java

     Variáveis do tipo boolean só podem receber os
        valores true e false.
     Os tipos inteiros são: byte, short, int e long.
        Todos com sinal.
     Os tipos ponto-flutuante são: float e double.
     O tipo char é inteiro porém sem sinal. Sendo
        assim, o intervalo de valores do char é de 0 a 216
        -1  0 a 65535.


Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande   14
Intervalos de Valores

      Intervalos de valores dos tipos primitivos inteiros
           do Java:


       *

       *




           * byte: -128 a 127 e short: -32768 a 32767, por exemplo

Fundamentos do Java               ©2012 Ludimila Monjardim Casagrande   15
Intervalos de Valores

     Variáveis do tipo char usam o esquema de
        codificação Unicode, que corresponde a todos os
        caracteres ASCII + caracteres especiais.
     Como char ocupa 2 bytes (16 bits), pode representar
        até 65.536 caracteres (atualmente cerca de 35.000
        são usados). Isso faz com que a linguagem possa
        representar todos os caracteres em todos os idiomas
        escritos no planeta.
     A tabela ASCII estendida utiliza somente 8 bits (≈
        capacidade para representar apenas 256 caracteres).

Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande    16
Estrutura de uma Classe

                                    <modificador> class <nome_da_classe> {

                                        [<declaração_dos_atributos>]

                                        [<declaração_dos_construtores>]

Estrutura básica de uma classe          [<declaração_dos_métodos>]
            em UML
                                    }
                                             Estrutura básica de uma classe em
                                                            Java




Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande                 17
Estrutura de uma Classe - Exemplo
  public class Contador {

       public int contador;                          Atributo e tipo do atributo
       public Contador( ) {
         this.contador = 0;                          Construtor default
       }

       public void incrementa( ) {
         this.contador++;
       }                                                     Métodos

       public void decrementa( ) {
         this.contador--;
       }
  }                   this  referência para o objeto corrente
Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande                  18
Representações de uma Classe

                                   public class Conta {
                                       private double saldo;
                                       public void creditar (double valor) {
                                           saldo = saldo + valor;
    Representação usando UML
                                       }
    Nota:                              public void debitar (double valor) {
    - private                              saldo = saldo - valor;
    + public
    ~ default                          }
    # protected                    }
                                               Representação usando Java


Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande                  19
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;

Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande   20
Inicialização de Atributos

     No momento de sua declaração os atributos
        também podem ser inicializados.

     Exemplos:
           public int idade = 1;
           private double resultado = 10.0;
           String nome = “Java”;
           protected Conta c = null;



Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande   21
Inicialização de Atributos

      Em Java, caso os atributos não sejam
         explicitamente inicializados na sua declaração,
         eles serão automaticamente inicializados com
         um valor predeterminado de acordo com o seu
         tipo.
      Exemplos de valores iniciais conforme o tipo:
            int  0
            boolean  false
            double  0.0
            referência a um objeto  null
Fundamentos do Java         ©2012 Ludimila Monjardim Casagrande   22
Valores Default

       Valores predefinidos de inicialização de
           variáveis de classe em Java:

         Tipo           Valor Inicial                     Tipo           Valor Inicial
         byte                0                            short               0
         int                 0                            long                0
         float              0.0                           double             0.0
         char            'u0000'                         boolean           false
         referência a
                            null
         objeto


Fundamentos do Java                ©2012 Ludimila Monjardim Casagrande                   23
Declaração de Métodos

      A sintaxe básica para a declaração de um
         método é:
           <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>

Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande      24
Exemplos de Métodos

  public class Aluno {
       int matricula;
       public int obterMatricula( ) {                        Método sem argumentos,
         return matricula;                                   que retorna um int
       }
       public void alterarMatricula                              Método com argumentos,
                         (int matricula) {                       que não retorna nada
         this.matricula = matricula;
       }
  }
                      this  referência para o objeto corrente
Fundamentos do Java            ©2012 Ludimila Monjardim Casagrande                    25
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.
Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande   26
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.
Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande   27
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.

Fundamentos do Java      ©2012 Ludimila Monjardim Casagrande        28
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

Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande      29
Exemplos de Construtores
   public class Conta {
        private double saldo;
        public Conta ( ) {                               Construtor default
        }
        public Conta (double saldo) {                          Construtor com
           this.saldo = saldo;
                                                               um argumento
        }
        public void creditar (double valor) {
           saldo = saldo + valor;
        }
        public void debitar (double valor) {
           saldo = saldo - valor;
        }                                                Os construtores normalmente
        public double obterSaldo ( ) {                   inicializam os atributos da
           return saldo;                                 classe.
        }
   }
Fundamentos do Java             ©2012 Ludimila Monjardim Casagrande                    30
A Referência this

     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.




Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande   31
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 para
        criar um novo objeto como uma instância de uma
        classe específica, retornando como resultado
        uma referência para o objeto criado.




Fundamentos do Java   ©2012 Ludimila Monjardim Casagrande   32
Criação de um Objeto

      A sintaxe para criação de um objeto é:
             new <nome_da_classe> ([lista_de_argumentos])

      Observe que a palavra-chave new é sucedida
         pela chamada de um 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 quando um objeto
         é criado.

Fundamentos do Java      ©2012 Ludimila Monjardim Casagrande   33
Exemplo de Criação de um Objeto
     public class Principal {
         public static void main (String[] args) {
             Conta c1 = new Conta( );                               Chamada do construtor
                                                                    default
             c1.creditar(10.0);
             System.out.println(c1.obterSaldo());
             Conta c2 = new Conta(50.0);                        Chamada do construtor
                                                                com um argumento
             c2.creditar(10.0);
             System.out.println(c2.obterSaldo());
         }                                                      c1 e c2 são objetos
                                                                distintos e independentes
     }
Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande                           34
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:
          <objeto>.<membro>              ou       <classe>.<membro>
     Exemplos:
           c1.creditar(10.0);
           aluno1.matricula;
           System.out;

Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande         35
Leituras Recomendadas

     FJ-11: Java e Orientação a Objetos.
        Caelum Ensino e Soluções em Java.
        http://www.caelum.com.br/curso/fj-11-java-orientacao-objetos/

     Complete Java 2 Certification - Study Guide.
        Sybex.

     Java: Como Programar.
        Autores: H. M. Deitel e P. J. Deitel.
        Editora: Pearson – 6ª Edição.


Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande        36

Mais conteúdo relacionado

PDF
POO - 01 - Introdução ao Paradigma Orientado a Objetos
PDF
POO - 10 - Herança
PDF
Aula 2 - POO: Fundamentos da linguagem Java
PDF
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
PDF
POO - 17 - Interfaces
PPTX
Introdução a Linguagem de Programação PHP
PDF
POO - 06 - Encapsulamento
PDF
Orientação a Objetos em Python
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 10 - Herança
Aula 2 - POO: Fundamentos da linguagem Java
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - 17 - Interfaces
Introdução a Linguagem de Programação PHP
POO - 06 - Encapsulamento
Orientação a Objetos em Python

Mais procurados (20)

PDF
Programação Orientada a Objetos
PDF
POO - 16 - Polimorfismo
PDF
Aula 1 - Introdução a POO
PPTX
TDD - Test Driven Development
PPTX
This pointer
PDF
POO - 14 - Vetores
PPTX
Java: Heranca e polimorfismo
PDF
Diagrama classes
PDF
POO - 11 - Prática de Herança
PPT
Aula 5 encapsulamento, associação, polimorfismo, interfaces
PPT
Java básico - Módulo 04: Estruturas de controle
PPTX
Programação orientada a objetos
PPT
Aula 3 introducao a orientação a objetos
PPTX
Structure in C language
PDF
Programação Orientação a Objetos - Herança
PDF
Encapsulamento em Orientação a Objetos
PPTX
PPT
Abstract class in java
PPTX
Exception handling in JAVA
PPT
Operator overloading in C++
Programação Orientada a Objetos
POO - 16 - Polimorfismo
Aula 1 - Introdução a POO
TDD - Test Driven Development
This pointer
POO - 14 - Vetores
Java: Heranca e polimorfismo
Diagrama classes
POO - 11 - Prática de Herança
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Java básico - Módulo 04: Estruturas de controle
Programação orientada a objetos
Aula 3 introducao a orientação a objetos
Structure in C language
Programação Orientação a Objetos - Herança
Encapsulamento em Orientação a Objetos
Abstract class in java
Exception handling in JAVA
Operator overloading in C++
Anúncio

Destaque (20)

PDF
POO - 24 - Classes Básicas do Java - Datas
PDF
POO - Aula 04 - Introdução a classes e objetos
PDF
POO - Aula 07 - Construtores e Atributos de Classe
PDF
Aula 02 - Principios da Orientação a Objetos (POO)
PPTX
JAVA - Orientação a Objetos
PPTX
Programação Orientada a Objetos com Java
PDF
POO - Aula 05 - Referências e Vetores
PDF
POO - 15 - Passagem de Argumentos
PDF
Declarações e Controle de Acesso
PDF
Programacao em java
PDF
POO - 13 - Arrays em Java
ODP
3 orientacao-objetos
DOC
Exercicio classes
PDF
Lod law of demeter
PDF
Exercícios de programação orientado a objeto
PPT
Padrões de design orientado a objetos
ODP
Orientação a Objetos (2)
PPT
Tutorial javac
DOCX
Exercicios professor marcos monteiro (1)
POO - 24 - Classes Básicas do Java - Datas
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 07 - Construtores e Atributos de Classe
Aula 02 - Principios da Orientação a Objetos (POO)
JAVA - Orientação a Objetos
Programação Orientada a Objetos com Java
POO - Aula 05 - Referências e Vetores
POO - 15 - Passagem de Argumentos
Declarações e Controle de Acesso
Programacao em java
POO - 13 - Arrays em Java
3 orientacao-objetos
Exercicio classes
Lod law of demeter
Exercícios de programação orientado a objeto
Padrões de design orientado a objetos
Orientação a Objetos (2)
Tutorial javac
Exercicios professor marcos monteiro (1)
Anúncio

Semelhante a POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos (20)

PDF
POO - 20 - Wrapper Classes
PDF
POO - 07 - Operadores do Java
PPTX
Curso Java Básico - Aula 01
PDF
POO - 04 - Variávies em Java
PDF
Programação orientada a objetos – III
PDF
POO - 05 - Ambiente de Desenvolvimento
PPT
Aula2
PDF
03 fundamentos java
PDF
Java e orientação a objetos - aula 01
PDF
7194099-Manual-de-Java
PPTX
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
PDF
Linguagem de Programação Java para Iniciantes
PDF
Java sintaxe
PPTX
Curso de Java Capítulo 2 - Aprendendo Novas Técnicas
PDF
Curso de java 02
KEY
Introdução a java
ODP
Java - Básico
ODT
Guia Rápido Java
PDF
POO - 09 - Entradas e Saídas em Java
POO - 20 - Wrapper Classes
POO - 07 - Operadores do Java
Curso Java Básico - Aula 01
POO - 04 - Variávies em Java
Programação orientada a objetos – III
POO - 05 - Ambiente de Desenvolvimento
Aula2
03 fundamentos java
Java e orientação a objetos - aula 01
7194099-Manual-de-Java
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Linguagem de Programação Java para Iniciantes
Java sintaxe
Curso de Java Capítulo 2 - Aprendendo Novas Técnicas
Curso de java 02
Introdução a java
Java - Básico
Guia Rápido Java
POO - 09 - Entradas e Saídas em Java

Mais de Ludimila Monjardim Casagrande (9)

PDF
Gerenciamento Ágil de Projetos com Scrum
PDF
POO - 23 - Coleções da API do Java
PDF
POO - 22 - Tratamento de Exceções em Java
PDF
POO - 21 - Java e Banco de Dados
PDF
POO - 19 - Elementos Estáticos
PDF
POO - 18 - Sobrecarga e Sobreposição de Métodos
PDF
POO - 12 - A Classe Object
PDF
POO - 08 - Prática de Encapsulamento
PDF
POO - 03 - Alocação de Memória em Java
Gerenciamento Ágil de Projetos com Scrum
POO - 23 - Coleções da API do Java
POO - 22 - Tratamento de Exceções em Java
POO - 21 - Java e Banco de Dados
POO - 19 - Elementos Estáticos
POO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 12 - A Classe Object
POO - 08 - Prática de Encapsulamento
POO - 03 - Alocação de Memória em Java

Último (20)

PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Émile Durkheim slide elaborado muito bom
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Aula sobre desenvolvimento de aplicativos
PPTX
Aula sobre banco de dados com firebase db
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Émile Durkheim slide elaborado muito bom
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula 18 - Manipulacao De Arquivos python
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Custos e liquidação no SAP Transportation Management, TM130 Col18
Curso de Java 9 - (Threads) Multitarefas.pptx
Processos na gestão de transportes, TM100 Col18
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
COBITxITIL-Entenda as diferença em uso governança TI
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Aula sobre desenvolvimento de aplicativos
Aula sobre banco de dados com firebase db

POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos

  • 1. Programação Orientada a Objetos Fundamentos da Linguagem Java e da Orientação a Objetos Ludimila Monjardim Casagrande 2012
  • 2. Tópicos da Aula  Fundamentos da linguagem Java:  Arquivos  Comentários  Convenções de codificação  Palavras-chave  Identificadores  Tipos primitivos  Sintaxe para a declaração de:  Classes, atributos, métodos e construtores. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 2
  • 3. Arquivos em Java  Todo arquivo fonte em Java termina com a extensão .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. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 3
  • 4. Comentários em Java  Java suporta três estilos de comentários:  Para comentar uma linha:  usa-se os caracteres //  Para comentar várias linhas:  usa-se os caracteres /* e */  Para comentar linhas que fazem parte da documentação da classe:  usa-se os caracteres /** e */ Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 4
  • 5. Primeiro Aplicativo Java 1. /* essa é uma forma de comentar múltiplas linhas */ 2. // esse é um comentário de uma única linha 3. public class PrimeiraClasse { 4. // o método main inicia a execução da aplicação Java 5. public static void main (String[] args) { 6. System.out.println(“Minha primeira classe.”); 7. } // fim do método main 8. } // fim da classe Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 5
  • 6. 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 ou  http://www.oracle.com/technetwork/java/codeconvtoc- 136057.html Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 6
  • 7. 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 Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 7
  • 8. 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 Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 8
  • 9. Palavras-chave do Java  Palavras-chave e palavras reservadas do Java: As palavras-chave goto e const são reservadas, embora não tenham significado em Java. Portanto, programas não podem usá-las como identificadores. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 9
  • 10. Identificadores  Um identificador é um nome usado para identificar uma variável, um método, uma classe ou uma constante.  Palavras-chave ou reservadas não podem ser usadas como identificadores.  Um identificador pode começar com uma letra, com o caracter $ ou com um underscore _, seguidos por letras, underscores, caracteres $, ou dígitos. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 10
  • 11. Identificadores  Exemplos de identificadores válidos:  $nome  nome  primeiroNome  nome1  _nome  Identificadores são case sensitive, portanto, Nome ≠ nome. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 11
  • 12. Tipos Primitivos do Java  Os tipos primitivos da linguagem Java são:  boolean  char  byte  short  int  long  float  double Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 12
  • 13. Tipos Primitivos do Java  Tipos primitivos da linguagem Java e seus respectivos tamanhos em bits: Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 13
  • 14. Tipos Primitivos do Java  Variáveis do tipo boolean só podem receber os valores true e false.  Os tipos inteiros são: byte, short, int e long. Todos com sinal.  Os tipos ponto-flutuante são: float e double.  O tipo char é inteiro porém sem sinal. Sendo assim, o intervalo de valores do char é de 0 a 216 -1  0 a 65535. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 14
  • 15. Intervalos de Valores  Intervalos de valores dos tipos primitivos inteiros do Java: * * * byte: -128 a 127 e short: -32768 a 32767, por exemplo Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 15
  • 16. Intervalos de Valores  Variáveis do tipo char usam o esquema de codificação Unicode, que corresponde a todos os caracteres ASCII + caracteres especiais.  Como char ocupa 2 bytes (16 bits), pode representar até 65.536 caracteres (atualmente cerca de 35.000 são usados). Isso faz com que a linguagem possa representar todos os caracteres em todos os idiomas escritos no planeta.  A tabela ASCII estendida utiliza somente 8 bits (≈ capacidade para representar apenas 256 caracteres). Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 16
  • 17. Estrutura de uma Classe <modificador> class <nome_da_classe> { [<declaração_dos_atributos>] [<declaração_dos_construtores>] Estrutura básica de uma classe [<declaração_dos_métodos>] em UML } Estrutura básica de uma classe em Java Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 17
  • 18. Estrutura de uma Classe - Exemplo public class Contador { public int contador; Atributo e tipo do atributo public Contador( ) { this.contador = 0; Construtor default } public void incrementa( ) { this.contador++; } Métodos public void decrementa( ) { this.contador--; } } this  referência para o objeto corrente Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 18
  • 19. Representações de uma Classe public class Conta { private double saldo; public void creditar (double valor) { saldo = saldo + valor; Representação usando UML } Nota: public void debitar (double valor) { - private saldo = saldo - valor; + public ~ default } # protected } Representação usando Java Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 19
  • 20. 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; Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 20
  • 21. Inicialização de Atributos  No momento de sua declaração os atributos também podem ser inicializados.  Exemplos:  public int idade = 1;  private double resultado = 10.0;  String nome = “Java”;  protected Conta c = null; Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 21
  • 22. Inicialização de Atributos  Em Java, caso os atributos não sejam explicitamente inicializados na sua declaração, eles serão automaticamente inicializados com um valor predeterminado de acordo com o seu tipo.  Exemplos de valores iniciais conforme o tipo:  int  0  boolean  false  double  0.0  referência a um objeto  null Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 22
  • 23. Valores Default  Valores predefinidos de inicialização de variáveis de classe em Java: Tipo Valor Inicial Tipo Valor Inicial byte 0 short 0 int 0 long 0 float 0.0 double 0.0 char 'u0000' boolean false referência a null objeto Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 23
  • 24. Declaração de Métodos  A sintaxe básica para a declaração de um método é: <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> Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 24
  • 25. Exemplos de Métodos public class Aluno { int matricula; public int obterMatricula( ) { Método sem argumentos, return matricula; que retorna um int } public void alterarMatricula Método com argumentos, (int matricula) { que não retorna nada this.matricula = matricula; } } this  referência para o objeto corrente Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 25
  • 26. 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. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 26
  • 27. 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. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 27
  • 28. 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. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 28
  • 29. 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 Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 29
  • 30. Exemplos de Construtores public class Conta { private double saldo; public Conta ( ) { Construtor default } public Conta (double saldo) { Construtor com this.saldo = saldo; um argumento } public void creditar (double valor) { saldo = saldo + valor; } public void debitar (double valor) { saldo = saldo - valor; } Os construtores normalmente public double obterSaldo ( ) { inicializam os atributos da return saldo; classe. } } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 30
  • 31. A Referência this  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. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 31
  • 32. 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 para criar um novo objeto como uma instância de uma classe específica, retornando como resultado uma referência para o objeto criado. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 32
  • 33. Criação de um Objeto  A sintaxe para criação de um objeto é: new <nome_da_classe> ([lista_de_argumentos])  Observe que a palavra-chave new é sucedida pela chamada de um 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 quando um objeto é criado. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 33
  • 34. Exemplo de Criação de um Objeto public class Principal { public static void main (String[] args) { Conta c1 = new Conta( ); Chamada do construtor default c1.creditar(10.0); System.out.println(c1.obterSaldo()); Conta c2 = new Conta(50.0); Chamada do construtor com um argumento c2.creditar(10.0); System.out.println(c2.obterSaldo()); } c1 e c2 são objetos distintos e independentes } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 34
  • 35. 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: <objeto>.<membro> ou <classe>.<membro>  Exemplos:  c1.creditar(10.0);  aluno1.matricula;  System.out; Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 35
  • 36. Leituras Recomendadas  FJ-11: Java e Orientação a Objetos. Caelum Ensino e Soluções em Java. http://www.caelum.com.br/curso/fj-11-java-orientacao-objetos/  Complete Java 2 Certification - Study Guide. Sybex.  Java: Como Programar. Autores: H. M. Deitel e P. J. Deitel. Editora: Pearson – 6ª Edição. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 36