02 - dados e comandos

4
Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 1 Dados e Comandos em Java Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 2 Identificadores . . . Seqüência de letras (minúsculas maiúsculas), dígitos, _e $que não começa com um dígito. umPonto val x X um_Numero _1 $1 Alguns identificadores são reservados para utilização pela própria linguagem Java. class new public static super while goto . . . As seguintes seqüências não são identificadores em Java . . . 2a x' k.1 n-1 Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 3 Sintaxe (Cont.) Literais . . . Representam valores. 15 -6802 1.51e-12 '@' "um string" 0xff 255 na notação hexadecimal Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 4 Variáveis e Atribuição Variáveis . . . Tipo x, y, z; Atribuição x = e1; Tipo x = e1, y = e2, z = e3; int n = 2, k, p = 0, q;

Upload: nosbor-silva

Post on 11-Jul-2016

215 views

Category:

Documents


0 download

DESCRIPTION

02 - Dados e Comandos

TRANSCRIPT

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 1

Dados e Comandos em Java

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 2

Identificadores . . .

�Seqüência de letras (minúsculas ≠ maiúsculas), dígitos, ‘_’ e ‘$’ que não começa com um dígito.

umPonto val x X um_Numero _1 $1

�Alguns identificadores são reservados para utilização pela própria linguagem Java.

class new public static super while goto . . .

�As seguintes seqüências não são identificadores em Java . . .2a x' k.1 n-1

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 3

Sintaxe (Cont.)

� Literais . . .

�Representam valores.

15 -6802 1.51e-12 '@' "um string" 0xff

255 na notação hexadecimal

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 4

Variáveis e Atribuição

� Variáveis . . .

Tipo x, y, z;

� Atribuição

x = e1;

Tipo x = e1,y = e2,z = e3;

int n = 2, k, p = 0, q;

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 5

Tipos Primitivos . . .

� Inteiros . . .byte (8 bits)short (16 bits)int (32 bits) » É o default para literais de inteiroslong (64 bits)

� Decimais (ponto flutuante) . . .55.63 -2.72 12.01E-32

• double (64 bits, 15 dígitos significativos)» É o default para literais de decimais

• float (32 bits, 7 dígitos significativos)22.5f ou 22.5F 12.01E-32F

� Booleanos (boolean) . . .{true, false}» Booleanos não podem ser utilizados como número.

Objetos com sintaxe e tratamento semântico especial

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 6

� Caracteres (Unicode)

� char (16 bits)'9' 'A' '?' '$'

� Caracteres especiais . . .\" = aspas\' = apóstrofo\\ = backslash\b = backspace\t = tabulação\r = retorno de carro\n = nova linha\uXXXX = XXXX16 onde X é qquer algarismo hexadecimal {0,...,9,A,...,F}

'\u0035' (= '5' ) '\''

0000 0000 0000 0000

0000 0000 xxxx xxxx

8 bits = ASCII

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 7

Strings

� Strings são objetos ordinários (imutáveis) representando seqüências de caracteres.

� java.lang.String

� Exemplo

"\n\nUma sequencia de caracteres de \"16 bits\"."

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 8

Operadores aritméticos

� 2 * raio

� -8.8 / 2-- divisão decimal (pelo menos um operando edecimal)

� 5 / 3-- divisão inteira (ambos os operandos sãointeiros)

� 5 % 3-- resto da divisão inteira (operação módulo n)

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 9

Operadores relacionais e lógicos

� x == 2

� 2 != y

� (total >= 3) && !(area < 3.5)

false true

false

true

false false

false true

&& false true

false

true

false true

true true

||

false

true

true

false

!

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 10

(int)-8.8 //= -8

(double)5 / 3 //= 5.0 / 3

"Infor" + "matica" //= "Informatica"

“total = $" + 19.99 //= “total = $19.99"

Outros operadores

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 13

y *= ++p;

int ++x() { x = x + 1; return x;}

int x++() { int aux = x; x = x + 1; return aux;}

x op= exp ⇔⇔⇔⇔ x = x op exp

Um exemplo de açúcar sintático em Java

⇔⇔⇔⇔ y = y * ++p;

⇔⇔⇔⇔ { p = p + 1; y = y * p; }

x = 2;

y = x++;

x

2

3

y

-

2

x = 2;

y = ++x;

x

2

3

y

-

3

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 14

� Condicional

1.["Digite um inteiro: "];2.int n = ?int;3.boolean par = n % 2 == 0;4.["\n" + n + " eh "];5.6.if (par) ["par."];7.else ["impar."];

if ( Condição ){dec1; dec2; ... ; deck;}

else{dec1; dec2; ... ; deck;}

if ( Condição ){dec1; dec2; ... ; deck;}

...Digite um inteiro: 5

5 eh impar....

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 15

� Iteração

while ( Condição ){dec1; dec2; ... ; deck;}

do{dec1; dec2; ... ; deck;}

while ( Condição )

1.["Digite um natural: "];2.int n = ?int;3.int x = 0,4. fat = 1; //Invariante: fat = x!5.6.while (x < n) {7. x = x + 1;8. fat = fat * x; //Invariante: fat = x!9.}10.11.["\n" + n + "! = " + fat];

...Digite um natural: 5

5! = 120...

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 16

� Iteração

for(Inicialização; Condição; Incremento) {dec1; dec2; ... ; deck;

}

1.["Digite um natural: "];2.int n = ?int;3.int fat = 1;5.4.for(int i = 1; i <= n; i++) fat *= i;6.7.["\n" + n + "! = " + fat];

...Digite um natural: 5

5! = 120...

Prof. Rosvelter J. Coelho da Costa – Copyright 1999-2004 17

� Recursão

f(x) {dec1; ... ; f(e); ... ; deck;}

1.["Digite um natural: "];2.int n = ?int;3.int fat = fat(n);4.5.["\n" + n + "! = " + fat];

...Digite um natural: 5

5! = 120...

int fat(int x) {if (x == 0) return 1;return x * fat(x-1);

}