Programação Orientada a Objetos




   Fundamentos da Linguagem Java
        Operadores, literais, estruturas de
             decisão e de controle.


             Ludimila Monjardim Casagrande
                         2012
Literais

      Um literal é um valor definido no código-fonte,
         ao contrário de um valor definido em tempo de
         execução.

      Literais podem representar strings (arrays de
         caracteres) ou tipos primitivos.

      Literais aparecem do lado direito de uma
         atribuição ou em chamadas de métodos.



Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande   2
Literais

      Literais boolean:
            Os únicos literais válidos para o tipo boolean são
             true e false.
            Exemplo:
                 boolean isEmpty = true;
                 boolean isEmpty = false;
            Uso incorreto:
                 boolean isEmpty = “true”; // erro de compilação


Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande    3
Literais

      Literais char:
            São representados entre ‘ ’.
            Um literal char pode ser qualquer caracter Unicode.
            Exemplos:
                 char c = ‘z’;
                 char c2 = ‘n’;
                 char c3 = ‘t’;
                 char c1 = ‘u0041’; // equivale ao caracter ‘A’
                 ‘u????’: substituir ???? pelos 4 dígitos hexadecimais
                 correspondentes ao caracter na tabela Unicode.

Fundamentos do Java                 ©2012 Ludimila Monjardim Casagrande    4
Literais

      Literais do tipo String:
            String não é um tipo primitivo e sim uma classe.
            A classe String pertence à package java.lang.
            Literais do tipo String são representados entre “ ”.
            Exemplo:
                 String str = “Olá!”;
            Uso incorreto:
                 String str = ‘Olá!’; // erro de compilação


Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande   5
Literais

      Literais inteiros:
            Podem ser expressos em decimal, octal e
             hexadecimal. O default é a base decimal.
            O prefixo 0 indica a base octal.
            O prefixo 0x ou 0X indica a base hexadecimal.
            Exemplos:
                 int i = 28;
                 int i = 034;
                 int i = 0x1C;
                 int i = 0X1c;

Fundamentos do Java               ©2012 Ludimila Monjardim Casagrande   6
Literais

      Literais ponto-flutuante:
            Um literal ponto-fluante deve conter casas
             decimais (ex.: 1.0) ou:
                 a letra E ou e, indicando notação científica: 4.3E+21
                 o sufixo F ou f, indicando um literal float: 1.83f
                 o sufixo D ou d, indicando um literal double: 123d

                 Um número com casas decimais sem o prefixo f ou
                 d é considerado por default double.


Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande         7
Intervalos de Valores dos Primitivos

      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   8
Considerações sobre Tipos Primitivos
  public class Primitivos {
      public static void main(String[ ] args) {
          byte b = 1;
          short s = 1;
          int i1 = 1;
          int i2 = 2147483647;
          int i3 = 2147483648;    //erro de compilação

          long l1 = 2147483648; //erro de compilação, inteiro muito longo
          long l2 = 2147483648l;

          float f1 = 1.0;         //erro de compilação
          float f2 = 1.0f;

          double d1 = 1.0;
                                                                        As demais linhas não
          double d2 = 1.0f;
                                                                        geram erros.
      }
  }
Fundamentos do Java               ©2012 Ludimila Monjardim Casagrande                          9
Operadores da Linguagem Java

      Os principais operadores da linguagem Java
         são os:
            Unários
            Aritméticos
            de Comparação
            Lógicos (ou Booleanos)
            de Atribuição
            Condicionais

Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande   10
Operador de Atribuição

      Após uma variável ser declarada, ela pode ser
         inicializada com diferentes valores. Para isso,
         usamos o operador de atribuição =.
      Exemplos:
            int x = 10;
            boolean condicao = false;
            char c = ‘A’;
            long l = 1234L;
            float f = 1.23f;
            double d = 1.23d;


Fundamentos do Java             ©2012 Ludimila Monjardim Casagrande   11
Operador de Atribuição

           A ordem de avaliação dos operandos em uma
            expressão é sempre da esquerda para a direita.
           A ordem de execução da operação de atribuição é
            sempre da direita para a esquerda.
           A avaliação dos operandos sempre antecede a
            execução das operações.
           Sendo assim, qual é o resultado do código abaixo?
           1. int[ ] a = {4, 4};                          Resultado:
           2. int b = 1;                                  a[1] = 0;
           3. a[b] = b = 0;                               então a = {4, 0}



Fundamentos do Java            ©2012 Ludimila Monjardim Casagrande           12
Operadores Unários

      Os principais operadores unários do Java
         são:
            Operadores de incremento e decremento: ++ , --

            Operadores mais e menos: + , -

            Operador de negação: !




Fundamentos do Java      ©2012 Ludimila Monjardim Casagrande   13
Operadores de Incremento e Decremento

      Os operadores para incremento e decremento
         são, respectivamente, ++ e --.
      Tais operadores podem ser usados na forma
         pós-fixada (x++) ou pré-fixada (++x).
      A diferença só existe quando o operador
         aparece em expressões. A forma pré-fixada faz
         a adição/subtração primeiro; a pós-fixada avalia
         o valor antigo, depois incrementa/decrementa a
         variável.

Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande   14
Operadores de Incremento e Decremento

      Valor inicial de x   Expressão            Valor final de y   Valor final de x


                5           y = x++;                      5               6


                5           y = ++x;                      6               6


                5           y = x--;                      5               4


                5           y = --x;                      4               4


Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande                      15
Operadores Unários Mais e Menos

      Os operadores unários + e – somente indicam se
         o valor é positivo ou negativo, respectivamente.
      Tais operadores não se aplicam a booleanos.
      Podem ser aplicados a expressões e a variáveis
         do tipo char.
      Exemplos:
            char c = 10;
            int i = -c;
            int j = - (i + 6);

Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande   16
Operadores Unários Mais e Menos

      Os operadores unários + e – promovem a
            expressão para int.
      Sendo assim, o trecho de código abaixo
            apresentaria um erro na linha 3:
           1. byte b1 = 1;
           2. byte b2 = 127;
           3. byte b3 = -b1; //erro: o operador – promoveu a
                             //expressão para int


Fundamentos do Java      ©2012 Ludimila Monjardim Casagrande   17
Operador de Negação

      O operador unário ! causa a negação de uma
         expressão booleana.
      Sendo assim, só se aplica a variáveis e
         expressões booleanas.
      Exemplo:
           boolean a, b, c;
           a = true;                                        Resultado:
                                                            c = true
           b = !a;
           c = !(a && b);

Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande        18
Operadores Aritméticos

      Os operadores aritméticos habituais: +, -, * e /,
         são usados para adição, subtração,
         multiplicação e divisão, respectivamente.

      O operador / denota divisão inteira, se os dois
         argumentos forem inteiros, e divisão de ponto
         flutuante, caso contrário.

      Existe ainda o operador % usado para se obter
         o resto da divisão inteira entre dois números.

Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande   19
Operadores Aritméticos

      Os operadores aritméticos aplicam-se a todos
         os tipos primitivos numéricos e ao tipo char.
      A divisão inteira por zero (incluindo a operação
         de módulo) gera uma ArithmeticException.
      Divisões por zero incluindo tipos ponto-flutuante
         não geram exceções.
      O uso dos operadores aritméticos promovem a
         expressão para, no mínimo, int.

Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande   20
Operadores de Comparação

      Os operadores de igualdade e desigualdade em
         Java são, respectivamente, == e !=.

      Exemplos:
            (3 == 4) resulta em false
            (3 != 4) resulta em true

      Observe que esses operadores também podem
         ser aplicados a operandos booleanos.

Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande   21
Operadores de Comparação

      Os outros operadores de comparação são:
            >        maior que
            >=       maior ou igual que
            <        menor que
            <=       menor ou igual que
      Observe que não faz sentido aplicar tais
         operadores a operandos booleanos.
      O resultado de uma comparação em Java é
         sempre um valor booleano.
Fundamentos do Java         ©2012 Ludimila Monjardim Casagrande   22
Operadores Lógicos

      Os operadores lógicos em Java são:
            &&       e lógico
            ||       ou lógico

      Esses operadores são aplicáveis somente a
         operandos ou expressões booleanas e o
         resultado também é sempre booleano.




Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande   23
Operadores Lógicos

      Com o uso dos operadores && e I I é possível
         obter o resultado sem que a expressão
         completa tenha sido avaliada, isto é, fazendo
         somente uma avaliação parcial.
      Exemplo:
           (a && b)
         Se a for avaliado como falso, então b não precisa e
         não será avaliado, pois se a é falso já é possível
         afirmar que a && b é falso.


Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande    24
Operador Condicional

      Existe um operador condicional em Java que
         sintetiza a função do comando if/else.
      Esse operador é ? :, que é considerado um
         operador ternário por necessitar de três operandos.
      Exemplo:
            a ? b : c;
                 o primeiro operando, no caso a, deve ser um valor
                  ou expressão booleana
                 se a for verdadeiro, o resultado será b
                 caso contrário, o resultado será c

Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande      25
Operador Condicional

      Exemplo:
           if (Character.isUpperCase(aChar)) {
               System.out.println(“O caractere " + aChar + " é upper case.");
           } else {
               System.out.println(" O caractere " + aChar + " é lower case.");
           }


           Usando o operador condicional o código ficaria assim:
           System.out.println(" O caractere " + aChar + " é " +
             (Character.isUpperCase(aChar) ? "upper" : "lower") + "case.");



Fundamentos do Java             ©2012 Ludimila Monjardim Casagrande              26
Precedência de Operadores em Java

      Ordem descendente de precedência:
                           Categoria                         Operador

                      Unários                    ++ -- + - !
                                                 * / %
                      Aritméticos
                                                 + -
                      Comparação                 < <= > >=
                                                 == !=
                      Lógicos                    && | |

                      Condicional                ?:
                      Atribuição                 =

Fundamentos do Java                 ©2012 Ludimila Monjardim Casagrande   27
Escopo de um Bloco

      O controle de fluxo de aplicações Java é organizado em
         blocos. Um bloco ou conjunto de instruções/comandos em
         Java é delimitado por { e }.
      Uma variável declarada dentro de um bloco é visível somente
         dentro do bloco.
      Exemplo:
           ...
           {
                 int i = 0;
                 i = i + x;
                 ...
           }
           x = i;             // erro, pois i foi declarada dentro do bloco anterior a
                              // essa linha, e não é visível fora do bloco.


Fundamentos do Java                   ©2012 Ludimila Monjardim Casagrande                28
Estrutura Condicional

      A estrutura condicional mais simples em Java é:
              if (condição)
                  instrução;

      Quando for necessário executar um conjunto de
         instruções, dada uma condição, usamos um bloco
         de instruções ou bloco de código.
              if (condição) {
                  instrução 1;
                  instrução 2;
                  ...
                  instrução n;
              }
Fundamentos do Java              ©2012 Ludimila Monjardim Casagrande   29
Estrutura Condicional

      Assim como a maioria das linguagens, Java
         também possui a construção if com o else
         associado.
              if (condição)
                  instrução; //se a condição for verdadeira
              else
                  instrução; //se a condição for falsa

      O else é sempre uma parte opcional neste
         comando.

Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande   30
Estrutura Condicional

      Exemplo:
         double nota;
         nota = 6.0;
         if (nota < 0.0) {
               System.out.println(“Erro: A nota não pode ser negativa.”);
         } else if (nota >= 6.0) {
                System.out.println(“Aluno aprovado.”);
         } else {
               System.out.println(“Aluno reprovado.”);
         }

Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande           31
Estrutura para Seleção Múltipla

      Há casos em que vários                  Sintaxe:
         testes têm que ser feitos                  switch(variável){
         em sequência, e vários                         case 1:
         comandos if podem ser                                   ...
         substituídos pelo comando                               break;
                                                        case 2:
         switch.                                                 ...
      O comando switch também                                   break;
         expressa alternativas de                       ...
                                                        case n:
         execução, mas nesse caso                                ...
         as condições estão restritas                            break;
         à comparação de uma                            default:
         variável inteira com valores                            ...
         constantes.                                }

Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande            32
Estrutura para Seleção Múltipla

      Exemplo:
           int x = 0;
           switch(x){
                case 1:
                      System.out.println(“Obteve um 1.”);
                      break;
                case 2:
                case 3:
                      System.out.println(“Obteve um 2 ou 3.”);
                      break;
                default:
                      System.out.println(“Não obteve 1 nem 2 nem 3.”);
           }
Fundamentos do Java                ©2012 Ludimila Monjardim Casagrande   33
Estrutura para Seleção Múltipla

      O switch faz a avaliação da variável inteira
         procurando por um case que coincida com o seu
         valor. Uma vez encontrado um case, todos os
         demais comandos case serão executados a menos
         que um comando break seja encontrado.

      A cláusula default é opcional e suas instruções são
         executadas caso nenhuma opção de case tenha
         sido executada.

      O comando switch pode ser executado com
         operando do tipo char, byte, short ou int.

Fundamentos do Java      ©2012 Ludimila Monjardim Casagrande   34
Estruturas Iterativas (laços)

      Java possui três comandos iterativos:
            while,

            do-while e

            for




Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande   35
Estruturas Iterativas

      Sintaxe do comando while:
              while (condição)
                instrução;

      Nesse caso, a instrução é executada se e
         enquanto a condição for verdadeira.
            Exemplo:
             int x = 0;
             while (x < 10) {
                System.out.println(x++);
             }
Fundamentos do Java       ©2012 Ludimila Monjardim Casagrande   36
Estruturas Iterativas

      Sintaxe do comando do-while:
           do {
               instrução;
           } while (condição);

      Semelhante ao while, a diferença é que nesse caso
         a instrução sempre será executada pelo menos uma
         vez.
            Exemplo:
             int x = 0;
             do {
               System.out.println(x++);
             } while (x < 10);
Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande   37
Estruturas Iterativas

      Sintaxe básica do comando for:
           for (inicialização; condição; incremento)
               instrução;

      Exemplo:
              for (int i = 0; i < 10; i++){
                      System.out.println(i);
              }



Fundamentos do Java              ©2012 Ludimila Monjardim Casagrande   38
Estruturas Iterativas

      Exemplo:
              for (int i = 0; i < 10; i++){
                 System.out.println(i);
              }
            Observe que a variável i é declarada dentro do
             for, sendo assim essa variável só é acessível
             dentro do bloco definido para o for.
            Uma variável de nome i pode até ser declarada
             depois do for que não haverá problema.


Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande   39
Estruturas Iterativas

      Os comandos continue e break permitem
         expressar a quebra de um fluxo de execução.
      O uso de break já foi utilizado juntamente com
         switch para delimitar bloco de comandos de
         cada case.
      No corpo de uma iteração, a ocorrência do
         comando break interrompe a iteração, passando
         o controle para o próximo comando após o
         comando de iteração.

Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande   40
Estruturas Iterativas

      O comando continue também interrompe a
         execução da iteração, mas apenas da iteração
         corrente.
      Como efeito da execução de continue, a
         condição de iteração é reavaliada e, se for
         verdadeira, o comando de iteração continua
         executando.




Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande   41
Estruturas Iterativas

      Exemplo:
              for (int i = 0; i < 10; i++){
                 if( i % 3 == 0) {
                    System.out.println(i + “ é múltiplo de 3”);
                    continue;
                 }
                 System.out.println(i);
              }



Fundamentos do Java         ©2012 Ludimila Monjardim Casagrande   42
Tutoriais do Java

      The Java Tutorials
            Getting Started
                 http://java.sun.com/docs/books/tutorial/getStarted/
            Learning the Java Language
                 http://java.sun.com/docs/books/tutorial/java/




Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande        43
Referências

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

Mais conteúdo relacionado

PDF
POO - 01 - Introdução ao Paradigma Orientado a Objetos
PDF
POO - 06 - Encapsulamento
PDF
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
PDF
Orientação a Objetos em Python
PDF
POO - 10 - Herança
PDF
Curso de Java: Introdução a lambda e Streams
PPTX
Introduction JavaEE
PDF
Chapitre8: Collections et Enumerations En Java
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 06 - Encapsulamento
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
Orientação a Objetos em Python
POO - 10 - Herança
Curso de Java: Introdução a lambda e Streams
Introduction JavaEE
Chapitre8: Collections et Enumerations En Java

Mais procurados (20)

PPTX
Spring & hibernate
PPTX
Linguagem de programação Java 6, 7 e 8
PPTX
Java version 11 - les 9 nouveautes
PDF
Corso Java 1 - BASE
PDF
Polymorphisme
PDF
POO - 18 - Sobrecarga e Sobreposição de Métodos
PDF
Programmation Shell Script
PPTX
Diagramme de cas d_utilisation.pptx
PDF
Chap 6 : classes et interfaces
PDF
Cracking OCA and OCP Java 8 Exams
PDF
Chapitre 6 traitement des exceptions
PDF
POO - 20 - Wrapper Classes
PDF
Chapitre 11: Expression Lambda et Référence de méthode en Java
PPTX
Firebase presentation
PDF
Appalications JEE avec Servlet/JSP
PPTX
HTML & CSS
PDF
Chapitre6: Surcharge des opérateurs
PPTX
Java 11 to 17 : What's new !?
PDF
POO - 19 - Elementos Estáticos
Spring & hibernate
Linguagem de programação Java 6, 7 e 8
Java version 11 - les 9 nouveautes
Corso Java 1 - BASE
Polymorphisme
POO - 18 - Sobrecarga e Sobreposição de Métodos
Programmation Shell Script
Diagramme de cas d_utilisation.pptx
Chap 6 : classes et interfaces
Cracking OCA and OCP Java 8 Exams
Chapitre 6 traitement des exceptions
POO - 20 - Wrapper Classes
Chapitre 11: Expression Lambda et Référence de méthode en Java
Firebase presentation
Appalications JEE avec Servlet/JSP
HTML & CSS
Chapitre6: Surcharge des opérateurs
Java 11 to 17 : What's new !?
POO - 19 - Elementos Estáticos
Anúncio

Destaque (18)

PPT
Introdução ao Java
PPTX
Instruções de iteração e atribuição composta
PDF
Seguranca da Informação -Práticas de segurança
PPT
Desenvolvimento de Software
PDF
Segurança da Informação - Firewall
PDF
Guia Rápido de Referência Java
PPTX
PPT
Operadores Java
PDF
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
PDF
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
PDF
9 Curso de POO en java - variables, constantes y objetos
PPT
Curso Java Basico
PPT
Introdução a programação Orientada a Objeto
PPTX
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
PDF
Aula de Introdução - JAVA
PDF
Linguagem Java - Conceitos e Técnicas
PPT
Conceitos básicos de programação orientada a objetos
PPTX
Programação orientada a objetos
Introdução ao Java
Instruções de iteração e atribuição composta
Seguranca da Informação -Práticas de segurança
Desenvolvimento de Software
Segurança da Informação - Firewall
Guia Rápido de Referência Java
Operadores Java
[Curso Java Básico] Aula 13: Operadores (Aritiméticos, Lógicos e Relacionais)
Curso Java Básico Aula 01: Introdução e Dicas para quem está Começando
9 Curso de POO en java - variables, constantes y objetos
Curso Java Basico
Introdução a programação Orientada a Objeto
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Aula de Introdução - JAVA
Linguagem Java - Conceitos e Técnicas
Conceitos básicos de programação orientada a objetos
Programação orientada a objetos
Anúncio

Semelhante a POO - 07 - Operadores do Java (20)

PDF
Tipos, literais, operadoes e controle de fluxo
PDF
Tipos, literais, operadoes e controle de fluxo
PPT
Java - Aula 08
PPTX
JAVA - Introdução
PDF
Resumo tipo primitivo_java
PDF
AulaJava02_VarOperadoresEstContinuação.pdf
PPTX
Curso Básico de Java - Aula 10
PDF
Aula 03 - Definições da linguagem Java
PPT
Módulo 2 - Conceitos básicos sobre algoritmos.ppt
DOCX
Java para iniciantes
PPTX
Curso de Java Capítulo 2 - Aprendendo Novas Técnicas
PDF
Programação orientada a objetos – III
PPTX
Curso de Java - Antonio Alves - Aula 02
PDF
Curso de java 02
PDF
Universidade do Porto Introdução à linguagem Java
PPTX
Curso Java Básico - Aula 01
PDF
Java 05
PDF
Curso java 04 - ap is e bibliotecas
PPT
ASPECTOS DE FUNDAÇÃO AGROPECUARIA DE COMPUTAÇÃO
Tipos, literais, operadoes e controle de fluxo
Tipos, literais, operadoes e controle de fluxo
Java - Aula 08
JAVA - Introdução
Resumo tipo primitivo_java
AulaJava02_VarOperadoresEstContinuação.pdf
Curso Básico de Java - Aula 10
Aula 03 - Definições da linguagem Java
Módulo 2 - Conceitos básicos sobre algoritmos.ppt
Java para iniciantes
Curso de Java Capítulo 2 - Aprendendo Novas Técnicas
Programação orientada a objetos – III
Curso de Java - Antonio Alves - Aula 02
Curso de java 02
Universidade do Porto Introdução à linguagem Java
Curso Java Básico - Aula 01
Java 05
Curso java 04 - ap is e bibliotecas
ASPECTOS DE FUNDAÇÃO AGROPECUARIA DE COMPUTAÇÃO

Mais de Ludimila Monjardim Casagrande (17)

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 - 17 - Interfaces
PDF
POO - 16 - Polimorfismo
PDF
POO - 15 - Passagem de Argumentos
PDF
POO - 14 - Vetores
PDF
POO - 13 - Arrays em Java
PDF
POO - 12 - A Classe Object
PDF
POO - 11 - Prática de Herança
PDF
POO - 09 - Entradas e Saídas em Java
PDF
POO - 08 - Prática de Encapsulamento
PDF
POO - 05 - Ambiente de Desenvolvimento
PDF
POO - 04 - Variávies em Java
PDF
POO - 24 - Classes Básicas do Java - Datas
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 - 17 - Interfaces
POO - 16 - Polimorfismo
POO - 15 - Passagem de Argumentos
POO - 14 - Vetores
POO - 13 - Arrays em Java
POO - 12 - A Classe Object
POO - 11 - Prática de Herança
POO - 09 - Entradas e Saídas em Java
POO - 08 - Prática de Encapsulamento
POO - 05 - Ambiente de Desenvolvimento
POO - 04 - Variávies em Java
POO - 24 - Classes Básicas do Java - Datas
POO - 03 - Alocação de Memória em Java

Último (12)

PPT
Conceitos básicos de Redes Neurais Artificiais
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PDF
Jira Software projetos completos com scrum
PPTX
Utilizando code blockes por andre backes
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Analise Estatica de Compiladores para criar uma nova LP
Conceitos básicos de Redes Neurais Artificiais
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Processos no SAP Extended Warehouse Management, EWM100 Col26
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Jira Software projetos completos com scrum
Utilizando code blockes por andre backes
Viasol Energia Solar -Soluções para geração e economia de energia
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Tipos de servidor em redes de computador.pptx
Manejo integrado de pragas na cultura do algodão
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Analise Estatica de Compiladores para criar uma nova LP

POO - 07 - Operadores do Java

  • 1. Programação Orientada a Objetos Fundamentos da Linguagem Java Operadores, literais, estruturas de decisão e de controle. Ludimila Monjardim Casagrande 2012
  • 2. Literais  Um literal é um valor definido no código-fonte, ao contrário de um valor definido em tempo de execução.  Literais podem representar strings (arrays de caracteres) ou tipos primitivos.  Literais aparecem do lado direito de uma atribuição ou em chamadas de métodos. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 2
  • 3. Literais  Literais boolean:  Os únicos literais válidos para o tipo boolean são true e false.  Exemplo:  boolean isEmpty = true;  boolean isEmpty = false;  Uso incorreto:  boolean isEmpty = “true”; // erro de compilação Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 3
  • 4. Literais  Literais char:  São representados entre ‘ ’.  Um literal char pode ser qualquer caracter Unicode.  Exemplos:  char c = ‘z’;  char c2 = ‘n’;  char c3 = ‘t’;  char c1 = ‘u0041’; // equivale ao caracter ‘A’  ‘u????’: substituir ???? pelos 4 dígitos hexadecimais correspondentes ao caracter na tabela Unicode. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 4
  • 5. Literais  Literais do tipo String:  String não é um tipo primitivo e sim uma classe.  A classe String pertence à package java.lang.  Literais do tipo String são representados entre “ ”.  Exemplo:  String str = “Olá!”;  Uso incorreto:  String str = ‘Olá!’; // erro de compilação Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 5
  • 6. Literais  Literais inteiros:  Podem ser expressos em decimal, octal e hexadecimal. O default é a base decimal.  O prefixo 0 indica a base octal.  O prefixo 0x ou 0X indica a base hexadecimal.  Exemplos:  int i = 28;  int i = 034;  int i = 0x1C;  int i = 0X1c; Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 6
  • 7. Literais  Literais ponto-flutuante:  Um literal ponto-fluante deve conter casas decimais (ex.: 1.0) ou:  a letra E ou e, indicando notação científica: 4.3E+21  o sufixo F ou f, indicando um literal float: 1.83f  o sufixo D ou d, indicando um literal double: 123d  Um número com casas decimais sem o prefixo f ou d é considerado por default double. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 7
  • 8. Intervalos de Valores dos Primitivos  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 8
  • 9. Considerações sobre Tipos Primitivos public class Primitivos { public static void main(String[ ] args) { byte b = 1; short s = 1; int i1 = 1; int i2 = 2147483647; int i3 = 2147483648; //erro de compilação long l1 = 2147483648; //erro de compilação, inteiro muito longo long l2 = 2147483648l; float f1 = 1.0; //erro de compilação float f2 = 1.0f; double d1 = 1.0; As demais linhas não double d2 = 1.0f; geram erros. } } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 9
  • 10. Operadores da Linguagem Java  Os principais operadores da linguagem Java são os:  Unários  Aritméticos  de Comparação  Lógicos (ou Booleanos)  de Atribuição  Condicionais Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 10
  • 11. Operador de Atribuição  Após uma variável ser declarada, ela pode ser inicializada com diferentes valores. Para isso, usamos o operador de atribuição =.  Exemplos:  int x = 10;  boolean condicao = false;  char c = ‘A’;  long l = 1234L;  float f = 1.23f;  double d = 1.23d; Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 11
  • 12. Operador de Atribuição  A ordem de avaliação dos operandos em uma expressão é sempre da esquerda para a direita.  A ordem de execução da operação de atribuição é sempre da direita para a esquerda.  A avaliação dos operandos sempre antecede a execução das operações.  Sendo assim, qual é o resultado do código abaixo? 1. int[ ] a = {4, 4}; Resultado: 2. int b = 1; a[1] = 0; 3. a[b] = b = 0; então a = {4, 0} Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 12
  • 13. Operadores Unários  Os principais operadores unários do Java são:  Operadores de incremento e decremento: ++ , --  Operadores mais e menos: + , -  Operador de negação: ! Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 13
  • 14. Operadores de Incremento e Decremento  Os operadores para incremento e decremento são, respectivamente, ++ e --.  Tais operadores podem ser usados na forma pós-fixada (x++) ou pré-fixada (++x).  A diferença só existe quando o operador aparece em expressões. A forma pré-fixada faz a adição/subtração primeiro; a pós-fixada avalia o valor antigo, depois incrementa/decrementa a variável. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 14
  • 15. Operadores de Incremento e Decremento Valor inicial de x Expressão Valor final de y Valor final de x 5 y = x++; 5 6 5 y = ++x; 6 6 5 y = x--; 5 4 5 y = --x; 4 4 Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 15
  • 16. Operadores Unários Mais e Menos  Os operadores unários + e – somente indicam se o valor é positivo ou negativo, respectivamente.  Tais operadores não se aplicam a booleanos.  Podem ser aplicados a expressões e a variáveis do tipo char.  Exemplos:  char c = 10;  int i = -c;  int j = - (i + 6); Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 16
  • 17. Operadores Unários Mais e Menos  Os operadores unários + e – promovem a expressão para int.  Sendo assim, o trecho de código abaixo apresentaria um erro na linha 3: 1. byte b1 = 1; 2. byte b2 = 127; 3. byte b3 = -b1; //erro: o operador – promoveu a //expressão para int Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 17
  • 18. Operador de Negação  O operador unário ! causa a negação de uma expressão booleana.  Sendo assim, só se aplica a variáveis e expressões booleanas.  Exemplo: boolean a, b, c; a = true; Resultado: c = true b = !a; c = !(a && b); Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 18
  • 19. Operadores Aritméticos  Os operadores aritméticos habituais: +, -, * e /, são usados para adição, subtração, multiplicação e divisão, respectivamente.  O operador / denota divisão inteira, se os dois argumentos forem inteiros, e divisão de ponto flutuante, caso contrário.  Existe ainda o operador % usado para se obter o resto da divisão inteira entre dois números. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 19
  • 20. Operadores Aritméticos  Os operadores aritméticos aplicam-se a todos os tipos primitivos numéricos e ao tipo char.  A divisão inteira por zero (incluindo a operação de módulo) gera uma ArithmeticException.  Divisões por zero incluindo tipos ponto-flutuante não geram exceções.  O uso dos operadores aritméticos promovem a expressão para, no mínimo, int. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 20
  • 21. Operadores de Comparação  Os operadores de igualdade e desigualdade em Java são, respectivamente, == e !=.  Exemplos:  (3 == 4) resulta em false  (3 != 4) resulta em true  Observe que esses operadores também podem ser aplicados a operandos booleanos. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 21
  • 22. Operadores de Comparação  Os outros operadores de comparação são:  > maior que  >= maior ou igual que  < menor que  <= menor ou igual que  Observe que não faz sentido aplicar tais operadores a operandos booleanos.  O resultado de uma comparação em Java é sempre um valor booleano. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 22
  • 23. Operadores Lógicos  Os operadores lógicos em Java são:  && e lógico  || ou lógico  Esses operadores são aplicáveis somente a operandos ou expressões booleanas e o resultado também é sempre booleano. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 23
  • 24. Operadores Lógicos  Com o uso dos operadores && e I I é possível obter o resultado sem que a expressão completa tenha sido avaliada, isto é, fazendo somente uma avaliação parcial.  Exemplo: (a && b) Se a for avaliado como falso, então b não precisa e não será avaliado, pois se a é falso já é possível afirmar que a && b é falso. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 24
  • 25. Operador Condicional  Existe um operador condicional em Java que sintetiza a função do comando if/else.  Esse operador é ? :, que é considerado um operador ternário por necessitar de três operandos.  Exemplo:  a ? b : c;  o primeiro operando, no caso a, deve ser um valor ou expressão booleana  se a for verdadeiro, o resultado será b  caso contrário, o resultado será c Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 25
  • 26. Operador Condicional  Exemplo: if (Character.isUpperCase(aChar)) { System.out.println(“O caractere " + aChar + " é upper case."); } else { System.out.println(" O caractere " + aChar + " é lower case."); } Usando o operador condicional o código ficaria assim: System.out.println(" O caractere " + aChar + " é " + (Character.isUpperCase(aChar) ? "upper" : "lower") + "case."); Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 26
  • 27. Precedência de Operadores em Java  Ordem descendente de precedência: Categoria Operador Unários ++ -- + - ! * / % Aritméticos + - Comparação < <= > >= == != Lógicos && | | Condicional ?: Atribuição = Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 27
  • 28. Escopo de um Bloco  O controle de fluxo de aplicações Java é organizado em blocos. Um bloco ou conjunto de instruções/comandos em Java é delimitado por { e }.  Uma variável declarada dentro de um bloco é visível somente dentro do bloco.  Exemplo: ... { int i = 0; i = i + x; ... } x = i; // erro, pois i foi declarada dentro do bloco anterior a // essa linha, e não é visível fora do bloco. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 28
  • 29. Estrutura Condicional  A estrutura condicional mais simples em Java é: if (condição) instrução;  Quando for necessário executar um conjunto de instruções, dada uma condição, usamos um bloco de instruções ou bloco de código. if (condição) { instrução 1; instrução 2; ... instrução n; } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 29
  • 30. Estrutura Condicional  Assim como a maioria das linguagens, Java também possui a construção if com o else associado. if (condição) instrução; //se a condição for verdadeira else instrução; //se a condição for falsa  O else é sempre uma parte opcional neste comando. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 30
  • 31. Estrutura Condicional  Exemplo: double nota; nota = 6.0; if (nota < 0.0) { System.out.println(“Erro: A nota não pode ser negativa.”); } else if (nota >= 6.0) { System.out.println(“Aluno aprovado.”); } else { System.out.println(“Aluno reprovado.”); } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 31
  • 32. Estrutura para Seleção Múltipla  Há casos em que vários  Sintaxe: testes têm que ser feitos switch(variável){ em sequência, e vários case 1: comandos if podem ser ... substituídos pelo comando break; case 2: switch. ...  O comando switch também break; expressa alternativas de ... case n: execução, mas nesse caso ... as condições estão restritas break; à comparação de uma default: variável inteira com valores ... constantes. } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 32
  • 33. Estrutura para Seleção Múltipla  Exemplo: int x = 0; switch(x){ case 1: System.out.println(“Obteve um 1.”); break; case 2: case 3: System.out.println(“Obteve um 2 ou 3.”); break; default: System.out.println(“Não obteve 1 nem 2 nem 3.”); } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 33
  • 34. Estrutura para Seleção Múltipla  O switch faz a avaliação da variável inteira procurando por um case que coincida com o seu valor. Uma vez encontrado um case, todos os demais comandos case serão executados a menos que um comando break seja encontrado.  A cláusula default é opcional e suas instruções são executadas caso nenhuma opção de case tenha sido executada.  O comando switch pode ser executado com operando do tipo char, byte, short ou int. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 34
  • 35. Estruturas Iterativas (laços)  Java possui três comandos iterativos:  while,  do-while e  for Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 35
  • 36. Estruturas Iterativas  Sintaxe do comando while: while (condição) instrução;  Nesse caso, a instrução é executada se e enquanto a condição for verdadeira.  Exemplo: int x = 0; while (x < 10) { System.out.println(x++); } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 36
  • 37. Estruturas Iterativas  Sintaxe do comando do-while: do { instrução; } while (condição);  Semelhante ao while, a diferença é que nesse caso a instrução sempre será executada pelo menos uma vez.  Exemplo: int x = 0; do { System.out.println(x++); } while (x < 10); Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 37
  • 38. Estruturas Iterativas  Sintaxe básica do comando for: for (inicialização; condição; incremento) instrução;  Exemplo: for (int i = 0; i < 10; i++){ System.out.println(i); } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 38
  • 39. Estruturas Iterativas  Exemplo: for (int i = 0; i < 10; i++){ System.out.println(i); }  Observe que a variável i é declarada dentro do for, sendo assim essa variável só é acessível dentro do bloco definido para o for.  Uma variável de nome i pode até ser declarada depois do for que não haverá problema. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 39
  • 40. Estruturas Iterativas  Os comandos continue e break permitem expressar a quebra de um fluxo de execução.  O uso de break já foi utilizado juntamente com switch para delimitar bloco de comandos de cada case.  No corpo de uma iteração, a ocorrência do comando break interrompe a iteração, passando o controle para o próximo comando após o comando de iteração. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 40
  • 41. Estruturas Iterativas  O comando continue também interrompe a execução da iteração, mas apenas da iteração corrente.  Como efeito da execução de continue, a condição de iteração é reavaliada e, se for verdadeira, o comando de iteração continua executando. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 41
  • 42. Estruturas Iterativas  Exemplo: for (int i = 0; i < 10; i++){ if( i % 3 == 0) { System.out.println(i + “ é múltiplo de 3”); continue; } System.out.println(i); } Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 42
  • 43. Tutoriais do Java  The Java Tutorials  Getting Started  http://java.sun.com/docs/books/tutorial/getStarted/  Learning the Java Language  http://java.sun.com/docs/books/tutorial/java/ Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 43
  • 44. Referências  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 44