35
Tipos Literais, Operadores e Controle de Fluxo CENTRO UNIVERSITÁRIO DE JOÃO PESSOA COORDENAÇÃO DE SISTEMAS DE INFORMAÇÃO Jefferson Ferreira Barbosa [email protected] João Pessoa 2014

8 - Tipos Literais Operadores e Controle de Fluxo

Embed Size (px)

DESCRIPTION

Tipos Literais Operadores e Controle de Fluxo

Citation preview

  • Tipos Literais, Operadores e Controle de Fluxo

    CENTRO UNIVERSITRIO DE JOO PESSOA COORDENAO DE SISTEMAS DE INFORMAO

    Jefferson Ferreira Barbosa [email protected]

    Joo Pessoa 2014

  • Obje7vos

    Apresentar operadores e controles de uxo em java

    Apresentar os 7pos primi7vos Apresentar as classes Wrappers Apresentar a palavra reservada final Apresentar os operadores aritm7cos

  • Operadores e Controle de Fluxo

    Este mdulo explora as estruturas procedurais da linguagem Java

    Operadores Aritm7cos, lgicos, binrios, booleanos, de deslocamento, de

    concatenao, de converso, ... Converso de 7pos

    Promoo Coero (cast)

    Estruturas de controle de execuo if-else for, while, do-while break, con7nue, rtulos switch (case)

  • Iden7cadores

    Iden7cadores so palavras u7lizadas para nomear variveis, mtodos e classes.

    No se pode u7lizar palavras reservadas, devendo comear com uma letra, $ ou _, podendo contudo u7lizar nmeros como parte do iden7cador. Vlidos: louco intGrande $valor1 Invlidos: 3_variavel !verdade

    Java uma linguagem case-sensi7ve, ou seja, MAISCULAS != minsculas

    Total e total so iden7cadores dis7ntos

  • Palavras reservadas

    Palavras que no podem ser u7lizadas como iden7cadores.

  • Tipos de Dados Java uma linguagem fortemente 7pada. Assim, cada varivel declarada no escopo da aplicao deve ter um 7po denido, seja ele primi7vo ou objeto (referncia). Tipos Primi7vos So unidades indivisveis de dados, que possuem tamanho xo

    Tipos Objetos So estruturas complexas, que representam diversos 7pos de dados

    Algumas classes so u7lizadas para representar 7pos primi7vos sob forma de objeto, estas so denominadas classes Wrappers.

  • Tipos Primi7vos de Dados

    Um 7po primi7vo denido por um conjunto de valores. Exemplo: int = conjunto dos nmeros inteiros

    As palavras reservadas denem oito 7pos primi7vos de dados: byte, short, int, long float, double char boolean

  • Tipos Primi7vos - Inteiros

  • Wrappers - Inteiros

    Alguns mtodos Integer: parseInt(String s) transforma uma string em inteiro toString(int i) transforma um inteiro em string toHexString(int i) transforma um long em hexadecimal

    Alguns mtodos Long: parseLong(String s) transforma uma string em long toString(long l) transforma um long em string toHexString(long l) transforma um long em hexadecimal

  • Tipos Primi7vos - Reais

  • Wrappers - Reais

    Alguns mtodos Float: parseFloat(String s) transforma uma string em oat

    toString(oat f) transforma um oat em String Alguns mtodos Double:

    parseDouble(double d) transforma uma string em double

    toString(double d) transforma um double em String

  • Wrappers - Caracteres

    Em Java, u7liza-se o padro Unicode Conjunto de caracteres de 16 bits = 65536 caracteres so disponveis!

    Atualmente, ele foi expandido para 32bits = 4 bilhes Caracteres Unicode so gravados em arquivos usando um formato chamado UTF-8, UTF-16 ou UTF-32

    possvel inserir caracteres Unicode no cdigo fonte u7lizando-se do formato \uXXX Ex.: \u0057 = W

  • Wrappers - Caracteres

    Um char armazena um caractere do conjunto Unicode.

    O Unicode um conjunto internacional contendo os caracteres de vrias lnguas no mundo.

  • Wrappers - Caracteres

    Alguns mtodos - Character: isLowerCase(char ch) verica se uma letra minscula

    isUpperCase(char ch) verica se uma letra maiscula

    isDigit(char ch) verica se um dgito numrico isLeser(char ch) verica se uma letra isWhiteSpace(char ch) verica se um espao toLowerCase(char ch) transforma para minscula toUpperCase(char ch) transforma para maiscula

  • Tipos Primi7vos - Boolean

    Um valor booleano representa uma condio Verdadeira ou Falsa.

    As palavras reservadas true e false, so os nicos valores vlidos.

  • Tipos Primi7vos - Boolean

    Classe Boolean Duas constantes:

    Boolean.TRUE Boolean.FALSE

    Alguns mtodos: parseBoolean(String s) transforma uma string em booleano

    toString(boolean b) transforma um booleano em string

  • Variveis Uma varivel um iden7cador que representa uma

    posio na memria capaz de armazenar um 7po especco de dado

    As variveis devem ser declaradas antes de serem u7lizadas:

    TipoVariavel nomeVariavel; Variveis podem ser declaradas na mesma linha Variveis podem ser inicializadas no momento da

    declarao int total, count, sum;

    double unitPrice = 57.25;

  • A palavra reservada final

    A palavra final usada para limitar o uso das classes, variveis e mtodos. Impede que implementaes ou valores sejam alterados.

    U7lizada para denir: CONSTANTES Mtodos Classes

  • A palavra reservada final Constantes

    Constantes so especicadas u7lizando-se a palavra reservada nal. public static final double TAXA_JUROS = 0.5;

    Uma constante similar a uma varivel, com exceo de que o seu valor no pode ser alterado.

    Constantes so teis pois: Tornam a leitura do cdigo mais fcil Facilitam mudanas, uma vez que o valor especicado apenas em um nico lugar

    Qualquer varivel declarada como final tem que ser inicializada no momento da declarao

  • A palavra reservada final Mtodos

    Mtodo cujas implementaes no podem ser redenidas nas sub-classes.

    O nal impede que o mtodo seja sobrescrito (overriding) na subclasse

  • A palavra reservada final Classes

    Uma classe tambm pode ser declarada como nal

    public final class MinhaClasse { ... } No possvel estender (herdar de) uma classe nal.

    7l em classes cujo o comportamento be denido e que no faz sen7do modic-las. Ex: c lasses que implementam funes matem7cas.

  • Operadores Um operador produz um novo valor a par7r de um ou

    mais argumentos Os operadores em Java so pra7camente os mesmos

    encontrados em outras linguagens +, -, /, *, =, ==, , >=, &&, etc.

    A maior parte dos operadores s trabalha com valores de 7pos primi7vos

    Excees: + e += so usados na concatenao de strings !=, = e == so usados tambm com objetos (embora no funcionem da mesma forma quanto aos valores armazenados nos objetos

  • Operadores

  • Tabela de precedncia Java

  • Literais de Caracteres Java

  • Operadores A precedncia determina em que ordem as operaes em

    uma expresso sero realizadas Por exemplo, as operaes de mul7plicao so realizadas

    antes de operaes de soma: int x = 2 + 2 * 3 9 / 3; // 2+6-3 = 5

    Parnteses podem ser usados para sobrepor a precedncia int x = (2 + 2) * (3 9) / 3; // 4*(-6)/3 = -8

    A maior parte das expresses de mesma precedncia calculada da esquerda para a direita int y = 13 + 2 + 4 + 6; // (((13 + 2) + 4) + 6)

    H excees. Por exemplo, atribuio.

  • Operadores de atribuio Uma atribuio segue a seguinte sintaxe:

    variable_name = ; A expresso avaliada e o resultado armazenado na varivel, sobrescrevendo o valor existente. = serve apenas para atribuio, em comparaes usase ==.

    Copia o valor da varivel ou constante do lado direito para a varivel do lado esquerdo x = 13; // copia a constante inteira 13 para x y = x; // copia o valor con7do em x para y

  • Operadores aritm7cos + adio - subtrao * mul7plicao / diviso Operadores unrios

    -n e +n (ex.: -23) (em uma expresso: 13+ -12) Melhor usar parnteses: 13 + (-12)

    Atribuio com operao +=, -=, *=, /=, %= x = x + 1; equivale a x += 1;

  • Operadores aritm7cos

  • Operadores aritm7cos Atribuies abreviadas

    x += 4 equivale a x = x + 4, existem ainda -=, *=, /= e %=

    Cuidado: o resultado da diviso depende do 7po dos operandos. Tipo inteiro: o resultado a diviso inteira

    int resultado = 10/4 //igual a 2 Tipo ponto utuante: o resultado a diviso

    normal float resultado = 10f/4f // igual a 2.5

  • Operadores aritm7cos

    Menos unrio e mais unrio Criao de nmeros nega7vos ou posi7vos x = +a * -b; x = a * (-b);

  • Operadores de incremento Exemplo

    int a = 10; int b = 5;

    Incrementa ou decrementa antes de usar a varivel int x = ++a; // a contm 11, x contm 11 int y = --b; // b contm 4, y contm 4 a atribuio foi feita DEPOIS!

    Incrementa ou decrementa depois de usar a varivel int x = a++; // a contm 11, x contm 10 int y = b--; // b contm 4, y contm 5 a atribuio foi feita ANTES!

  • Exerccio

    Crie uma Programa Calculadora que efetue as operaes bsicas de uma calculadora.

    Use a classe Scanner para ler as informaes do teclado.

    Scanner input = new Scanner(System.in);

  • Ajuda