• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Semana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
 

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

on

  • 1,935 views

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, ...

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.

Statistics

Views

Total Views
1,935
Views on SlideShare
1,907
Embed Views
28

Actions

Likes
1
Downloads
74
Comments
0

2 Embeds 28

http://www.jornaljava.com 27
http://www.plaxo.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • Aula 5 Manipulação de caracteres Relação entre os tipos char e int Tipos de valor vs. tipos de referência
    • 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
    • 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
    • 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!
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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?
    • 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?
    • 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.
    • 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
    • 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
    • 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