6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos de Programação

MMSequeira 2,637 views 14 slides Feb 14, 2014
Slide 1
Slide 1 of 14
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14

About This Presentation

Fundamentos da Programação 6:
• Manipulação de caracteres
• Relação entre os tipos char e int
• Tipos de valor vs. tipos de referência

Apresentação 6 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre vers�...


Slide Content

Apresentação 6 Manipulação de caracteres Relação entre os tipos char e int Tipos de valor vs. tipos de referência

Da apresentação anterior… Atribuições especiais Arrays em Java Tipos de ciclos: while e do- while for e foreach Classes pacote 2013/2014 Fundamentos de Programação 2

Tipo primitivo char Cada variável char guarda um caractere Valores literais entre plicas Exemplo char letter = 'k'; 2013/2014 Fundamentos de Programação 3 k letter k letter : char ou

Caracteres: códigos Cada caractere tem código único Códigos de letras latinas Consecutivos Ordem alfabética Minúsculas e maiúsculas separadas Caractere Código … … A 65 … … Z 90 … … a 97 … … z 122 … … 2013/2014 Fundamentos de Programação 4 Sem marcas diacríticas!

Conversão entre char e int Caracteres convertíveis para códigos Códigos convertíveis para caracteres Exemplo char original = 'b'; int code = ( int ) original; char recovered = (char) code; 2013/2014 Fundamentos de Programação 5 b original 98 code b recovered

Caracteres: operadores aritméticos char letter1 = 'c'; letter1++; char letter2 = 'b'; letter2--; int difference = letter1 – letter2; 2013/2014 Fundamentos de Programação 6 100 - 97 c letter1 b letter2 3 difference d letter1 a letter2

Caracteres: operadores relacionais Comparam códigos! Exemplos c > 'a' – Caractere em c tem código superior ao de “a” c1 <= c2 – Caractere em c1 tem código não superior ao caractere em c2 2013/2014 Fundamentos de Programação 7

Exemplo: array com minúsculas por ordem alfabética final int numberOfLetters = 'z' – 'a' + 1 ; // 26 final char[] letters = new char[ numberOfLetters ]; for( int i = 0; i != letters.length ; i ++) letters[ i ] = (char) ('a' + i ); 2013/2014 Fundamentos de Programação 8

Variáveis que guardam referências . Atribuição: valor vs. referência Tipos primitivos ( int , boolean , etc.) int a = 7; int b = a; int c; Tipos de referência ( arrays , classes) int [] a = {1, 2, 3}; int [] b = a; int [] c; 2013/2014 Fundamentos de Programação 9 7 a 7 b c Excepto no caso de variáveis locais. Variáveis locais têm sempre de ser inicializadas explicitamente. a b null c Excepto no caso de variáveis locais. Variáveis locais têm sempre de ser inicializadas explicitamente. 1 2 3 1 2 Variáveis que guardam valores .

Invocação: passagem por valor public static void increment ( int value ) { value ++; } … main (…) { int number = 3; increment ( number ); out.println( number ); } 2013/2014 Fundamentos de Programação 10 value = number 3 number 3 value 4 value Que aparece?

Invocação: passagem por valor de uma referência public static void incrementFirstOf (final int [] values ) { values [0]++; } … main (…) { int [] numbers = {1, 2, 3, 4}; incrementFirstOf ( numbers ); out.println( numbers [0]); } 2013/2014 Fundamentos de Programação 11 values = numbers numbers values Que aparece? 2 1 1 2 3 4 3

Problema: Cifra de César 2013/2014 Fundamentos de Programação 12 Saiba mais na Wikipédia. Cifra com deslocação de 2. a b c x y z … a b c d e z … a t a c a r c v c e c t cifra

A reter Manipulação de caracteres Relação entre os tipos char e int Tipos de valor vs. tipos de referência 2013/2014 Fundamentos de Programação 13

Sumário Manipulação de caracteres Relação entre os tipos char e int Tipos de valor vs. tipos de referência 2013/2014 Fundamentos de Programação 14