• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Java 03 Tipos Dados Operadores
 

Java 03 Tipos Dados Operadores

on

  • 4,856 views

 

Statistics

Views

Total Views
4,856
Views on SlideShare
4,844
Embed Views
12

Actions

Likes
1
Downloads
95
Comments
2

1 Embed 12

http://www.slideshare.net 12

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Java 03 Tipos Dados Operadores Java 03 Tipos Dados Operadores Presentation Transcript

    • Tipos de Dados e Operadores
        • Regis Pires Magalhães
        • [email_address]
    • Tipos de Dados e Operadores
      • Identificadores
        • O nome de um item no programa escrito em Java
          • Variáveis, métodos, classes e labels.
        • Não podem ser palavras reservadas
        • Devem iniciar com letra, cifrão($) ou sublinhado(_).
        • Por convenção:
          • Nomes de variaveis e métodos iniciam com minúsculas e as palavras subsequentes devem iniciar com maiúsculas.
            • Ex: nome, nomeComposto, etc...
          • Nomes de classes iniciam com maiúsculas e as palavras subsequentes também.
            • Ex: Classe, ClasseComposta, etc...
          • Nomes de constantes são escritos em caixa alta e os nomes compostos separados pelo caracter '_'.
            • Ex: CONSTANTE, OUTRA_CONSTANTE
    • Comentários
      • Comentário de linha (// ...)
      • Comentário de Bloco (/* ... */)
        • ...
        • /* comentário daqui,
        • ate aqui */
        • // declara a idade
        • int idade;
        • idade = 15;
        • // imprime a idade
        • System.out.println(idade);
        • ...
    • Declaração e uso de variáveis
      • Declaração
        • tipoDaVaríavel nomeDaVariável;
        • int idade;
      • Uso
        • idade = 15;
    • Inicialização de variáveis
        • ...
        • //gera uma idade no ano seguinte
        • int idade = 15;
        • int idadeNoAnoQueVem;
        • idadeNoAnoQueVem = idade + 1;
        • ...
    • Operadores Aritméticos
      • +, -, / e *
      • % (módulo)
        • Resto da divisão inteira.
      • ...
      • int quatro = 2 + 2 ;
      • int tres = 5 – 2 ;
      • int oito = 4 * 2 ;
      • int dezesseis = 64 / 4 ;
      • int um = 5 % 2 ; // 5 dividido por 2 dá 2 e tem resto 1;
      • // o operador % pega o resto da divisão inteira
      • ...
    • Tipos de Dados e Operadores
      • Operadores
        • Aritméticos
          • adição ( + ), subtração ( - )
          • multiplicação ( * ), divisão ( / ), resto ( % )
          • incremento ( ++ ), decremento ( -- )
            • a++; a--; ++a; --a
        • Relacionais
          • comparação ( == , != , < , <= , > , >= ) produz boolean
        • Bit-a-bit (tipos inteiros e booleanos)
          • and ( & ), or ( | ), not ( ~ )
          • deslocamento à esquerda ( << ), à direita ( >> )
          • Deslocamento à direita sem sinal ( >>> )
    • Tipos de Dados e Operadores
      • Operadores
        • Teste condicional ( && e || )
          • Operam somente em expressões booleanas
          • Avaliados da esquerda para a direita
          • Implementam a técnica de curto-circuito
          • Exemplo
            • a < b && c > d || e == f
              • Se “a < b” avalia para false, a subexpressão “ && ” é false e a avaliação de “c > d” não é realizada
              • Se ambos, “a < b” e “c > d” avaliam para true, a expressão toda é true e a avaliação de “e == f” não é realizada
    • Tipos de Dados e Operadores
      • Operadores
        • Atribuição ( = )
          • Usado para atribuir um valor a uma variável
          • Pode ser usado em combinação com outros operadores.
          • Se possível, a expressão do lado direito é convertida para o tipo do operando do lado esquerdo.
          • Não faz conversões implícitas que resultam em perda de dados.
            • Tais conversões devem ser feitas via cast (conversão) explícito.
    • Tipos de Dados e Operadores
      • Operadores:
        • Atribuição com operação:
          • Um tipo especial de atribuição é feito juntando-se o operador de atribuição com um dos operadores aritméticos e bit-a-bit.
        • Exemplo:
      a += 1 // a = a + 1 a *= b // a = a * b a |= b // a = a | b ...
    • Tipos de Dados e Operadores
      • Operador ternário(if-else)
        • Operador que usa três argumentos:
          • boolean-exp ? value0 : value1
          • Se boolean-exp avaliar para true, a expressão value0 será o resultado da expressão.
          • Se boolean-exp avaliar para false, a expressão value1 será o resultado da expressão.
        • Exemplo:
    • Tipos Primitivos
      • double
        • Número com ponto flutuante.
        • double d = 3.14;
        • double x = 5 * 10;
      • boolean
        • Verdadeiro ou falso.
        • boolean verdade = true ;
      • char
        • Um e apenas um caractere.
        • Caractere deve estar entre aspas simples.
        • char letra = 'a' ;
        • System.out.println(letra);
    • Tipos primitivos e valores
      • Tipos primitivos guardam o real conteúdo da variável.
      • Ao usar o operador de atribuição =, o valor será copiado.
      • int i = 5; // i recebe uma cópia do valor 5
      • int j = i; // j recebe uma cópia do valor de i
      • i = i + 1; // i vira 6, j continua 5
    • Tipos Primitivos
      • Armazenam valores e não referências.
      • Não necessitam de instanciação.
      • Outros tipos primitivos:
        • byte, short, long e float.
      • O tipo boolean tem 2 valores possíveis: true e false .
        • É um tipo que representa um bit de informação, mas seu tamanho real não está precisamente definido (http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html).
    • Casting e promoção
      • Problema
      • int i ;
      • double d, d2 ;
      • d = 3.1415 ;
      • i = d ; // não compila
      • i = 3.14 ; // não compila
      • d = 5 ; // ok, double pode conter um inteiro
      • i = d ; // não compila
      • // Quando há possibilidade de perda, a conversão
      • // não pode ser feita.
      • i = 5 ; // ok, pois não há perda de dados.
      • d2 = i ; // ok
    • Tipos de Dados e Operadores
      • Conversão de tipos
        • Java converterá um tipo de dados em outro sempre que apropriado.
        • As conversões ocorrerão automaticamente quando houver garantia de não haver perda de informação:
          • Tipos menores em tipos maiores;
          • Tipos de menor precisão em tipos de maior precisão;
          • Inteiros em ponto-flutuante.
        • Exemplo:
    • Tipos de Dados e Operadores
      • Conversão de tipos
        • Algumas vezes, valores literais podem ter tipos ambíguos:
          • Nestes casos o compilador necessita de informações adicionais para determinar o tipo em questão.
    • Tipos de Dados e Operadores char c = 0xffff ; // max char hex value byte b = 0x7f ; // max byte hex value short s = 0x7fff ; // max short hex value int i1 = 0x2f ; // Hexadecimal (lowercase) int i2 = 0X2F ; // Hexadecimal (uppercase) int i3 = 0177 ; // Octal (zeros iniciais) // Hex and Oct também trabalham com long long n1 = 200L ; // long suffix long n2 = 200l ; // long suffix (pode causar confusão) long n3 = 200 ; float f1 = 1 ; float f2 = 1F ; // float suffix float f3 = 1f ; // float suffix float f4 = 1e - 45f ; // potência de 10 float f5 = 1e + 9f ; // float suffix double d1 = 1d ; // double suffix double d2 = 1D ; // double suffix double d3 = 47e47d ; // potência de 10
      • Conversão de tipos
        • Exemplos de literais:
    • Casting
        • É o processo em que um tipo mais abrangente é moldado ( casted ) para outro tipo menos abrangente, podendo haver algum tipo de perda.
        • O cast não é feito automaticamente. O programador precisa defini-lo explicitamente, assumindo os riscos de perda de informação.
        • É feito colocando-se o tipo desejado entre parênteses na frente da expressão.
          • double d3 = 3.14;
          • int i = ( int ) d3;
        • No exemplo acima, d3 foi moldado como um int . O valor de i agora é 3 .
    • Casting
        • De long para int:
          • long x = 10000;
          • int i = x; // Não ok, pois pode perder dados.
        • Com o casting :
          • long x = 10000;
          • int i = ( int ) x;
    • Tipos de Dados e Operadores
      • Promoção
        • Qualquer operação com dois ou mais operadores de tipos diferentes sofrerá promoção, isto é, conversão automática para o tipo mais abrangente
          • O maior ou mais preciso tipo da expressão
          • O tipo int (char, byte ou short)
        • Exemplo
    • Casting
      • float x = 0.0 ; // Não compila
      • float x = 0.0f ; // Ok.
      • // A letra f indica que o literal deve ser
      • // tratado como float.
      • long l = 0.0L ;
      • // A letra L indica que o literal deve ser
      • // tratado como long.
      • double d = 5 ;
      • float f = 3 ;
      • float x = ( float ) d + f ;
      • /* O Java faz as contas e vai armazenando sempre
      • no maior tipo que apareceu durante as operações.
      • No mínimo, o Java armazena um int,para fazer as
      • contas. Boolean não pode ser convertido para outro tipo. */
    • Castings possíveis
    • Tamanhos dos tipos
    • Referências e Recursos
      • Livros
        • Object-Oriented System Development: HTML Edition
          • http://g.oswego.edu/dl/oosdw3/
        • Software Engineering (5th Edition) – Ian Sommerville
        • Object-Oriented Analysis and Design with Applications – Grady Booch
        • Object-Oriented Software Engineering: A Case Driven Approach – Ivar Jacobson
        • Thinking in Java, 3 rd ed. Revision 4.0 – Bruce Eckel
          • http://www.mindview.net/Books/TIJ/
      • Web
        • http://www.argonavis.com.br/cursos/java/j100/index.html