Programação de computador - cordas
Durante nossa discussão sobre characters, aprendemos que o tipo de dados de caractere lida com um único caractere e você pode atribuir qualquer caractere do teclado a uma variável de tipo de caractere.
Agora, vamos avançar um pouco e considerar uma situação em que precisamos armazenar mais de um caractere em uma variável. Vimos que a programação C não permite armazenar mais de um caractere em uma variável de tipo de caractere. Portanto, as seguintes instruções são inválidas na programação C e produzem erros de sintaxe -
char ch1 = 'ab';
char ch2 = '10';
Também vimos como usar o conceito de arrayspara armazenar mais de um valor de tipo de dados semelhante em uma variável. Aqui está a sintaxe para armazenar e imprimir cinco números em uma matriz do tipo int -
#include <stdio.h>
main() {
int number[5] = {10, 20, 30, 40, 50};
int i = 0;
while( i < 5 ) {
printf("number[%d] = %d\n", i, number[i] );
i = i + 1;
}
}
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
number[0] = 10
number[1] = 20
number[2] = 30
number[3] = 40
number[4] = 50
Agora, vamos definir uma matriz de cinco caracteres da mesma forma que fizemos para os números e tentar imprimi-los -
#include <stdio.h>
main() {
char ch[5] = {'H', 'e', 'l', 'l', 'o'};
int i = 0;
while( i < 5 ) {
printf("ch[%d] = %c\n", i, ch[i] );
i = i + 1;
}
}
Aqui, usamos% c para imprimir o valor do caractere. Quando o código acima é compilado e executado, ele produz o seguinte resultado -
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o
Se você concluiu o exemplo acima, acho que entendeu como as strings funcionam na programação C, porque strings in C are represented as arrays of characters. A programação em C simplificou a atribuição e impressão de strings. Vamos verificar o mesmo exemplo mais uma vez com uma sintaxe simplificada -
#include <stdio.h>
main() {
char ch[5] = "Hello";
int i = 0;
/* Print as a complete string */
printf("String = %s\n", ch);
/* Print character by character */
while( i < 5 ) {
printf("ch[%d] = %c\n", i, ch[i] );
i = i + 1;
}
}
Aqui, usamos% s para imprimir o valor da string completa usando o nome do array ch, que é na verdade o início do endereço de memória que contém ch variável conforme mostrado abaixo -
Embora não seja visível nos exemplos acima, um programa C atribui internamente um caractere nulo '\0'como o último caractere de cada string. Indica o fim da string e significa que se você deseja armazenar uma string de 5 caracteres em uma matriz, deve definir um tamanho de matriz 6 como uma boa prática, embora C não reclame disso.
Se o código acima for compilado e executado, ele produzirá o seguinte resultado -
String = Hello
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o
Conceitos básicos de string
Com base na discussão acima, podemos concluir os seguintes pontos importantes sobre strings na linguagem de programação C -
Strings em C são representadas como matrizes de caracteres.
Podemos constituir uma string na programação C atribuindo caractere por caractere em um array de caracteres.
Podemos constituir uma string na programação C atribuindo uma string completa entre aspas.
Podemos imprimir uma string caractere por caractere usando um subscrito de array ou uma string completa usando um nome de array sem subscrito.
O último caractere de cada string é um caractere nulo, ou seja, ‘\0’.
A maioria das linguagens de programação fornecem funções integradas para manipular strings, ou seja, você pode concatenar strings, pode pesquisar em uma string, pode extrair sub-strings de uma string, etc. Para mais informações, você pode verificar nosso tutorial detalhado sobre Programação C ou qualquer outra linguagem de programação.
Strings em Java
Embora você possa usar matrizes de caracteres para armazenar strings, Java é uma linguagem de programação avançada e seus designers tentaram fornecer funcionalidade adicional. Java fornece strings como um tipo de dados integrado como qualquer outro tipo de dados. Isso significa que você pode definir strings diretamente em vez de defini-los como uma matriz de caracteres.
A seguir está o programa equivalente escrito em Java. Java faz uso donew operador para criar variáveis de string conforme mostrado no programa a seguir.
Você pode tentar executar o seguinte programa para ver a saída -
public class DemoJava {
public static void main(String []args) {
String str = new String("Hello");
System.out.println( "String = " + str );
}
}
Quando o programa acima é executado, ele produz o seguinte resultado -
String = Hello
Strings em Python
Criar strings em Python é tão simples quanto atribuir uma string em uma variável Python usando aspas simples ou duplas.
A seguir está um programa simples que cria duas strings e as imprime usando a função print () -
var1 = 'Hello World!'
var2 = "Python Programming"
print "var1 = ", var1
print "var2 = ", var2
Quando o programa acima é executado, ele produz o seguinte resultado -
var1 = Hello World!
var2 = Python Programming
Python não suporta tipo de caractere; estes são tratados como strings de comprimento um, portanto, também considerados substring.
Para acessar substrings, use os colchetes para fatiar junto com o índice ou índices para obter sua substring. Dê uma olhada no seguinte segmento de código -
var1 = 'Hello World!'
var2 = "Python Programming"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
Quando o código acima é executado, ele produz o seguinte resultado -
var1[0]: H
var2[1:5]: ytho