Operadores e Atribuições Capítulo 3

Slides:



Advertisements
Apresentações semelhantes
Pseudo-código: sintaxe
Advertisements

Versão – Prof.: Mauro César Lopes
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE II Prof. Thiago Pereira Rique
Histórico do Java 1990 James Gosling (Sun Microsystems)
Tipos de dados, Variáveis, Expressões e Operadores
Características imperativas de Java zTokens zOperadores zExpressões.
Programação Básica em Java
Tópicos Preliminares na Linguagem C
Disciplina: AAM Profa. Ana Watanabe vol.3
Tipos de dados, valores literais e variáveis
Capítulo 3 Operadores.
Universidade Federal do Espírito Santo Programação II Expressões(operadores) Comandos Básicos Professora: Norminda Luiza.
Paradigmas da Programação
Versão – Prof.: Mauro César Lopes
Versão – Prof.: Mauro César Lopes
Laboratório de Programação de Computadores I
Unidades de Armazenamento
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Linguagem técnica de programação I Java – REVISÃO
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Arrays em Java Revisão Assuntos Aulas Anteriores
Aula 5 - Operadores, Expressões e Funções Matemáticas
PHP Tipos de dados Constantes.
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Qualificadores.
Seminário 1: Revisão de C
PROGRAMAÇÃO I UNIDADE 2.
OPERADORESOPERADORES SCJP – Otimize-TI. Operadores Java Resultado: Maioria das operações é um booleano ou numérico. Não podem ser sobrecarregados (Existem.
Técnico em Informática - Senac
O Portal do Estudante de Computação
Expressões e Instrução de Atribuição
Linguagem de Programação JAVA
Lógica de Programação/ Algoritmos Engenharia Produção 2014
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Linguagem de Programação C#
Tipos de Dados Operadores
Programação Orientada a Objetos - Java
MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br.
Expressões: operadores aritméticos
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Java Básico Instrutor: Davi Pires
Programação Funcional
Programação I Aula 4 (Expressões Booleanas e Expressões de Seleção) Prof. Gilberto Irajá Müller Última atualização 17/3/2009.
JAVA Sintaxe.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
FUNDAMENTOS DE COMPUTAÇÃO
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Introdução à Programação Aula Prática 2 Operadores e Comandos Condicionais Monitoria
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Fundamentos de linguagens de programação
Linguagem C.
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 2 Variáveis e Atribuições.
PROGRAMAÇÃO II – PARTE 3 Profa. Maria Augusta Constante Puget.
Lógica Aplicada em Java X25 Treinamentos e Consultoria Adler Medrado Outubro / 2009 Lógica Aplicada em Java X25 Treinamentos e Consultoria Adler Medrado.
Introdução Sintaxe Básica da Linguagem JAVA
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
SISTEMAS DE NUMERAÇÃO 1. SISTEMAS DE NUMERAÇÃO 2. ARITMÉTICA BINÁRIA
Profa. Maria Augusta Constante Puget
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula /08/2011 Professor Leomir J. Borba-
PARADIGMAS DE LINGUAGENS EXPRESSÕES E INSTRUÇÕES DE ATRIBUIÇÃO
Programação estruturada unidade 2
VARIÁVEIS Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Engenharia de Controle e Automação Computação Para Engenharia Semana /08/2011 Professor Leomir J. Borba- –
C suporta algumas Constantes de caráteres especiais de barra invertida (backslash) que são usados em funções de saída. Constantes de caráteres especiais.
Prof. Tertuliano Operadores Variáveis em C++.
Variáveis, expressões e comandos Dilvan Moreira. Lembrando …  Instalação normal (para utilizar no PC com Windows) 
Transcrição da apresentação:

Operadores e Atribuições Capítulo 3 Certificação Java Operadores e Atribuições Capítulo 3 Cássio Melo

Operadores em Java

Operadores em Java Inversão de bits Não existe && ou || para bits! deslocamento OU - exclusivo Deslocamento sem extensão de sinal

Operadores em Java

Operadores em Java

Operadores de Atribuição em Java Atribuição sobre bits

Operadores Aritméticos Unários e Binários

Operadores Aritméticos Unários Executam operações em um único operando Incrementam, decrementam ou mudam o sinal Ex.: Quando usados em byte, char ou short, são primeiro convertidos em int (Numeric Promotion) O uso de prefix e postfix são diferentes em atribuições X = 10 Y = x++; y = 10

Operadores Aritméticos Binários Executam operações entre um par de operandos Adição ( + ), subtração( - ), multiplicação( * ), divisão( / ) e módulo ( % ) Casos especiais: Operações entre tipos diferentes Divisão por zero Operações com módulo Operações que lançam exceções Operações que resultam em overflow/underflow

Operadores Aritméticos Binários Atenção!!! Cuidado com o operador aritmético + e o operador de concatenação de Strings + Se um dos operandos é um String, os outros são convertidos em String Ex.: “2.4” + 2.6 resulta em uma String “2.42.6” Se o operando é um objeto, o método toString() dele será invocado Operação entre tipos diferentes: Numeric Promotion Regras: Se um operando é um double, os outros são convertidos em double Se um operando é um float, os outros são convertidos em float Se um operando é um long, os outros são convertidos em long Se qualquer outro tipo, ambos são convertidos em int

Operadores Aritméticos Binários Divisão Inteira Se a divisão é entre ints o resultado é um int, com a parte fracionária truncada Ex.: Divisão por zero Entre um int e zero, é lançado um ArithmeticException Entre um double ou float e zero o resultado é POSITIVE_INFINITY ou NEGATIVE_INFINITY Se o “sinal” de zero for negativo, o sinal do resultado é invertido - somente em pontos flutuantes

Operadores Aritméticos Binários Operações com módulo ( % ) Resto da divisão do primeiro operando com o segundo Diferente de C/C++, Java permite operação de módulo entre tipos de ponto flutuante Ex.: Se o primeiro operando é um int e o segundo operando for zero, é lançado um ArithmeticException Se o primeiro operando é um ponto flutuante e o segundo operando for zero, o resultado é um NaN * Lembrando que o sinal do modulo é o mesmo do primeiro operando * A formula correspondente ao % é: x – ((int) (x/y)*y)

Operadores Aritméticos Binários Operações que lançam exceções A única exceção causada durante operações aritméticas é a ArithmeticException Divisão por zero Resto de um número por Zero Exceções nunca são lançadas em operações com ponto flutuante

Operadores Aritméticos Binários Overflow e Underflow Ocorre quando o resultado de uma operação é maior (overflow) ou menor (underflow) que o número de bytes permitidos pelo tipo Java descarta a parte mais significativa dos bits que não cabem no tipo Não haverá questões para calcular se um determinado número causará overflow/underflow ou não!

Operações em Bits

Operações em Bits Operações Aritméticas: Inversão ( ~ ), E ( & ), OU ( | ), OU-exclusivo ( ^ ) Operam bit-a-bit Se os tipos forem diferentes, ocorrerá Numeric Promotion Mostrar o que é bit-a-bit e exemplos

Operações em Bits Operações de Deslocamento (Shift): Deslocamento para esquerda ( << ), deslocamento para a direita aritmético( >> ), deslocamento para a direita lógico ( >>> ) Para tipos diferentes, Numeric promotion A parte deslocada que não couber no tipo é descartada

Operações em Bits Ex.:

Operadores de Comparação

Operadores de Comparação Comparadores Relacionais: Menor-que ( < ), Maior-que ( > ), Menor ou igual que ( <= ), Maior ou igual que ( >= ) Funcionam como na matemática Qualquer operação relacional com um NaN resultará em false Mostrar o que é bit-a-bit e exemplos

Operadores de Comparação Comparadores de Igualdade: Igual ( == ), Diferente ( != ) Funcionam tanto com tipos primitivos quanto com referências de objetos Mais uma vez, Numeric Promotion Mostrar o que é bit-a-bit e exemplos

Operadores de Comparação O operador == Compara referências de objetos! Neste caso, s1 = “abcd” e s2 = “abcd”, mas s1 != s2 !! Qual o resultado do código a seguir?

Operador instanceof Determina se a referência para um objeto (operador da esquerda) é instância de uma classe, interface ou tipo de array especificado pelo operador da direita Não pode ser usado com tipos primitivos Retorna false se o segundo operando eh null

Operador instanceof Qual o resultado do código a seguir? Apenas o ultimo eh false

Operadores Lógicos

Operadores Lógicos Operadores booleanos ! (NÃO), & (E), | (OU), ^ (OU-exclusivo) Operadores “curtos”: && (E), || (OU) Se primeiro operando do || for true, não valida o segundo operando Se primeiro operando do && for false, não valida o segundo operando

Operadores de Atribuição

Operadores de Atribuição Todos os operadores com exceção do += e do = são usados em tipos primitivos Operadores de atribuição são right-associative, todos os outros são left-associative

Operadores de Atribuição Qual dos dois códigos gera erro de compilação? Por que? O erro está na classe Cast2 !! Como há Numeric promotion, precisamos de um cast! Corresponde a: b = (byte) (b + 3)

O Operador Cast (tipo)

O Operador Cast (tipo) Usado para mudar um tipo numérico pra outro ou mudar a referência de um objeto para um tipo compatível Widening conversion e Narrowing conversion

O Operador Cast (tipo)

O Operador Cast (tipo) O seguinte código pode ser executado? Falta Cast (String) !! pois elementAt() retorna um Object e s2 é um String!

O Operador Ternário ? :

O Operador Ternário ? : Expressa uma sentença condicional (também chamado operador condicional)

O Operador Ternário ? : Analise o código a seguir:

Ordem de Precedência e Associatividade em Java

Ordem de Precedência e Ordem de Validação em Java Todos os operadores binários são left-associative, exceto o operador de atribuição ( = ) Os operadores são executados de acordo com a ordem de precedência Parênteses () são usados para alterar a precedência

Ordem de Precedência e Ordem de Validação em Java

Ordem de Precedência e Ordem de Validação em Java Qual o valor de s, no final? A resposta é s = “abc9” Mas essa questão é muito mais difícil do que qualquer outra desse tipo no teste! Então, se você conseguiu entendê-la, você vai conseguir fazer a do teste muito bem! Resp.: abc9

Sumário do Capítulo 3

Exercício para Casa! Resolver todas as questões do capítulo 3, pág. 55 Até a próxima!

Declarações e Controle de Acesso Capítulo 4 Certificação Java Declarações e Controle de Acesso Capítulo 4 Cássio Melo

Declarações e Controle de Acesso Objetivos: Como varíaveis são iniciadas e declaradas