Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência

1,941 views

Published on

Apresentação da semana 5 da unidade curricular de Introdução à Programação do DCTI do ISCTE-IUL. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI, incluindo Luís Nunes e André Santos.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,941
On SlideShare
0
From Embeds
0
Number of Embeds
31
Actions
Shares
0
Downloads
79
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência

  1. 1. Aula 5 Manipulação de caracteres Relação entre os tipos char e int Tipos de valor vs. tipos de referência
  2. 2. Da aula anterior… Atribuições especiais Matrizes em Java Tipos de ciclos (ciclo for) Classes pacote 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 2
  3. 3. Tipo primitivo char Cada variável char guarda um caractere Valores literais entre plicas Exemplo char letter = 'k'; 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 3 letter letter : char ou k k
  4. 4. Caracteres: códigos Cada caractere tem código único Códigos de letras latinas Consecutivos Ordem alfabética Minúsculas e maiúsculas separadas 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 4 Sem marcas diacríticas!
  5. 5. 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; 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 5 original b code 98 recovered b
  6. 6. Caracteres: operadores aritméticos char letter1 = 'c'; letter1++; char letter2 = 'b'; letter2--; intdifference = letter1 – letter2; 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 6 letter1 letter1 c d letter2 letter2 b a difference 3 100 - 97
  7. 7. 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 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 7
  8. 8. Exemplo: matriz com minúsculas por ordem alfabética final intnumberOfLetters = 'z' – 'a' + 1; // 26 final char[] letters = new char[numberOfLetters]; for(inti = 0; i != letters.length; i++) letters[i] = (char) ('a' + i); 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 8
  9. 9. 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 (matrizes, classes) int[] a = {1, 2, 3}; int[] b = a; int[] c; 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 9 a a 7 Variáveis que guardam valores. b b 7 1 2 3 c c 0 1 2 Excepto no caso de variáveis locais. Variáveis locais têm sempre de ser inicializadas explicitamente. Excepto no caso de variáveis locais. Variáveis locais têm sempre de ser inicializadas explicitamente. 0 null
  10. 10. Invocação: passagem por valor publicstaticvoidincrement(intvalue) { value++; } … main(…) { intnumber = 3; increment(number); out.println(number); } 19-10-2010 Introdução à Programação 10 value = number number value value 3 3 4 Que aparece?
  11. 11. Invocação: passagem por valor de uma referência publicstaticvoidincrementFirstOf(final int[] values) { values[0]++; } … main(…) { int[] numbers = {1, 2, 3, 4}; incrementFirstOf(numbers); out.println(numbers[0]); } 19-10-2010 Introdução à Programação 11 values = numbers numbers values 0 1 2 3 2 1 0 4 3 Que aparece?
  12. 12. Problema: Cifra de César 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 12 a b c x y z … a b c d e z … Cifra com deslocação de 2. a t a c a r c v c e c t cifra Saiba mais na Wikipédia.
  13. 13. A reter Manipulação de caracteres Relação entre os tipos char e int Tipos de valor vs. tipos de referência 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 13
  14. 14. A ler... Capítulos 1 a 4 do livro: Y. Daniel Liang, Introduction to Java Programming, 8.ª edição, Prentice-Hall, 2010. ISBN: 978-0-13-213080-6 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 14
  15. 15. Sumário Manipulação de caracteres Relação entre os tipos char e int Tipos de valor vs. tipos de referência 2010/2011 Introdução à Programação - DCTI - ISCTE-IUL 15

×