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

1,599 views

Published on

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.

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

No Downloads
Views
Total views
1,599
On SlideShare
0
From Embeds
0
Number of Embeds
1,047
Actions
Shares
0
Downloads
49
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Divide et impera
  • 6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos de Programação

    1. 1. Manipulação de caracteres Relação entre os tipos char e int Tipos de valor vs. tipos de referência
    2. 2.  Atribuições especiais  Arrays em Java  Instruções de iteração:  while e do-while  for e foreach  Classes-pacote 2013/2014 Fundamentos de Programação 2
    3. 3.  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
    4. 4.  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!
    5. 5.  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
    6. 6. char letter1 = 'c'; letter1++; char letter2 = 'b'; letter2--; final int difference = letter1 - letter2; 2013/2014 Fundamentos de Programação 6 100 - 97 ‘c’ letter1 ‘b’ letter2 3 difference ‘d’ letter1 ‘a’ letter2
    7. 7.  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
    8. 8. 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
    9. 9. 2013/2014 Fundamentos de Programação 9 Saiba mais naWikipé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
    10. 10. Variáveis que guardam referências. Tipos de valor (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 10 7 a 7 b 0 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 0 1 2 Variáveis que guardam valores. Valor especial significando «não referencia nada».
    11. 11. public static void increment(int value) { value++; } … main(…) { int number = 3; increment(number); out.println(number); } 2013/2014 Fundamentos de Programação 11 Que aparece? Pois! Este procedimento está errado!
    12. 12. public static void increment(int value) { value++; } … main(…) { int number = 3; increment(number); out.println(number); } 2013/2014 Fundamentos de Programação 12 value = number 3 number 3 value 4 value Aparece 3!
    13. 13. public static void incrementFirstOf(final int[] values) { values[0]++; } … main(…) { final int[] numbers = {3, 2, 1, 0}; incrementFirstOf(numbers); out.println(numbers[0]); } 2013/2014 Fundamentos de Programação 13 Que aparece?
    14. 14. public static void incrementFirstOf(final int[] values) { values[0]++; } … main(…) { int[] numbers = {3, 2, 1, 0}; incrementFirstOf(numbers); out.println(numbers[0]); } 2013/2014 Fundamentos de Programação 14 values = numbers numbers values Aparece 4! 2 1 0 0 1 2 3 43
    15. 15.  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 15
    16. 16.  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 16

    ×