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 of 14
1
2
3
4
5
6
7
8
9
10
11
12
13
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�...
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ão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Size: 213.69 KB
Language: pt
Added: Feb 14, 2014
Slides: 14 pages
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