< Return to Video

Cadeias de caracteres (strings)

  • 0:00 - 0:05
    Esta vai ser uma sessão muito curta. Só quero acrescentar um teste adicional
  • 0:05 - 0:10
    que calha funcionar muito bem com os dados dos nomes dos bebés.
  • 0:10 - 0:15
    Esta vai ser uma alternativa ao igual igual (==) que utilizámos anteriormente
  • 0:15 - 0:21
    nos dados dos nomes dos bebés. Agora quero mostrar-vos duas funções que se chamam
  • 0:21 - 0:26
    startsWith (começaCom) e endsWith() (terminaCom). Elas funcionam com strings (cadeias de caracteres). Para explicar
  • 0:26 - 0:31
    vamos dar uma olhada ao código. Tudo isto já vimos antes...
  • 0:31 - 0:34
    abri a tabela, tenho o ciclo, tenho a funcão que olha para cada linha...
  • 0:34 - 0:39
    portanto vamos olhar para o teste (condição) que temos aqui. A primeira parte
  • 0:39 - 0:43
    do teste é igual ao que já vimos antes. Eu digo row.getField("name")
  • 0:43 - 0:47
    para ir buscar o campo 'nome' à linha actual. Anteriormente fizemos
  • 0:47 - 0:51
    examples como: é igual a 'Abby' ou 'Robert' ou o que quer que seja com os iguais (==).
  • 0:51 - 0:55
    A forma como estas funções pode parecer um pouco estranha.
  • 0:55 - 0:59
    Tem um ponto (.) e a seguir escrevemos o nome da função, do lado direito do que queremos comparar.
  • 0:59 - 1:04
    Portanto, pego no nome e imediatamente escrevo um ponto (.) seguido de startsWith (começaCom).
  • 1:04 - 1:09
    Em seguida, dentro dos parentesis podemos pôr qualquer texto.
  • 1:09 - 1:14
    Aqui eu digo 'Ab'. Portanto este teste verifica: será que o nome começa com as letras 'Ab'?
  • 1:14 - 1:19
    E se começar, então a condição é verdadeira. Se não começar, é falsa.
  • 1:19 - 1:23
    É como se lêssemos: o nome começa com 'Ab'?
  • 1:23 - 1:29
    Vamos experimentar! Se eu executar o código, podemos ver que ele percorreu as 2000 linhas
  • 1:29 - 1:34
    e escolheu apenas aquelas que começam com 'Ab'. O teste deu
  • 1:34 - 1:41
    verdadeiro para todas estas. Portanto, o que eu escrever aqui... vamos ter linhas onde o nome
  • 1:41 - 1:47
    começa com isso. Ou seja, podemos testar outros valores
  • 1:47 - 1:54
    vamos experimentar com 'Da'. Não há muitos... Podemos experimentar apenas com um 'A' maiúsculo.
  • 1:54 - 2:00
    Só uma letra. Vamos ter muitos resultados. Muitos nomes começam com a letra 'A'.
  • 2:00 - 2:08
    Se testarmos com um 'a' minúsculo, e executarmos. Não temos resultados nenhuns. O que se passa
  • 2:08 - 2:12
    é que para o computador o 'A' maiusculo e o 'a' minusculo são duas letras diferentes.
  • 2:12 - 2:17
    E os nomes nestes dados que temos começam todos com letra maiúscula
  • 2:17 - 2:22
    e as letras seguintes são minusculas. Ou seja, começar com um 'A' minusculo
  • 2:22 - 2:27
    não dá resultados nenhuns, ao contrário do 'A' maiusculo
  • 2:27 - 2:32
    onde obtemos todos os nomes que começam por 'A'.
  • 2:32 - 2:37
    Podem ver aqui, apenas a primeira letra é maiuscula.
  • 2:37 - 2:45
    Temos de ter isso em atenção no teste. Vamos agora experimentar com um 'Z'.
  • 2:45 - 2:54
    Ele encontra nomes que começam com 'Z', e temos todos estes resultados.
  • 2:54 - 3:02
    Ou podemos diminuir o número de resultados e procurar por 'Za'. Ou restringir ainda mais
  • 3:02 - 3:08
    e procurar aqueles que começam com 'Zai'.
  • 3:08 - 3:12
    Se tentarmos com 'Zaix', voltamos a não encontrar nenhum nome.
  • 3:12 - 3:17
    Assim, é perfeitamente possível fazermos um teste que devolve falso para todas as 2000 linhas.
  • 3:17 - 3:21
    E consequentemente não imprime nada no ecrã. Se reduzir a string para 'Zai' voltamos a ver esses.
  • 3:21 - 3:26
    Esta é a função startsWith (começaCom). Para estes primeiros exemplos vamos utilizá-la
  • 3:26 - 3:31
    sempre desta forma. Vamos à linha do bebé, obtemos o nome dessa linha,
  • 3:31 - 3:35
    e dizemos logo: .startsWith() para comparar o início do nome.
  • 3:35 - 3:41
    Como podem adivinhar, também temos uma função .endsWith (terminaCom), que vai comparar o final do do nome.
  • 3:41 - 3:47
    Se eu disser: termina com um 'z' minusculo e testar...
  • 3:47 - 3:52
    não temos muitos resultados, apenas 3 nomes terminam com um 'z'.
  • 3:52 - 3:58
    Podemos testar com outra letra ou até várias letras...
  • 3:58 - 4:04
    Vou dizer por exemplo, termina com 'ly'... Ou termina com 'la'...
  • 4:04 - 4:09
    Se executar, podemos ver que temos mais resultados.
  • 4:09 - 4:14
    Por acaso estes são todos nomes de raparigas, mas isso é apenas um padrão cultural
  • 4:14 - 4:19
    nos nomes ingleses: se termina em 'la' é provavelmente um nome de rapariga.
  • 4:19 - 4:23
    Estas são apenas mais duas funções.
  • 4:23 - 4:28
    E iremos usá-las para comparar os nomes nos dados que temos dos bebés.
  • 4:28 - 4:33
    Mas também nos vão permitir fazer alguns problemas mais interessantes.
Title:
Cadeias de caracteres (strings)
Description:

cadeias de caracteres: funções para comparar o início e o final das cadeias.

more » « less
Video Language:
English
pelf edited Portuguese subtitles for Strings (4 mins)
pelf edited Portuguese subtitles for Strings (4 mins)
pelf added a translation

Portuguese subtitles

Revisions