Já percebeu que ao declarar uma variável no C#/Java do tipo String você usa a palavra "String" com o 'S' maiúsculo, diferente de todos os outros tipos?
Isso acontece por que o tipo String é um objeto¹, diferente de int,float,char que são tipos PRIMITIVOS. Como String é uma classe ela deve seguir o padrão de nomeação e iniciar seu nome com letra maiúscula.
Ok, e qual a ligação com vetores?
Para responder isso vamos voltar um pouco e pensar em português/cotidiano. Existe um tipo primitivo de variável que nos acompanha a cada leitura, a letra(char), uma letra sozinha tem pouco ou nenhum sentido. Logo precisamos aglomerar-las em um certo lugar e ordena-las de uma forma que possam ser lidas e delas obtidas alguma informação. Essa sequencia se chama palavra(String) e se você reler a aula anterior perceberá que as palavras cabem exatamente na definição de vetores.
- São uma série de elementos do mesmo tipo.
- Sabemos que elas tem uma ordem:
Posição 0 Posição 1 Posição 2 Posição 3 Posição 4 C a s a \0
Entender este conceito em Java pode ser um pouco complicado, por isso vamos migrar para o C. Em C, não existe objetos e muito menos Strings como são conhecidas em Java/C#.
Para criarmos uma "string" temos que criar um array de char e atribuir valores para cada posição.
Então é para não fazer todo esse trabalho que os criadores de Java decidiram criar um objeto chamado String? Isso e mais alguns outros detalhes, como métodos para trabalhar melhor com Strings, mas isso não será abordado aqui, se tiver interesse leia a documentação.
Ok e qual a vantagem de saber que os Strings "são" um array?Simples, já que strings(palavras) são vetores, podemos trata-los igual tratamos os vetores comuns, usando foreach(em Java/C#, não existe foreach em C) e várias outras coisas que podem ser muito úteis em seu código =).
O código abaixo é valido em C# tanto para palavra sendo um char[] ou uma String.
¹ - Classe é um contrato que a máquina virtual/compilador deve seguir para CRIAR um OBJETO. Por exemplo o objeto Carro é criado apartir de uma classe com o mesmo nome que diz que o Carro tem que ter acelerador,freio e marcha e que deve seguir alguns comandos.
0 comentários:
Postar um comentário